A few weeks ago I was bored and stuck with a PC were I couldn’t run my 8 bit emulators. I then decided to go for QB64 and start on a project that had been running around my head for quite a while.
I’ve always wanted to write an adventure game, something like the classics from LucasArts, or Zork. And I had realized that writing an “engine” would probably be no more difficult than a stand alone game, with the advantage that creating new games would be much easier.
So I started working on what is now “eSage” (for ‘extremely simple adventures game engine’)
It turned out to be far easier than expected, and that led me to keep adding new features, to the point where I had to write a manual, because I couldn’t remember all the commands I had implemented.
The system is quite simple. Each game is divided in “Steps”, in which you are given options that will take you to other Steps, not unlike those “create your own adventure” books.
Each Step has a background image and sound, as many additional images and text as you want, with a list of options that determine to which Steps you can jump to, and the score that you get for choosing that option.
I eventually added support for multiple fonts and colors, random jumps, and a few other features.
It is still not finished, but I think that any improvements that I add from now on will not break the scripts from current games. In short, this means that if you create a game now, and I update the engine, your game will still work.
Here is a sample script:
Number of steps,5
text You are the new Captain of the USS Enterprise/H180/V5/C030444
text and have been ordered to patrol/H385/V6/C030444
text the Romulan Neutral Zone/H350/V8/C030444
Option Helm, set a course/3/10
Option No way, that is dangerous. Helm set a course for Risa/2/0
text While “relaxing” in Risa, you get a VD!/H250/V9/C400004
text Your career in Starfleet is ruined!/H280/V10/C400004
text Sir! A Bird of Prey decloaking on the starboard bow!//H280/V10/C400004/F2
Option Fire at will/4/3
Option Hail them/10/3
In a few days, I will be uploading the “runtime” program, eSage itself, and the manual, to http://www.hscomputadoras.com/HERMESOFT/hermesoft.html