|
Open Source Java Game Utilities: LWJGL 0.98 and Game Gardens
by Drew Falkman
I don't know about you, but when I was a kid and first learning how to program, there was only one reason: games. In my mind that was the pinnaclethere was no higher pursuit in the world of programming. I wanted to make games. I started out making those text-based games, then evolved into some graphical stuff, but since it was the Apple II (yes, I'm dating myself now) there just wasn't that much to do. Now that I'm grown up and it's 2005, games are serious. And it's not Apple Basic anymore, we've got Java. This month, I decided to indulge my inner child and see what was available in the open source world for game libraries. I found a couple worth mentioning.
Introduction
The days of Java applications being necessarily slow and cumbersome is ending as faster processors and improvements to JVM technologies continue to proliferate. What this means is that you can start doing some cool stuff with graphics and interactivity. I found two libraries online that offer a suite of tools to help you in this endeavor:
- The Lightweight Java Game Library (LWJGL) is a robust suite of tools to aid in the development of professional gamesin Java, of course.
- Game Gardens is an API that enables the development of networked games. It enables multi-player environments so you can beat your faraway friends at cards or kill them dead.
Lightweight Java Game Library
LWGL is geared to the game developer who wants to develop serious games for fun or commercial sales. The library includes implementations of OpenAL for audio delivery and OpenGL for graphics. Additionally, there are utilities for handling user input (e.g. from input controllers, or, "joysticks"), basic 3D modeling, FMOD utilities (for embedding audio), vector tools, and more. A look at their sample application (Space Invaders, see Figure 1) shows that this is a pretty powerful library.

Figure 1. Space Invaders: Lightweight Java Game Library's sample application shows that this is a pretty powerful library.
Warning: LWGL won't necessarily make game development any easier. However, it will likely improve the quality of the games you develop. It provides access to resources that the standard Java Software Development Kit (SDK) does not handle so well. A look at the LWGL mission will show you what this is about: speed, device utilization (e.g. cell phones to multi-CPU boxes), and simplicity. A look at the projects using LWJGL shows how this is paying off. These games are cool and varied.
The API is a little murky. In order to get started with LWJGL, you will have to be familiar with OpenAL and OpenGL and also with 3D models, input control, and so on. In short, you have to learn how to develop games first. But LWGL is giving Java programmers a shot at developing professional quality games. One other note: LWGL will not work with appletsyou'll need to run it using their JVM or using the Java Web Start tool.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|