This idea comes from some years ago; basically a 3D lode-runner type game with a weird topology: if the runner bumps into a wall he climbs up (like the fighting scenes in "The Matrix" or "Crouching Tiger, Hidden Dragon") but if he reaches an edge he falls, in the current downwards direction. I.e. the direction of gravity changes. To keep the world finite it is enclosed in a cube. Typically characters walk on the ceiling/up walls/pipes etc.
After many attempts (openGL in 1996 was too slow, Java in 1998 with line graphics was too dense), after someone put an amazing sculpture in the local bus interchange, after a lot of learning about graphics engines, and after the SDL game competition, here is 8000 lines of pure c coded madness!
While it is still in the prototype stage, if you have a Linux machine handy you can try it out. You will need the SDL library.
Custom built (fast!) graphics engine; can run on old pentiums.
User controlled perspective.
The cube walls, normally transparent, light up when characters are walking over them.
All moves implemented: walk, rotate up, turn, dig, fall off, fall, take parcel, drop parcel, go to next level (walk on blue square), and character collision.
To make a game that is fun and mind bending to play.
To explore dense 3D geometry.
To run on slow machines without graphics hardware acceleration.
To explore alternate realities ( see A Mathematician's Apology)
distortion of space,
To explore the use of algorithmic music composition and dynamic sound synthesis.
Automatic camera positioning.
Demo mode: yes, it is possible to play this!
Easier gameplay, for instance you can't dig 3 holes in a row like the original. It is not (yet) possible to dig in any direction, only in the forward direction. This would involve adding a new move "turn and dig", triggered by, say, a shift-arrow combination.
Texture mapping of surfaces.
Some flesh on the runners (and arms too); use (real time) raytracing.
AI for the bad guys (Dijkstra's algorithm would kick ass).
To have the sound track respond to the player's actions.
A more intelligent way of handling obscuring surfaces (such as the enclosing cube's walls) - eg. switch to a wireframe.
Perhaps a small global map (just pixels and lines) in the corner?
A background, rather than suspended in the middle of nowhere. Eg. some kind of mirror effect where the structure is echoed into the distance.
Refactoring (oh, how i love thee): there are a lot of game possibilities for using this same regular cubic grid world.
Download source code.
If you are going to try this, use '#' to skip a level and ESCAPE will get you out of the introduction. To run on a slow machine (eg. Pentium 100) remove the
If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog: