2011 Sep 03 Sat
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.
Chapter 1: Development Setup
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
for high resolution timing. It replaces WindowedLoopGovernor as the
default LoopGovernor provided by
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
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
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
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
SourceForge.net 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
SourceForge.net has changed the CVS host for project
from cvs.sourceforge.net to croftsoft.cvs.sourceforge.net.
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.