Related products:
Swing Hacks (Hacks)
Java After Hours : 10 Projects You'll Never Do at Work
Beginning Java 5 Game Programming
|
Java
Killer Game Programming in Java
Format: Paperback
Author: Andrew Davison
ReleaseDate: 20 May, 2005
Publisher: O'Reilly Media
Rating:
Far better than any other book on this topic
. This book is miles ahead of other Java gaming books.. For one thing, this is an excellent book in its own right. For another, the other existing books on the topic suck.
Anybody who spends a lot of time writing games in Java ends up running into certain challenges. For each of these real issues, it takes a lot time to identify the issue then many hours to come up a satisfactory solution or work-around. This book saves you from 99% of that work. The author has documented nearly every complication that you will run into. The other Java gaming books explain how to apply common sense and traditional gaming strategies to the Java APIs (usually following Sun's tutorials exactly), giving step-by-step instructions on how to do so. Besides the point that this adds no value for somebody capable of following Sun's tutorials and APIs, they offer no help where you need it most. . . where the straight-forward approach is unsatisfactory or just doesn't work for some reason.
Another thing that has saved me a ton of frustration and time is advice from the author. For my specific game project I've run into several questions which I've been unable to answer by web searches, posting to forums, etc. I've emailed Davison (the author), and he has answered each of my questions concisely and to the point every time. (I don't want you to spam him, so please don't send questions until after you have looked for the answer in his book!).
To address concerns that other reviewers have posted:
This book is not just for "advanced" Java developers. As Davison has emailed me, the intended audience is, "someone who has just got past their first Java course". He purposefully avoids avoids all but elemental Java features (e. g. , no ternaries, abstract classes, logging infrastructures, IOC).
WRT examples, you are not buying a gaming library or framework. The goal is not to give you production classes that you can use as-is in production quality products. Other reviewers are demanding production-ready examples. It is impossible to make production-ready examples that can be easily understood by first-year Java developers. If you want production-ready classes, don't look for them in a HOW-TO book, find them elsewhere or read this book and then write them yourself.
Somewhat Disappointed - But hopeful for a second edition
There are, in my opinion, quite a few things wrong with this book. This is the first time I've been disappointed by a book published by O'Reilly. I'll mention a few.
* Disappointing sample programs. The sample programs feel, unfortunately, very low quality - enough, in my opinion, to drive some readers away from Java as a game development language altogether. Providing higher quality sample programs would have been nice. It's not necessary to provide the polished details in the book itself, but having highly polished samples available as a download would have gone a long ways towards showing the reader how great Java can be as a development language. (A picture is worth a thousand words. ) I would have preferred one extremely polished, high quality 2-D sample and one extremely polished, high quality 3-D example instead of lots of small, unpolished, low quality examples.
* Bugs in sample programs. I've encountered quite a few little bugs in many of the sample programs. For example, it's easy to end up "under the world" in FractalLand3D, and the lighting is sometimes off (way off). Also, on my updated, high performance machine, I noticed recurring lag in FractalLand3D, preventing it from running smoothly.
* The web site to which the author directs you for downloading the sample code is often very slow, perhaps because it's based in Thailand and I'm in the United States. Since the book doesn't come with a CD-ROM (a decision I support, given the ubiquity of the Internet these days), I think the author could have invested in at least one fast U. S. -based server since a large portion of book sales will undoubtedly be to U. S. -based customers.
* Missing downloads (bad URLs). In the ever-changing realm of the world wide web, it's understandable when URLs in older books (and even newer books) stop working. However, it's barely 2006, and this book was published in 2005. There's no reason the author should direct you to a download such as [. . . ] and have it fail to actually be there.
* Too many pages spent on certain topics, such as: 1. Timing - which includes unnecessary details like timing on Windows 98-based computers (an operating system that's now 8 years old!) and performance on Pentium II-based machines (a CPU that's now 3 generations out of date!); 2. Justifying Java as a game development language; 3. Explaining the design and code in the samples in painfully small steps - I feel the author would have better served the readers by "getting to the point" more quickly.
I don't want to sound too harsh. Obviously, a lot of work and knowledge went into this book. You could do much worse than reading this book, which does a reasonable job covering a topic that isn't nearly as saturated as topics such as how to write Java servlets. However, when I pick up an O'Reilly book, I don't expect reasonable: I expect excellent, and I don't feel this book lives up to the O'Reilly name.
Given the other book choices on the topic of Java game programming, this book would make a decent addition to your programming bookshelf. I do, however, think the author should consider a second edition which addresses the problems listed above.
Best book I've seen on the topic
I have a few years experience with java and wanted to make a few games for fun and this book gave me all the information I needed to get started. I went through a few books on java game programming before I got this one and I must say that by fair its the best.
Roughly half the book is dedicated to issues you'll have when writing a 2d game and the other half is dedicated to 3d games (
using Java 3D). Although I've only read the first half in detail the java 3d material seems equally useful if 3d games are of interest.
My only complaint is that I didn't care for the example code much so I won't be using any of it. But unlike other books this book gives you all the information you need to do it in your own coding style.
Lastly the book is definitely not a book for beginners, the author makes no effort to explain things like event handling, Swing, or any other non graphic topics used in the book. .
|
|