obsolete.computer

the-maze/.

An old project originally written in QBasic, currently working on porting to QB64 and/or FreeBasic.

Directory Listing

total 116K
drwxr-xr-x 4 4.0K Jul 8 14:52 ./
drwxr-xr-x 4 4.0K Jul 8 15:18 ../
drwxr-xr-x 2 4.0K Oct 3 2022 original-code-and-data/
-rw-r--r-- 1 16K Mar 10 2025 edit.bas
-rw-r--r-- 1 766 Jul 18 2011 edit.ico
-rw-r--r-- 1 32 Oct 3 2022 editicon.rc
-rw-r--r-- 1 11 Jul 2 12:14 edit.ini
-rw-r--r-- 1 33K Jul 8 14:52 game.bas
-rw-r--r-- 1 12 Jul 18 2011 game.ini
-rw-r--r-- 1 20 Jun 25 14:27 .gitignore
-rw-r--r-- 1 248 Oct 1 2022 LICENSE
-rw-r--r-- 1 1.3K Jul 2 21:22 Makefile
-rw-r--r-- 1 766 Jul 18 2011 maze.ico
-rw-r--r-- 1 32 Oct 3 2022 mazeicon.rc
-rw-r--r-- 1 1.5K Jul 8 13:51 README.md
-rw-r--r-- 1 100 Sep 27 2022 summary.md
-rw-r--r-- 1 3.9K Jul 2 12:13 world1.dat

Download

  • Git clone URL: https://obsolete.computer/static/code/the-maze/.git
  • Download Tarball (Built 2026-07-08): the-maze.tar.bz2

Readme

the-maze

Originally a DOS Game written in QBasic, now a FreeBasic in "QB Mode" project. That's probably as far as it'll go, as there's entirely too much technical debt to make it worth working on in any serious capacity in 2025, but I just wanted to get it working again and on Linux.

AHEM. Update 2026: Thanks to coding agents (in my case Grok), the code is now compiling using -lang fb and has a revamped, somewhat modernized code base, including a more robust Makefile. From here I'm hoping to add sound and custom graphics.

Building

You should just be able to type make in the code directory (after installing FreeBasic of course). A directory called out will be created with the executables and game data... cd into it and run ./game. That's it, there's no install target. (You can also type make run in the code dir and it'll build/run everything)

Keys

In the game: Arrow keys move. E switches to the level editor. L loads a new game file (you'll be asked to provide a filename - the default game is world1.dat so don't overwrite that). Esc quits the game.

In the editor: Input is mainly mouse-driven, so you can select object modes at the bottom of the screen and place them with the left button. Erase an object of the current mode using the right mouse button. Use the arrow keys to move rooms. Click PLAY to save your world and switch to the game. Esc exits to the OS.

Recent Changes

  • [ad27b77] 2026-07-08: Improve some variable names
  • [6b34acc] 2026-07-08: Set up constants for maxima
  • [7585f02] 2026-07-08: Move entity arrays into the game state
  • [649e433] 2026-07-08: Updated README for 2026 changes
  • [b837f81] 2026-07-02: Fix run target

License

This project is in the public domain.

Contributing changes back to this codebase and giving attribution when reusing this code are both wonderful things, but neither are necessary.

Meta