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
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.