Trade in Advanced Java Game Programming (Expert's Voice) for an Amazon Gift Card of up to £0.29, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more
David Wallace Croft is a Java software architect with a professional background in Java game development. He formerly served as the president of the Silicon Valley Java Users Group and is the founder of the Game Developers Java Users Group. Croft earned his bachelor's degree from the United States Air Force Academy in 1990 and his master's degree from the California Institute of Technology in 1995. After a brief career in neural network chip design, he joined an online Internet multiplayer game startup in 1996 and has been programming in Java exclusively ever since. While writing this book, Croft taught Java 2D game programming within the Institute of Interactive Arts & Engineering program at the University of Texas at Dallas. In 2004, he transitioned from faculty to student and is now pursuing a doctorate in cognition and neuroscience in the School of Behavioral and Brain Sciences at the same university. His contact information is available at www.croftsoft.com.
Most Helpful Customer Reviews on Amazon.com (beta)
32 of 35 people found the following review helpful
Much filler, a little on Java game programming3 Dec 2005
- Published on Amazon.com
You would assume by the title that this book was written for the experienced Java programmer who knows a little about game programming and wants to learn a lot more. You would be wrong. Instead the author wastes your time and his book's space with chapter after chapter of information that has nothing to do with Java game programming, much less advanced material. Chapter one, for example, is all over the map talking about XML, Ant, and upgrading to Java 1.4, which is no longer even the latest release of Java. Chapter two, which is labeled "Deployment Frameworks" talks about JAR files, applets, and Java Web Start. Other off topic subjects include a chapter each devoted to persistent data, the A* search algorithm, and HTTP tunneling. In fact, there are three chapters on HTTP. The few chapters that actually relate to Java game programming are not advanced at all to the experienced Java programmer who knows anything about graphics, Swing, and Java. Instead, the author spends his time talking about his own game programming framework that does nothing special and is constructed quite awkwardly from a software engineering perspective. There are two much better titles on the market right now. One is "Developing Games in Java" by David Brackeen, written in 2003. The other is "Killer Game Programming in Java" by Andrew Davison which was released in the summer of 2005. If you are serious about game programming in Java you should probably own them both, since they are both excellent and each has their advantages. For one, both show how to use Java's own features and API's such as Java3D and Java Sound to complement your game programs rather than reinventing the wheel such as this author does. I notice that Amazon has nothing on the table of contents for this book, so I offer it here for the purpose of completeness, and to help prove my point that most of the book is not applicable to game programming: Chapter 1 Development Setup Chapter 2 Deployment Frameworks Chapter 3 Swing Animation Chapter 4 Animation Library Chapter 5 Advanced Graphics Chapter 6 Persistent Data Chapter 7 Game Architecture Chapter 8 A* Algorithm Chapter 9 HTTP Tunneling Chapter 10 HTTP Polling Chapter 11 HTTP Pulling Appendix A Source Code Index Appendix B Introducing CVS
7 of 8 people found the following review helpful
An Excellent Book For Advanced Game Programmers1 May 2004
Tripper T McCarthy
- Published on Amazon.com
As the title indicates, this book is for advanced Java game programmers. If you are looking for a book to introduce you to the fundamentals of Java game programming, you probably want to start off with another book first. But if you are an experienced game programmer, with a few games already under your belt, this book is a must read. The author deals with numerous topics that are at the heart of effective game programming. The sections I found most pertinent were those covering deployment options, swing animation, frame rate issues, and http network communication. In each section the author identifies the potential problems and pitfalls, discusses several options to deal with these issues, and then proceeds to show through his framework how he addresses these problems. The writing is clear and concise, and the code samples from the author's framework illustrate the concepts well. One thing that I don't like about a lot of Java game programming books is that they spend a lot of time talking about how to develop your game ideas. While this is important, many advanced game programmers are simply looking for sound advice to improve their underlining game design and performance. The author does a great job of speaking to this audience in dealing with the issues and problems we all face. Many of the issues discussed rang true to me as I remembered struggling to find solutions to the very same problems. The author's framework serves as a good foundation upon which to build your own games. The only thing I wish was covered was the use of 3D in Java games. This is a huge topic with a number of pitfalls and probably would require a book of its own. This really doesn't detract from my overall view of the book though, as what the book does cover is covered very well. Overall this book is very well done and I would recommend it to all serious Java game programmers.
7 of 9 people found the following review helpful
Useful but lacking20 April 2004
- Published on Amazon.com
This is very much a code-listing book. Lots and lots of code. There are some fairly heavy text sections, too, so don't think it's all code. Overall it was good, and better than some of the other Java game programming books, but not as good as "Developing Games In Java" by Brackeen. The primary vehicle the author uses in this book is a demo applet very much like the SwingSet demo that Sun put together to show off Swing's capabilities. But the various applets aren't particularly interesting or good looking, IMO. In fact, some of the applets are downright ugly, which is a shame because they appear to show off some good techniques. But none of the demos actually turns out to be a game that I could say "Yeah, I'd play that". Also, because of this demo trying to cover lots and lots of things, the book doesn't feel very focused. It's more like selected topics in game programming using Java. And I really didn't feel like very many of the topics were "Advanced", though some topics were covered well, like the A* pathfinding algorithm. But A* tutorials can be found several places on the net and in a number of other books. I was quite disappointed to find a book calling itself "Advanced" didn't really spend any time at all on 3D topics. The entirety of the book was on 2D, and as I mentioned earlier, most of that was focused on Applets. Case in point, there were 3, count 'em 3 chapters completely on HTTP. But I'm not going to trash this book completely, as what it does cover it covers well. And it doesn't try to teach you Java, either, which earlier Java game programming books tried to do. There are some good tips, techniques, and coverage of important Java code you'll need to get going in Java game programming. I just didn't feel it was "Advanced". I will recommend this to any Java programmer who is working on their first game or two and could use some additional resources and code examples.
16 of 22 people found the following review helpful
Misleading title23 Dec 2004
- Published on Amazon.com
This is not by any rate a book on advanced Java programming! It just has some very ugly 2D swing-based applications (you really cannot call them games..). Avoid like plague. Java game programming is still in a very immature stage but if you' re really, really looking for a decent book on Java game programming try "Developing games in Java" by David Brackeen.
2 of 3 people found the following review helpful
Interesting insight, but requires critical thinking to apply3 Jan 2011
- Published on Amazon.com
This book has good intentions, but it's not my preferred learning style. It's very heavily based in learning to edit the author's implementations rather than learning about how to create your own implementations, however the author's implementations do provide good examples. It's advanced in the sense it goes beyond text-based games and into the area of animation and 2D graphics, but it's a limited environmet and doesn't explain as much as I'd like about 2D graphics.
This book uses a lot of the author's own created classes and doesn't offer alternatives. The classes can provide good examples, you just have to read the code yourself and work out your own implementation (sometimes, with a little outside research such as the topic on ant). This is where the critical thinking is needed as you will need to know some more advanced topics like working with threads to read the source code provided and thus build an implementation of your own.
Chapter 1 provided some really good hints, mostly about organizing and introducing the ANT compiler. The chapter then details a simple example game using a lot of standard Java api classes and only two of his custom classes. It shows how keyboard and mouse input can be interpreted and used.
Chapter 2 focused a lot on Applets, a topic I personally feel is outdated for more advanced games.
Chapter 3 made me most disappointed. It focused on Swing Animation, but let me down because it was filled entirely with the custom classes thus assuming I wanted to go through the trouble of downloading his source codes to modify them as I needed as well as downloading the vast amount of other classes he made to make those source codes work. Instead, I read the source code provided in the book, grasped the idea the author was after about animating in swing, and worked out a more stand-alone implementation that's been built ground-up. I also don't like the author's naming conventions as I get confused by them easily, e.g. "AnimatedComponent" and "ComponentAnimator". I also do worry if these topics are now outdated though, as this book was written for java 1.4, and java has recently become 1.6.
I believe this style of teaching will work well in a classroom setting where students already have easy access to the classes, but I don't want to go through the trouble of setting up his library to learn how to modify his classes to make results, which then only teaches me how to make games using his library. I too was hoping for 3D topics to get covered (as I saw a few other reviewers above were), but 2D is a good place to start especially since I'm new to the idea of animation loops and controlling threads to provide an ideal frame rate without wasting processing time.
Chapter 7 has some real good insight, again about any game in general like in chapter 1. Chapters 8 and on have really good themes to cover, but are in the author's custom examples and libraries, thus take a lot of thought to decompile into generic ideas to apply.
This book provides good ideas if you just put some critical thought into it as the author seems to lead by big examples rather than managable detailed bits by creating your own.