Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (498)
Games in Android Showcase (115)
games submitted by our members
Games in WIP (562)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 5
1  Discussions / General Discussions / Re: Should I quit programming? on: 2009-04-28 12:17:14
I think the state of modern software assures us that practically no one is good at programming.... or human-computer interaction for that matter. If you look at what's going on in software engineering research for the last thirty years, you'll see one basic message: we're still not really sure how to write programs that meet the requirements, are secure and reliable, are cheap and reusable, and are easy to learn. If you say you feel like you're not good at it, you're just more honest than your average developer Smiley

I'll echo Riven. I make a living teaching computer science concepts, and it really does take years of practice to be good at it. Norvig hits it on the head in the article linked by Darrin above.

When I teach an intro course, there are usually one or two people who have been programming since 7th grade, and they have a good grasp of the fundamentals. Most of the other students have never done anything like it before, but they always tend to compare themselves to the guy with six years of experience instead of the peer with six weeks of experience. In software development, as with any art or craft, there's always someone who knows more than you do (unless maybe if you're Alan Kay). Don't let that get you down; take it as an exciting challenge to see how much more there is to learn, and how there are so many areas for you to contribute during your lifetime!
2  Discussions / Miscellaneous Topics / Re: who taught you on: 2009-02-11 12:59:27
@Riven and erikd

I wish I could have you in class to keep me honest Smiley
3  Game Development / Newbie & Debugging Questions / Re: Tutorial for platformer? on: 2009-01-18 13:08:09
Brackeen's book is pretty good, and it builds up a simple platformer. You might look there for ideas.
4  Discussions / Miscellaneous Topics / Re: I got engaged! on: 2008-12-30 12:47:49
Congratulations! Enjoy your time together, because it goes fast! I have a five-year anniversary coming up, and it's hard to believe it's been that long.
5  Game Development / Newbie & Debugging Questions / Re: Network Visualization on: 2008-12-08 13:16:29
For what it's worth, I found prefuse to have a very steep learning curve. Once you are inside of it, you can do some amazing stuff, but it's not for the faint of heart, or for someone one a tight timeline. Processing is much easier, but it's a little awkward: it's a programming language that compiles to Java bytecode, but it's also a library that can be called directly from regular Java applications. The procedural design of it does not jive as well with an OO application as prefuse does, due to prefuse's patterns-oriented architecture (which is both its strength and its weakness).

If all you need to do is animate some blobs from A to B and you don't already know OpenGL, my recommendation is Slick. It will essentially require to write your application as a "game", with a main game loop, update/render cycle, etc., but that works well for visualization applications. The Slick website has great tutorials to get you started doing the fundamental things you'll want: loading images, moving them around, mouse interaction, etc.
6  Discussions / General Discussions / Re: Using VM's to test on multiple platforms? on: 2008-11-20 12:30:30
I don't know if this is worth anything or not, but I buy games from developers because of their support of Linux. However, I don't always buy the Linux version, since the rest of my games are sitting on my Windows partition. There's a twisted logic here that keeps me productive in Linux and unproductive in Windows, even as I wish I could never have to reboot. I'll admit it's not 100% rational.
7  Game Development / Newbie & Debugging Questions / Re: My Highschool class is making an MMORPG... on: 2008-07-23 12:29:52
Quick tech question for you Trussell: how hard was the console integration using JME? Is that an integrated feature, or did you "manually" have to build a widget, attach a script interpreter, etc.? I have some colleagues on a project that would love to hear that it's fairly easy Wink

Thanks for posting the YouTube demo
8  Game Development / Newbie & Debugging Questions / Re: My Highschool class is making an MMORPG... on: 2008-07-20 11:40:02
This community consistently tries to help people develop achievable goals. How many of us have felt the disappointment of being unable to meet unrealistic goals we set for ourselves? Unfortunately, it's often hard to know what's realistic from the outset of a project. "To be ignorant of one's ignorance is the malady of the ignorant," and most novice game developers have no idea how complex software creation is.

I won't stop anyone from undertaking any project, but I want them to understand what is reasonable. In my opinion, it is folly to ignore and deride the collected wisdom. If one does not to follow such wisdom, it is his or her own decision to do so.
9  Game Development / Game Play & Game Design / Re: Who uses physical prototyping? on: 2008-07-12 13:18:31
Interface design processes such as Constantine and Lockwood's Usage Centered Design call for a formal round of "physical prototyping" in which interfaces are built out of Post-It notes. This allows for group brainstorming and convenient abstractions. I have used this methodology for designing interfaces with teams and found it very useful.

The physical prototyping advocated by Fullerton (and others) is really a gameplay simulation: take the core of your computer/video game and do it on the tabletop. In essence, it feels like making a board game out of your computer game idea, and using that to determine if your idea is fun. I love board games, and so there's something appealing about this idea to me. However, there are some oddities. For example, to prototype a FPS deathmatch, she recommends using a hex grid, miniatures, and using cards to encode actions. Each player has a hand of cards with actions like "walk 1 space", "run 3 spaces", and "fire rifle". Each turn of the game, the players choose and simultaneously reveal their selected action. In this way, you simulate the continuous gameplay of a shooter in a turn-based board game. You can experiment with different character, class, weapon, and statistic ideas very cheaply and easily. It sounds good on paper (pun intended), but I'd love to hear from anyone who has actually tried this. I only know one team that did try it, and they claim it worked well,... except I think their final computer game wasn't any fun to play!
10  Game Development / Newbie & Debugging Questions / Re: The main idea I didn't get from the Sun tutorial. on: 2008-07-12 13:12:00
One reason to extend JFrame is if you purposefully are exposing that class' methods to clients of your class. For example, you may want to allow clients to setVisible, setDefaultCloseOperation, etc., as well as doSomethingSpecificForYourClass. I'm not saying that extending JFrame is always right, but there's a case where using composition instead of inheritance would just be pedantic. (That is, you could use composition, but then you'd have to rewrite all the JFrame methods you want to expose and have each one delegate to a private JFrame instance. Good golly, that would be an obnoxious typing task.)

For the record, I am something of a composition zealot, but I also believe that working with the API makes more sense than working against it.
11  Game Development / Game Play & Game Design / Who uses physical prototyping? on: 2008-07-10 15:46:00
In Tracy Fullerton's "Game Design Workshop" (http://www.amazon.com/Game-Design-Workshop-Second-Playcentric/dp/0240809742), she extols the virtues of physical prototyping. For those who have never tried it, the main idea is that you can explore a game design idea much more easily with physical artifacts than software artifacts.

I have never tried physical prototyping. Does anyone in this community have any experience or thoughts on it?
12  Game Development / Newbie & Debugging Questions / Re: 3D triangle generation from list of points on: 2008-07-01 11:43:09
Are you sure that such a visualization is the best way to look for spikes? Assuming I understand your problem correctly (which may be a faulty assumption), spikes could occur "behind" your solid object, where a user cannot see them. Mapping the problem into a 2D visualization is probably safer. Alternatively, if you are dealing with a dynamic function whose output could potentially change faster than the visualization or the human eye can catch, I would just use an analytical (non-visual) approach to detect and warn of spikes.
13  Game Development / Newbie & Debugging Questions / Re: 3D triangle generation from list of points on: 2008-06-30 12:01:19
I'm trying to display a 3D surface based on an arbitrary list of 3D points (kind of like having the points in 3D space, then dropping a blanket down from the Z direction such that the surface lies on top of all the points). No holes or anything like that - I just want to view how the surface looks.

What you're describing is a convex hull, assuming you want the surface to wrap all the points. Once you know that name, Google can help you can find many algorithms and implementations provided by the academic community.
14  Discussions / General Discussions / Seeking input on workshop for HS students on: 2008-06-28 03:42:51
I am planning a 3-day workshop on video game development as part of a "Practicing Professions" series. The workshop runs 9-5 on three consecutive days, and the participants are twelve high-achieving high school students. I welcome recommendations from this community on topics to include.

The "Practicing Professions" series is supposed to expose students to potential career paths. For example, some students will spend three days in the hospital learning about illness, medicine, organization, etc. I have no idea what backgrounds these students will have: I suspect some will know some programming and most will know none. From previous experiences, I also suspect that the participants have no idea how complicated game development really is! I want to expose the students to various facets of the biz, giving them a taste of the art, programming, music, design, and business, but it cannot be pure survey -- they will rightfully want something concrete to show for their time.

My current plan is to find an open source game to use as a running example, ideally something the students can easily experiment with and modify. For example, something with editable levels and sprites would be perfect. I have some experience with GameMaker as well, and I may show them that or something flashier like Torque. I would also like to spend some significant time discussing game design, using some tips from Fullerton's "Game Design Workshop" book.

If the community has any experience to share or recommendations to make, I would appreciate it. This is my first time offering the workshop, and it's been a long time since I have dealt with this age group.
15  Discussions / General Discussions / Re: New Java feature on: 2008-06-21 11:43:15
What I really want is all the power of Lisp but with Java. ... then I remembered that we still have Lisp. Anyone want to get Sun to buy into LispGaming.org? Wink
16  Discussions / General Discussions / Re: New Java feature on: 2008-06-20 13:13:10
I do not think an OO language's syntax should encourage the use of accessors and mutators. Despite its inflammatory title, this article provides an excellent overview of the problems that arise from indiscriminate use of accessors and mutators. http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html.

My experience aligns with the author's observations: using accessors and mutators leads to "pull" models of programming, which are very difficult to maintain. Turning the design inside out, to a "push" model, yields clearer, more decentralized code, which is easier to maintain. This is especially true with wise use of design patterns. Of course, one could always throw OO design theory out the window and use getters and setters everywhere, but then shouldn't we all just be using C++ or C# at that point? Wink
17  Game Development / Newbie & Debugging Questions / Re: FSEM, Active Rendering & Swing on: 2008-04-27 11:36:14
I am new to the whole graphics thing to please bare with me

Ick, no! I think you have the wrong message board for that kind of thing.


Sorry, I couldn't help myself.
18  Game Development / Game Play & Game Design / Re: How to handle all my entites in a 2D RTS? on: 2008-04-22 11:50:56
I recommend reading Andrew Davison's Killer Game Programming in Java. It will set you on the right path regarding sprite management, update+render loops, etc.
19  Game Development / Game Play & Game Design / Re: mvc view on: 2008-02-21 12:29:32
For the record, sometimes Tang and I respectfully disagree, but this time we don't.  It's a good thing. Smiley
20  Game Development / Newbie & Debugging Questions / Re: Education in game programming on: 2008-02-20 12:49:10
I believe in the value of a liberal education.  A bachelors degree in computer science should prepare you for a lifetime of learning, no matter where you end up pulling a paycheck.  You may decide that you want to work in a completely different field, but want to pursue independent game development on the side.  You are much more broadly valuable with the university degree.

Another way to look at it:  go with whatever is cheaper.  I am not a professional game developer, but my understanding of the biz is that companies hire based on what you know and what you can do, not where you graduated.  If you can develop something significant, no matter where you went to college, you've shown that you can work in the business.  However, I would wager that the private school is much more expensive, and you'll spend years of your life paying off debt instead of something more fun like buying a house or a nice car.

Note that my comments assume that your local university has a quality computer science program.  Talk to their faculty and students.  Find out what kinds of opportunities are to be had:  can you get involved in independent studies to customize your education?  Can you get involved in faculty research projects?  Are courses taught by professors or by underpaid/overworked graduate students?

I hope that helps.
21  Game Development / Game Play & Game Design / Re: mvc view on: 2008-02-19 12:22:36
Yes, exactly.  Thanks, Tang.  The other one that I remember is http://c2.com/cgi/wiki?WhatsaControllerAnyway.

I should thank Tang too for pointing me at c2.com, which I had been neglecting for years.  It came up in an earlier conversation, and now I point lots of people there.  There are some really deep conversations about software design to be found on those pages.
22  Game Development / Game Play & Game Design / Re: mvc view on: 2008-02-18 12:55:20
Man, I need to drink my coffee.  I misread your post, sorry about that, hence my editing this post again.

MVC is precisely defined... by people who want to say they are following MVC.  That is, there is the original MVC, which is precisely defined, and then there's everything since that has called itself MVC, all of which has been precisely defined, but different.  I'll see if I can dig up some of the more interesting c2 wiki pages on it.

I prefer to follow the strict definition from the original paper on Smalltalk.  Others prefer to use the definition in Buschmann et al.  As I recall, they are not the same.  From my perspective, the MVC vs. MVP distinction becomes increasingly unclear when MVC is not defined in the original sense.
23  Game Development / Game Play & Game Design / Re: mvc view on: 2008-02-18 12:28:59
That's wrong.

Golly!

Quote
One of the reasons is that it makes it easier to design multiplayer online games by putting the model onto a server, the views onto the clients and the controller might be divided in two parts, one part in the server and one part in the client. Using MVC also allows to clearly separate the concerns, to drive the code more easily understandable and maintainable. Many commercial games use MVC or at least the Document-View pattern, for example Quake 2. It is true that many aspects in a game are tightly coupled but it is not a reason to avoid trying to clearly distribute the responsibilities between the software components.

I was tailoring my comments to the original poster, who I would guess is not working on a large-scale or multiplayer game.  I suppose "you got me" in a sense that I usually encourage best practices from the get-go.  My concern is that I see the term MVC thrown around all over the Web with very little qualification of what it actually means.  As I mentioned above, Sun themselves say that Swing is not MVC, but one can find dozens of well-intentioned articles on-line explaining how it is.

In my study of GUIs, I find MVP to be preferable to MVC .  Under MVP / Visual Proxy for games, you would still have a separation of view from data, but the view is provided by the model itself, not externally thrust upon it.  The model determines the view: they are not independent, and this is what I mean by being coupled.  It's the good kind of coupling, not the unnecessary Singleton kind Smiley For example, you might have a method on the model called "getVisual()" that returns a 3D model, a sprite, an animation, etc.  The "controller" communicates with the model, and the view is supplied by the model, in contrast to having a controller that communicates explicitly with both the view and the model.  Whether this is lazily created, loaded by a resource manager, accessed via a weak reference, etc., does not contradict the use of the MVP architectural pattern. The more I think about it (and this is my third post edit), I think what you're describing could just as well be MVC as MVP.  That is, it doesn't contradict the use of MVP instead.  For instance, one can still serialize a data object and pass it between clients and servers.  Each client should be able to generate the view for the object.  Technically, the server could too, but of course it wouldn't.

I will have to spend more time thinking about this.  The c2 wiki has some really interesting discussions along these lines in case anyone is curious.  Anyone else out there studied these two software architectures and care to comment?

24  Game Development / Game Play & Game Design / Re: mvc view on: 2008-02-17 14:57:33
For what it's worth, I don't think MVC really applies here.  One of the amazing things about MVC is that it means everything and nothing, depending on who you ask.  That is, some folks refer to any separation of model from interface as "MVC".  You can't really call that wrong unless you're a proscriptive linguist, which doesn't get real far in our jargon-fraught discipline.

Anyway, traditionally MVC describes the explicit separation of the Model, View, and Controller.   That is, there are three different objects or components that play each of these roles in the software architecture.  Swing is explicitly not an example of MVC:  see http://java.sun.com/docs/books/tutorial/uiswing/components/model.html and http://java.sun.com/products/jfc/tsc/articles/architecture/.

In game programming, I do not think that there is ample reason to separate explicitly the Model, View, and Controller.  These three are usually tightly coupled in the game design:  the size and shape of a sprite is directly related to how fast it moves or how it collides, for example.  Another way to look at it is to ask the question: what is a sprite aside from the combination of some data and behaviors (model) that is directly related to a thing on the screen (view), within some interaction context (controller-ish)?  My advice is to let your game logic also object also render itself.  I usually start with something like the following and work up from there.
1  
2  
3  
4  
public interface Sprite {
  public void update(int deltaMS);
  public void render(Graphics g);
}


If you're intent on building a large system or framework, I think a much more appropriate pattern is Visual Proxy, a specialization of Model-View-Presenter.  The essence of this pattern is that a model is responsible for creating its own view, and this approach exploits the fact that these two are tightly coupled in the problem and hence should be tightly coupled in the solution.  The only place I have seen this described well is in Allen Holub's rather heady series of articles in JavaWorld a decade ago, the first of which is at http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html.
25  Game Development / Newbie & Debugging Questions / Re: Getting Started on: 2008-01-22 12:41:28
I mean for the native libraries.  You're right that the classpath is fine, but last I checked, if you associate a native library folder with a jar via Eclipse's "properties" dialog, then upload your project to subversion, hop to another operating system, and pull down the code from subversion, it will remember the old native libs.  Now that I think about it, you could probably get around this by putting /all/ your native libraries in one big folder.  This had not dawned on me before since I like to use separate folders for each platform, as this helps me write more clear ant scripts that generate platform-specific resource jars.  If anyone has tried this, I'd be curious to know if it worked.
26  Game Development / Newbie & Debugging Questions / Re: Getting Started on: 2008-01-21 13:24:54
Ok if I link the tutorial into the Slick Wiki?

Please feel free.  I hope it is found useful.

I'll point out that, within Eclipse, one can edit the Properties of a jar (such as lwjgl.jar) and set the native paths for that library.  However, I advise against this since it can cause problems when developing on multiple platforms.  I develop and test in Linux and Windows, but all the code is shared in one repository.  I would rather not have to change all my jars' properties each time I hop between operating systems, so instead, my tutorial advises the reader to use command-line arguments (-Djava.library.path=...).

27  Game Development / Newbie & Debugging Questions / Re: Getting Started on: 2008-01-19 13:13:22
I just wrote a "Slick+Eclipse" tutorial, which you may find useful.  It only goes as far as configuration and a "Hello, World" application, but maybe it's enough to help you get the libraries set up.

http://www.cs.bsu.edu/homepages/pvg/misc/slick_eclipse_tutorial.php
28  Discussions / Miscellaneous Topics / Re: Messing with c++ on: 2008-01-01 13:08:30
I should have qualified that I was speaking in little white lies. The ANSI libraries are not really comparable in scope to the Java APIs, in my opinion.  That  comment will get me flamed by system programmers...

By the way, if you want to write effective C++, I recommend "Effective C++" by Scott Meyers.
29  Game Development / Newbie & Debugging Questions / Re: 2D RPG on: 2007-12-31 13:41:19
In addition to the technical skills, you have to be able to effectively organize yourselves.  I've been experimenting with Scrum as a way to organize teams.  I recommend that your team read The Scrum Primer and think about setting up a formal development process.  (http://www.scrumprimer.com)

I also recommend learning to use a source code repository such as subversion:  http://subversion.tigris.org
30  Game Development / Game Play & Game Design / Re: Spot well written games on: 2007-12-31 13:38:06
I caution you against using Wikipedia for specific design patterns:  there is some information on there that is a bit strange and, in my opinion, plain wrong.  (Who has time to get into edit wars over such things though?)  The c2 pages are much more insightful, in my opinion: http://c2.com/cgi/wiki?SingletonPattern

In a nutshell:  a Singleton is a class for which there is only one* globally-accessible instance.

*The c2 article points out that the "one" part is not strictly necessary, as long as the client can treat the returned instances as being equivalent.
Pages: [1] 2 3 ... 5
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

radar3301 (10 views)
2014-09-21 23:33:17

BurntPizza (28 views)
2014-09-21 02:42:18

BurntPizza (18 views)
2014-09-21 01:30:30

moogie (20 views)
2014-09-21 00:26:15

UprightPath (27 views)
2014-09-20 20:14:06

BurntPizza (29 views)
2014-09-19 03:14:18

Dwinin (46 views)
2014-09-12 09:08:26

Norakomi (74 views)
2014-09-10 13:57:51

TehJavaDev (102 views)
2014-09-10 06:39:09

Tekkerue (50 views)
2014-09-09 02:24:56
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!