Killer Game Programming in Java
By Andrew Davison
May 2005
Pages: 996
ISBN 10: 0-596-00730-2 |
ISBN 13: 9780596007300




(5) (Average of 1 Customer Reviews)


Description
This comprehensive guide has everything you need to program Java games. It offers the most thorough coverage of Java 3D available, and clearly details the older, better-known 2D APIs, 3D sprites, animated 3D sprites, first-person shooter programming, sound, fractals, and networked games. This practical book is a must-have for anyone who wants to create adrenaline-fueled games in Java.
Full Description
Although the number of commercial Java games is still small compared to those written in C or C++, the market is expanding rapidly. Recent updates to Java make it faster and easier to create powerful gaming applications-particularly Java 3D-is fueling an explosive growth in Java games. Java games like Puzzle Pirates, Chrome, Star Wars Galaxies, Runescape, Alien Flux, Kingdom of Wars, Law and Order II, Roboforge, Tom Clancy's Politika, and scores of others have earned awards and become bestsellers.
Java developers new to graphics and game programming, as well as game developers new to Java 3D, will find Killer Game Programming in Java invaluable. This new book is a practical introduction to the latest Java graphics and game programming technologies and techniques. It is the first book to thoroughly cover Java's 3D capabilities for all types of graphics and game development projects.
Killer Game Programming in Java is a comprehensive guide to everything you need to know to program cool, testosterone-drenched 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, Killer Game Programming in Java also clearly details the older, better-known 2D APIs, 3D sprites, animated 3D sprites, first-person shooter programming, sound, fractals, and networked games. Killer Game Programming in Java is a must-have for anyone who wants to create adrenaline-fueled games in Java.
Featured customer reviews

Comprehensive and deep (Umfassend und tiefgehend),
November 16 2008
Submitted by
der_djinn
[
Respond |
View]
Most books on game programming using the C language and C++. Even today there is so many games especially on the speed, especially in the ego-shooters, and in any other language, you can speed up a program such as C / C++. There are also once assembler routines inserted, and experts from the last pick of the pointer arithmetic out.
Java and Gaming
Java in this area was always a wallflower. The support of graphics, sound and input devices such as joysticks long time was very bad, so that this important branch of the software industry has been completely overslept. In the beginning was still in the area of Java browser games thanks to its applets points (I've had a few small things written), but Flash has in this area now firmly occupied.
One must not forget that even the visionary company Microsoft a long time, this development has incorrectly, and the technical shortcomings of DOS and early versions of Windows, the game developer has enabled a lot of work.
Meanwhile, in Java, but a lot done, and that is in the book Killer Game Programming by Andrew Davison, published by O'Reilly Publishing.
In short, the physical characteristics
A softcover book with (including a detailed index) nearly 1,000 pages, published in 2005, and thus also no longer so new. A CD is not with the source code of the programs available on the website of the book can be downloaded.
Contents
With the killer game title suggests, the author has also claimed that, under Java games not only to develop small, but quite large applications, based on the games market may exist. How do so in comparison to the C / C++ limited possibilities is feasible, it shows a total of 32 chapters in a very entertaining and convincing.
Java2D
The first third is the development of 2-D games in which he is a simple game called Worm developed (probably under the name Snake known, for example as a mobile game). Here, he elaborated on the Java2D and ImageIO API of JDK a full-screen under Java, which BufferedImage classes and resource handling. Animations, sprites and effects are described with examples. Then followed the music and sound-processing: How do I play MIDI files and sound samples from? The Entwickliung a simple side-scroller and an iso-Tile-round game the 2D part. In these 400 pages are almost all areas of development 2D-based game has been dealt with in detail, and mE no question remained unanswered. With this part of the book would be worth the money already has been. But there is still more ...
Java3D
Also in the field of 3D support Java has long been done. In the 3D API, there were many different approaches, but everything is always on DirectX or OpenGL, which the actual rendering take over. 3D is a completely different world and requires a different thinking than in the development of 2D games ahead. The focus is on the Scene Graph, which all the elements of showed the world. As this scene graph is built and what else in mind, the author explains in great detail and understandable. Again, the author examines all aspects, including points of interest such as particle systems and fractals. M.E. but the difficulty of 3D development in the understanding of the operations, but that far more than just developer skills are required. Especially the construction of models and animations may stand in the foreground, and there are many excellent engines (eg jMonkeyEngine and Ogre), which is already a large part of the necessary functions to implement. Ies It is probably more useful to deal with the existing and proven tools to employ. Personally, I would be because not again "from scratch" to begin. Nevertheless a very entertaining read good section.
Networks
The last part is still with the problems of network programming, as more and more games to offer multiplayer features. How to develop a network game, he shows after its introduction into the network technology and protocols in a simple Tic-Tac-Toe Game.
Recommendation
Those who are seriously in game programming in Java and still little experience in this area has come to this little book around, because there is nothing comparable. Good Java Kennisse but a requirement. Even if it is already several years old, you will find all necessary information to make really good games. Although it is the 3D part is quite big, one is still more to existing engines rely. Since this but i.d.R. not particularly well documented, this book is an excellent entry aid.
This review was originally posted in German:
Die meisten Bücher zum Thema Spiele-Programmierung verwenden die Sprache C bzw. C++. Auch heute noch kommt es ja bei vielen Spielen vor allem auf die Geschwindigkeit an, insbesondere bei den Ego-Shootern, und in kaum einer anderen Sprache kann man ein Programm so beschleunigen wie in C/C++. Da werden eben auch einmal Assembler-Routinen eingeschoben, und Experten holen das letzte aus der Pointer-Arithmetik heraus.
Java und Gaming
Java war in diesem Bereich immer ein Mauerblümchen. Die Unterstützung von Grafik, Sound und Eingabegeräten wie Joysticks war lange Zeit sehr schlecht, so dass dieser wichtige Zweig der Software-Industrie völlig verschlafen wurde. Am Anfang konnte Java noch beim Bereich Browser-Games dank seiner Applets punkten (auch ich habe damals ein paar kleine Sachen geschrieben), aber Flash hat diesen Bereich mittlerweile fest besetzt.
Man darf aber nicht vergessen, das auch die
visionäre Firma Microsoft lange Zeit diese Entwicklung falsch eingeschätzt hat, und die technischen Unzulänglichkeiten von DOS und frühen Windows-Versionen den Spiele-Entwickler viel Arbeit beschert hat.
Mittlerweile hat sich bei Java aber einiges getan, und darum geht es im Buch Killer Game Programming von Andrew Davison, erschienen im O'Reilly-Verlag.
Kurz die äußeren Merkmale
Ein Softcover-Buch mit (incl. ausführlichem Index) knapp 1000 Seiten Umfang, erschienen 2005, also auch schon nicht mehr so neu. Eine CD liegt nicht bei; die Quellcodes der Programme können auf der Webseite des Buchs heruntergeladen werden.
Zum Inhalt
Mit dem Bezeichnung Killer-Game deutet der Autor schon an, dass sich unter Java nicht nur kleine Spielchen entwickeln lassen, sondern durchaus große Anwendungen, die auf dem Spiele-Markt bestehen können. Wie dies unter den im Vergleich zu C/C++ eingeschränkten Möglichkeiten machbar ist, zeigt er in insgesamt 32 Kapiteln sehr unterhaltsam und überzeugend.
Java2D
Das erste Drittel nimmt die Entwicklung von 2-D-Spielen ein, in denen er ein einfaches Spiel namens Worm entwickelt (dürfte unter dem Namen Snake bekannter sein, z.B. als Handy-Spiel). Hier geht er ausführlich auf die Java2D- und ImageIO-API des JDK ein, Full-Screen unter Java, die BufferedImage-Klassen und das Ressourcen-Handling. Animationen, Sprites und Effekte werden anhand von Beispielen beschrieben. Danach folg die Musik- und Sound-Verarbeitung: Wie spielt man MIDI-Files und SoundSamples ab? Die Entwickliung eines einfachen Side-Scroller und ein Iso-Tile-Spiel runden den 2D-Teil ab. Auf diesen fast 400 Seiten sind alle Bereiche der Entwicklung 2D-basierter Spiel ausführlich behandelt worden, und m.E. blieb keine Frage unbeantwortet. Allein dieser Teil des Buches wäre das Geld schon wert gewesen. Aber es geht ja noch weiter...
Java3D
Auch im Bereich der 3D-Unterstützung hat sich Java lange Zeit schwer getan. Bei der 3D-API gab es viele verschiedene Ansätze, aber alles läuft immer auf DirectX oder OpenGL heraus, die das eigentliche Rendering übernehmen. 3D ist eine völlig andere Welt und setzt ein anderes Denken als bei der Entwicklung von 2D-Spielen voraus. Im Mittelpunkt steht der Scene-Graph, der alle Elemente der darzustellenden Welt enthält. Wie dieser Scene-Graph aufgebaut wird und was sonst noch alles zu beachten ist, erklärt der Autor sehr ausführlich und verständlich. Auch hier beleuchtet der Autor alle Aspekte, auch so interessante Punkte wie Teilchensysteme und Fraktale. M.E. liegt aber die Schwierigkeit bei der 3D-Entwicklung nicht im Verständnis der Vorgänge, sondern dass hier weit mehr als nur Entwickler-Skills benötigt werden. Vor allem das Bauen der Modelle und evtl. Animationen stehen im Vordergrund, und es existieren viele hervorragende Engines (z.B. jMonkeyEngine und Ogre), die bereits einen großen Teil notwendigen Funktionen implementieren. Daher ist Ies wahrscheinlich sinnvoller, sich mit den vorhandenen und erprobten Tools zu beschäftigen. Ich persönlich würde jedenweils nicht wieder "bei Null" anfangen wollen. Trotzdem ein ebenfalls sehr unterhaltsamer lesenswerter Abschnitt.
Netzwerke
Der letzte teil beschäftigt sich dann noch mit den Problemen der Netzwerk-Programmierung, da immer mehr Spiele Multiplayer-Features anbieten. Wie man ein Netzwerkspiel entwickelt, zeigt er nach der Einführung in die Netzwerk-Technologie und -Protokolle an einem einfachen Tic-Tac-Toe-Spiel
Empfehlung
Wer sich ernsthaft für Spiel-Programmierung unter Java interessiert und noch wenig Erfahrung mit diesem Bereich hat, kommt kaum um dieses Buch herum, denn es gibt da nichts Vergleichbares. Gute Java-Kennisse sind aber Voraussetzung. Auch wenn es schon einige Jahre alt ist, findet man alle notwendigen Informationen, um wirklich gute Spiele zu entwickeln. Obwohl gerade der 3D-Teil recht groß ist, wird man trotzdem eher auf bereits vorhandene Engines zurückgreifen. Da diese aber i.d.R. nicht sonderlich gut dokumentiert sind, ist dieses Buch eine hervorragende Einstiegshilfe.
Read all reviews
Media reviews
"
Killer Game Programming in Java could be a savior for the budding game programmer. With 905 pages filled with information, diagrams, and handy links, all of the basic components one needs is here... Implementation makes this book. Rather than just give you mindless strings of code, all code in this book is fully explained so that you understand exactly what it does and how it affects what you already have in place... for those who have some experience in the ways of Java and see themselves making cool little games, definitely go pick this one up. Itll be the best $45 you ever spent towards your Java programming hobby or career."
--Chris Dahlberg,
Cosmos Gaming, June 2005
Read all reviews