Background



At the University of Manitoba, the second-year Computer Science class is often assigned a game as the major project for the Algorithms and Data Structures course. The aim of the exercise is to force the students to code a non-trivial, but manageable, project involving complex data structures.

When I took the course in 1996, Prof. Al Marshall assigned Critical Mass as the year's game, and provided us with a sample implementation that he had found on the web.

We were not expected to do a fully-fledged GUI. Some of us did anyway. In the process, I learned how to code a System 7-compliant application on the Mac.

When the name and the rules were described to me, I knew that my version had to involve nuclear physics, so I shanghaied J Waschuk into creating suitable artwork for the game. (Hey, the assignment was to code the game, not to draw the pieces!)

Later that same year, when Java was new on the block, some friends and I attempted to port Critical Mass to Java. We succeeded (mostly), but had severe problems making sure that the pictures and sounds loaded in the right sequence, and ended up with no very high opinion of Java (especially the 1.0 JDK).

When I started working on the BeOS, and registered as a developer, I decided to port Critical Mass to BeOS as an exercise in learning the BeOS API.

Eight months later, I completed it, and posted it to BeWare.

Rumour has it that, shortly thereafter, it was banned from Be's headquarters, due to it's addictive qualities. Whether that is true or not, quite a few people at the Spring Developers' Conference seemed to recognize it. :->

After some difficulty with resource formats, more difficulty finding a Pentium box to compile on, and lots of schoolwork, I have finally got round to compiling an Intel version, and documenting it.