I’m not officially calling this a project because it’s as much an exploration as a project. But I’ve been looking into some tools to help me make a game. I’ve got a few vague ideas for games, and some things I know would be fun to write. I’m also easy to please – just about anything with a story, a moderate challenge, stat bonuses and upgrades will suit me just fine. That in itself is a bit odd because I’m such a huge fan of genre-bending games and I absolutely adore the idea of thematic categories rather than gameplay mechanic categories like shooter, RPG, simulation, etc.
But I digress. I’m looking to create nothing particularly special. So I set out looking for some tools to help me with nothing really in mind other than I don’t want to do everything myself. But I don’t even know how much I want to do myself, so I’m really a blank slate. Early on, I realized there was a big difference between game libraries and game engines. Seems obvious, but it had never occured to me.
A game library is exactly what it sounds like. It holds pieces of information that could be useful to you, but makes no attempt to pull it together and, in the metaphor of a library, write your essay for you. A game engine on the other hand already does a lot of the grunt work, not just the boring display/network/audio set up stuff, but collision detection, movement and animation algorithms, timers, and even event handlers and such.
So I figured, “Where’s the fun in that?” and decided to stop looking at game engines, and just look at game libraries. Now here’s the rub: I do Java. I have a lot of interest in C, and a bit of interest in C++, but I am also studying to take the Sun Certified Java Programmer certification in the fall. So now’s not the best time to jump ship and join the C/C++ crowd. So I need a Java game library.
I found a decent game library listing on the Game Programming Wiki, although there are very few Java libraries included. Of the few that I found, only the Lightweight Java Game Library seemed to be what I was looking for (and I found that just by poking around some search engines). So, I guess that does it for me. I’ll try out LWJGL, and we’ll see how it goes. I’ve never worked in 3D before, and was actually hoping for 2D, so I might choose to use Java2D or find another library.
Now, to figure out what, exactly, LWJGL does (and doesn’t do)…