princec
2005.06.25, 08:26 AM
This post is just a plug for LWJGL (http://www.lwjgl.org) (Lightweight Java Game Library). I notice that nearly everyone in the Mac community is still pretty intent on thrashing it out with C++ and all its attendant hassles, and I wondered if it's because hardly any of you outside the Java community actually know about LWJGL!
So I'd just like to introduce you to the concept of LWJGL with a quick rundown of its features:
Wraps OpenGL versions 1.1, 1.2, 1.3, 1.4, 1.5 and 2.0
Full support for every relevant OpenGL extension
Wraps OpenAL 1.1 (with Ogg Vorbis extension)
Optional package: Wraps FMOD (we all know what this does)
Optional package: Wraps DevIL (fast image I/O)
Abstracts keyboard, mouse, and display handling
And there's a utility package with a few odds and sods like matrix and vector classes in there etc.
LWJGL takes care of all the crap setting up displays and handling input and so forth for you and abstracts it away in the most trivial, simple set of classes you could possibly hope for. It's like Blitz Basic for Java. No more hair-pulling, no more learning odd stuff. Just code your game!
Java takes care of all the other stuff that goes wrong with C++ like mysterious crashes and, er, more mysterious crashes. It takes a little while to get used to it but everyone that eventually groks it has a hard time defending C++ for game dev afterwards.
You probably know about Ultratron (http://www.puppygames.net/ultratron) by now which is written in plain ol' Java with LWJGL; you may not know about the daft but fun RTS Tribal Trouble (http://www.oddlabs.com) which is also plain ol' Java and LWJGL.
For an IDE I recommend Eclipse (http://www.eclipse.org) or NetBeans (http://www.netbeans.org) or IntelliJ IDEA (http://www.jetbrains.com). The first two are free; IDEA is probably the best one though, especially if you've come from a C++ IDE.
And at the end of it all you've got your game... and by God, it runs on Windows and Linux too! Bloody hell. There are of course lots of little details to think about but the vast majority are taken care of automatically by Java or LWJGL in the first place.
One last little curiosity: I don't own a Mac, and in fact, I've never even seen Ultratron running on one! One day I hope to be able to scratch together enough money to buy a second hand Mac Mini so I can actually do some testing, but the indie games biz is not quite what it once was so that won't be any time soon ;)
Cas :)
So I'd just like to introduce you to the concept of LWJGL with a quick rundown of its features:
Wraps OpenGL versions 1.1, 1.2, 1.3, 1.4, 1.5 and 2.0
Full support for every relevant OpenGL extension
Wraps OpenAL 1.1 (with Ogg Vorbis extension)
Optional package: Wraps FMOD (we all know what this does)
Optional package: Wraps DevIL (fast image I/O)
Abstracts keyboard, mouse, and display handling
And there's a utility package with a few odds and sods like matrix and vector classes in there etc.
LWJGL takes care of all the crap setting up displays and handling input and so forth for you and abstracts it away in the most trivial, simple set of classes you could possibly hope for. It's like Blitz Basic for Java. No more hair-pulling, no more learning odd stuff. Just code your game!
Java takes care of all the other stuff that goes wrong with C++ like mysterious crashes and, er, more mysterious crashes. It takes a little while to get used to it but everyone that eventually groks it has a hard time defending C++ for game dev afterwards.
You probably know about Ultratron (http://www.puppygames.net/ultratron) by now which is written in plain ol' Java with LWJGL; you may not know about the daft but fun RTS Tribal Trouble (http://www.oddlabs.com) which is also plain ol' Java and LWJGL.
For an IDE I recommend Eclipse (http://www.eclipse.org) or NetBeans (http://www.netbeans.org) or IntelliJ IDEA (http://www.jetbrains.com). The first two are free; IDEA is probably the best one though, especially if you've come from a C++ IDE.
And at the end of it all you've got your game... and by God, it runs on Windows and Linux too! Bloody hell. There are of course lots of little details to think about but the vast majority are taken care of automatically by Java or LWJGL in the first place.
One last little curiosity: I don't own a Mac, and in fact, I've never even seen Ultratron running on one! One day I hope to be able to scratch together enough money to buy a second hand Mac Mini so I can actually do some testing, but the indie games biz is not quite what it once was so that won't be any time soon ;)
Cas :)