CroftSoft / Library / Books / AJGP


2011 Sep 03 Sat

CVS Modules

The CVS module "croftsoft" is now frozen at the state it was in when the book was published. All of the code in the "croftsoft" module is compatible with Java 1.4.

All future updates will take place in two new CVS modules "apps" and "core". The source code in these new modules requires Java 5.0 or above.

CVS modules:

Chapter 1: Development Setup

The CroftSoft Collection had been frozen for some time as a pre-compiled online demonstration of the source code documented in the book. It has now been updated to use the current version of the CroftSoft Code Library. It will be updated incrementally as time progresses. You can still see a demonstration of the original code by running the build distributed with the archive that was created when the book was published.

Chapter 3: Swing Animation

If you are using Java 5.0, you will want to use NanoTimeLoopGovernor for high resolution timing. It replaces WindowedLoopGovernor as the default LoopGovernor provided by DefaultAnimationFactory. These updated Java 5.0 classes are in CVS module "core".

Chapter 5: Advanced Graphics

I found that the applet in the CroftSoft Collection that relied upon BufferedAnimatedComponent stopped working. I suspect this is due to a change in the way VolatileImage was implemented in going from Java 1.4 to Java 5. The class BufferedAnimatedComponent should be considered deprecated. Please use class AnimatedComponent instead.

Chapter 6: Persistent Data

As an update to the "Persistent Data" chapter, I have written a new tutorial, Enumerated Accessors. Data management and persistence are simplified by using new features that have been added to the Java programming language such as enumerated types and JAXB.

Chapter 8: A* Algorithm

On page 378, I explained how the probability of an enemy tank firing during a game loop update could be approximated by simply multiplying the firing rate with the reciprocal of the frame rate. As part of my recent computational neuroscience research into how to simulate the firing rate of a spiking neuron, I have acquired a more detailed understanding of the mathematics. Please see my slide presentation on the Poisson Distribution for both the exact formula and justification for the approximation.

Chapter 11: HTTP Pulling

As part of my recent work on the Peer-to-Peer Virtual Reality Learning Environments project at Whoola, Inc., the example program described in Chapter 11 is being incrementally converted from a 2D multiplayer client/server architecture to a 3D massively multiplayer peer-to-peer (P2P) system. Many of the technologies described in the section titled "Extending the Example" at the end of the final chapter are now being explored. Whoola has authorized the release of the new code as Open Source via the whoola project page.

Of particular interest is Whoola XML Relay, a small but powerful servlet that simplifies multiplayer network game programming. For an example of Whoola XML Relay in action, see scenario "Dock" in the Whoola Space Center.

Appendix B: Introducing CVS has changed the CVS host for project croftsoft from to

Appendix C: Checklist

The AJGP Checklist is an online supplement to the book. It is my personal checklist for creating an animated Java game or simulation.

CroftSoft Web


Creative Commons License
© 2011 CroftSoft Inc.
You may copy this webpage under the terms of the
Creative Commons Attribution License.