Sebastopol, CA--For years, Java programmers who wanted to create cool, adrenaline-fueled games had to give up Java for C, C++, or even assembly language--or program around Java's unacceptable frame rates, memory leaks, sparse documentation, silly "Hello World" examples, and lack of support for high-end graphics.
But although the myth--once rooted in reality--that Java is unsuitable for games lingers, author Andrew Davison has put together a comprehensive new book, Killer Game Programming in Java (O'Reilly, US $44.95), proving that Java offers game programmers much more than meets the eye.
"The trouble is that people tend to remember the early versions of Java. Have a look at J2SE 5.0 (or 1.4.2), and think again," says Davison. According to Davison, the only remaining objection to programming games in Java is that Java 3D isn't supported on games consoles. "Although consoles are important," he says, "PC and mobile gaming are enormous markets.
"There are libraries from Sun and third-parties that make Java suitable for all the game genres," says Davison. "I think Java is especially suitable for the rapidly expanding multiplayer networked game market." His new book details everything it takes to create real-time, networked, and graphics-intensive games.
"I also have a fondness for Java 3D, which allows a programmer to get a good-looking 3D world up and running very quickly. 3D games are the hardest to code, but they're the coolest," he says. Killer Game Programming in Java explains how to code sprites, lathes, and rotating shapes; develop flocking and practical systems; and render fully textured terrains. And the bible of Java game programming wouldn't be complete without a working first-person shooter game, with guns that shoot, of course.
Davison began coding Java games for two reasons: "my son, and my fondness for comic books. Back then, my son was starting to play games like Pingu, Reader Rabbit, and so on. They're good fun, and I wanted to know how to build something similar. My love of comics, especially Silver Age Marvel and DC, is my excuse for playing a very wide range of 3D games based on the characters. And let's not even start on 'City of Heroes.' The same inquisitiveness asserts itself there, about how to make something myself."
Davison says it's time to debunk the myths surrounding Java for game programmers. "Java has matured to a stage where great games can be built with it," he insists. "The range of Java libraries and tools for 2D, 3D, networking, and any other topic you'd care to mention, gives programmers tremendous leverage to build fantastic stuff. Sun Microsystems, and the larger Java community, are strongly behind gaming. Java is a great language for game programming, as I hope my book demonstrates."
Killer Game Programming in Java is a guide to everything you need to know to program bad-ass Java games. It will give you reusable techniques to create everything from fast, full-screen action games to multiplayer 3D games. In addition to the most thorough coverage of Java 3D available, the book also clearly details the older, better-known 2D APIs, 3D sprites, animated 3D sprites, first-person shooter programming, sound, fractals, networked games, and mobile 3D games. Killer Game Programming in Java is a must-have for anyone who wants to create truly awesome games in Java.
- Chapter 22, "Flocking Boids"
- More information about the book, including table of contents, index, author bio, and samples
- A cover graphic in JPEG format
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.