Hazard Maze

RTL library by Enhanced Creations, 1999

Game Play

Goal: Get to the exit (the bluish poral)


  • : Move forward
  • : Move backward
  • /: Turn left/right
  • : Pick up item, use item (doors/switches/hammer/spell book)


  • You can only hold one item at a time. You’re stuck with it until you use it.


This project started as a series of images in MS Paint. I imagined making some form of 3D maze game, where you had to find you way through a series of corridors to the exit. For a while I drew what I thought would be suitable artwork for the game, such as a hallways, dead-ends, etc. I had no idea how to do something like raytracing, nor the patients to learn it, so for a long while this was just an idea in my head, along with a bunch of bitmap files.

At the same time I was looking at a few games in the All Basic Archive, a compendium of Basic programs that you could download and browse. There was one game in there called Labrienth, in which you had to find your way through a maze and do things like collect keys to open doors, collect planks to go across water, etc. I found it to be a fun game to play and I eventually got around to making some levels for it (I can’t remember if it came with a level editor or if I actually made one, I think it actually came with one).

One other goodie I found from this All Basic Archive was this raytracing library by Enhanced Creations. It came with this demo app in which you could walk around a 3D space, and do things like open doors. The engine supported textured walls, floors and ceiling; sprites, skyboxes, etc. I can’t remember if the library itself was implemented in Basic, or whether it only had a binding to it. Either way, it blew my mind that this was even possible, and I started work on what would eventually become one of two games using that library.

I took the demo project and starting attempting to make changes to it. After gaining some success, I started making turning it into this idea I had, along with adopting the ideas and levels from this Labrienth game — both the three original levels and the six others I made. The wall textures were all from the original library. I coded up the graphics for the sprites used for the pickups, such as the keys and “planks” (these were taken by drawing them with Basic primitives during game launch). And I eventually rigged up a demo system much like the original Doom.

It ended up being the most complex thing I made with QBasic at the time (and since, given that I don’t work with QBasic anymore).