Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs (Expert's Voice in Java)
Number Of Pages: 528
Publication Date: 2007-04-30
Sales Rank: 270226
ISBN / ASIN: 1590598172
Average Rating: 5
Create strange lands filled with mysterious objects (cows frozen in
blocks of ice, chirping penguins, golden globes with wavering eyes) and
throw away your keyboard and mouse, to go exploring armed only with a
gamepad, power glove, or just your bare hands��
Java gaming expert Andrew Davison will show you how to develop and
program 3D games in Java™ technology on a PC, with an emphasis on the
construction of 3D landscapes. It's assumed you have a reasonable
knowledge of Java - the sort of thing picked up in a first Java course
Topics are split into three sections: Java 3D™ API, non-standard
input devices for game playing, and JOGL. Java 3D is a high-level 3D
graphics API, and JOGL is a lower-level Java wrapper around the popular
OpenGL graphics API.
You'll look at three non-standard input devices: the webcam, the game pad, and the P5 data glove.
Along the way, you'll utilize several other games-related libraries including: JInput, JOAL, JMF, and Odejava.
Learn all the latest Java SE 6 features relevant to gaming,
and system tray interfaces.
Unique coverage of Java game development
using both the Java 3D API and Java for OpenGL, as well as invaluable
experience from a recognized Java gaming guru, will provide you with a
distinct advantage after reading this book.
Great resource for Java 3D programming and game development
There is some overlap between this book and the author's other book on Java game programming,
"Killer Game Programming in Java", but overall there is enough new
material to make it a worthwhile purchase. The author starts out trying
to explain Java3D. His explanations are OK, but the best explanation I
have ever found as an overview of the API is "Java 3D API Tutorial" on
the Sun Microsystems website. It's old, but the basics haven't changed.
For the specifics of working with Java 3D in the modern era, come back
to this book. The author has done a good job of putting together some
programming examples that show how to program in current versions of
Java 3D including a 3D version of Conway's game of life. He then
modifies the program to show off some of the features of Java 6 such as
its ability to communicate with scripting languages. Further chapters
show how to build creatures with operational limbs that demonstrate
Java 3D's TransformGroups, how to handle physics and Java3D using a
specific physics API, multitexturing for more natural looking outdoor
scenes, and finally how to deal with level of detail problems using
mixed mode rendering. In each case, the author just doesn't talk about
how to do something, he produces working code that gets the job done
and provides a blueprint for the reader to go further.
The section on non-standard input devices deals with interfacing
devices such as webcams, game controllers, game pads, and the P5
Virtual Reality Glove to your 3D worlds and games. He mentions parts of
Java that are seldom well-explained such as JInput to describe how to
control these devices. In the section on webcams, the author talks
about JMF and an alternative method of interfacing to cameras. This is
good, since for all intents and purposes JMF is really a dead API with
very little useful capability. One of the more interesting chapters in
this section really has nothing to do with input devices, that being
the chapter on JOAL, which is a wrapper around OpenAL, the OpenAudio
Library. This is very practical since there are bugs in Java 3D's sound
interface that have been there from the beginning and show no sign of
being resolved. This chapter provides a practical way for Java
programmers to get actual reliable 3D sound into their games and
The final section of the book is on JOGL, which is a Java wrapper
for the OpenGL graphics library. The author explains and illustrates
the use of JOGL by first implementing a very simple application to
clearly illustrate all of the steps needed. Next, a 3D world is written
using JOGL that includes a floor with a checkerboard pattern, an
orbiting earth, a skybox of stars, a billboard that shows a tree,
overlays, and keyboard navigation.
This book, along with the Sun tutorial, is a good education in how
to use the Java 3D API in general, and also how to build virtual worlds
in Java as well as how to write 3D Java games, which was the book's
original purpose. Highly recommended.