3D-Blox: History

Ever since I finished the game Iceblox in the spring of '96 there had been a gnawing urge in the back of my mind to create something similar in three dimensions. I had written a much, much more advanced 3D game of a related type (in machine code on a Commodore 64) while I was in college, but now I had switched to the high-level language Java. Even if I kept the number of movable objects down to a minimum, would it be fast enough?

I was actually working on yet another 2D game when the solution to the problem dawned on me. The question was, should I put that game on ice (no pun intended) in order to take up something new, that might not even work? I eventually decided I couldn't afford to pass up this opportunity if I wanted to remain near the front line of Java game development. In case I didn't try this now, someone else might beat me to it. And that would be a shame.

Experiments showed that a run-of-the-mill computer couldn't handle more than two movable 3D objects at the same time without sacrificing too much speed or smoothness. That meant I not only had to skip the part of pushing blocks of ice around, but the bad guys needed to be replaced by a single, more dangerous opponent. It had to be something that could kill at a distance. I made it a floating eye to get it as scary as possible within the boundaries of a "cute" cartoon-style game.

I've always thought that the player being able to alter the environment is one of the most important ingredients in a (hopefully) popular game. Though 3D-Blox would have to involve more abrupt changes than ice cubes sliding from one position to another. Activating new blocks with the help of special keys seemed like a neat idea. (If I called them "crystal" blocks and made them look a bit spectral, people wouldn't mind so much that they didn't cast any shadows. :-) That also enabled me to give some levels an element of "puzzle" and not just "arcade".

Developing the game took about two months of my spare time. That's pretty much the most I can spend on a single applet without losing interest.