A Good Start To Adventure Game That Never Was
My attempt at creating a Wizardry like RPG for the ZX81.
When I was a child, I remember going over to a friends house and playing Wizardry on his Apple. Leaving his house, I was super excited about the game I saw. Although my lowly ZX81 was no match, I had visions of creating my own games like it. My attempt, although a test, could have been so much more.
A play area to be proud of.
Grounded in the play areas, Wizardry looks good. Starting out as I often did, I sketched out the screen and a few monsters. Once done, I set off to build my world with this screen in mind. In the square to the upper left, I intended it to display the current monster of sorts. The top middle acted as a cheat sheet, showing you how to play. The top right showed the current level, although it isn’t used in the test.
Moving down, below the top was a graphics area. Meant to show objects, this area displayed the objects within the room. Given this is a test, the area isn’t fleshed out. As implemented, Wizardry will show you the dead monster and any gold you find.
Below that area, the program displays your statistics. Standard adventure fare, you have lives, keys and gold. The area indicator isn’t implemented and, as such, won’t display anything. Along the same lines, although there are keys, ribbons and jewels displayed, you can’t get any in this demo. Shame, as it would have been nice to see those get updated.
Wizardry reserves the bottom area for text—descriptions, messages, and the like. This is the major information displayed in the game. Together, the game area works well for what it is. I would have designed it different today, but at the time it made sense.
Given the game a spin.
Wizardry starts out with a typical intro of adventuring for royalty. You, of course, don’t have much choice but to kill monsters or be killed. Glory and gold, which is for the crown, are laid out before you. The opening is promising as your quest begins.
In the real game, there would be several rooms and monsters for you to encounter. I even coded a few other options, although none were implemented. Instead, for six quest moves you have a dragon to contend with. Spoiler alert, there is only one action you should use: fire your bow at the dragon. Any other action results in death. You have been warned!
Even then, killing the beast isn’t certain. A random test is performed and, if you succeed, you slay dragon and find some gold. Rinse and repeat for the rest of the game. Kill or be killed, there is no middle in this game. If you succeed, you win the quest! Fail, and you go down in history as that great adventure that couldn’t kill six easy dragons in a silly Wizardry game. Yeah, good luck with that.
An incomplete framework.
If you dig into the game itself, you’ll find it pretty bare bones. The game spends a lot of time building the play area and setting things up. Since this is a test, there isn’t much real code in the game. A routine starting at line 1000 loads the quest code. In this case, the six dragons you will fight.
After the skipping past the three other creatures I had planned to make, Wizardry displays a weird beast with wings and long legs. A dragon is in the area, although I’m not sure if that is the beast displayed or not. Now, it is your turn.
After choosing the only option you should—hint: enter #2, the program tests if you hit or not. Missing, it takes a life and moves on. If you kill the dragon, it displays a body and gives you some gold.
The original version of the game didn’t end, instead failing through to existing code. To make it passible, I added some routines to deal with finishing the demo. One way is to run out of lives, which will display a message and restart. If you do make it to the end of the quest, a different message will display showing you have finished it.
Needing more work than I gave it.
Although the game play is short and simple, the guts are there. It wouldn’t be hard to flesh out. The first step would be to clean up the creature graphics and make the game follow some sort of narrative.
Digging into the code, I discovered that I used an array to craft each step of the game. Because of this, it would be easy to build out a story with different actions. Given time, I should have added more interesting quest steps to progress through. The linear nature of the game would be repetitive, something to plan for.
Given most of the mechanics aren’t working, I’d wonder if some of the actions are valid. Reviewing the design, I should have either simplified or picked different actions. The game could get complex, and some actions like jump may not make sense. Never progressing the concept byond the graphics, there is a lot of work that still needs to go into the game.
I should note that I wrote this game a very narrow understanding of RPGs. Even so, it has some good ideas. Looking back on it after Ultima and Bards Tale, I would have gone a different direction. But as designed, I can see that it is possible to make this a game that would fit within the memory of the system.
My time with the actual Wizardry game was minimal. As such, there is little chance of this game looking anything like it. Concepts might be there, but the mechanics aren’t.
Making it a real game.
As I noted, Wizardry is a framework that I need to complete. Although the the game engine is complete, I expect I would need to expand it quite a bit. It is shame I never kept working on it. The look and feel are interesting, although the graphics are quite basic. If I could have crafted a decent story with characters, the game would be fun at least for a run through.
Although designed to be linear, changing it up wouldn’t be hard. Given that you could enter or exit things, I could see the game using the encounters as you enter an area. Clearing specific encounters would let you progress.
One thought, you could use the keys to leave the area once obtained. The ribbons or jewels could be used as currency to heal yourself, or upgrade your weapons. Random encounters would act as teasers for boss fights.
Each of these elements isn’t hard to put in place. Wizardry has a simpler design, and I can see these elements fitting in memory. This isn’t as ambitious as my more modern attempt to build an Ultima like game. That one was graphic intensive and required machine language to work. Wizardry could use the improved speed, but BASIC should be fine for its concepts.
Looking back, it is a shame this is only a test program. Although short, Wizardry give you a glimpse into how my mind worked. I love the idea of the adventure game, but wish I’d finished it. Sadly, I have too many of these games strewn through my life waiting for me to complete them. Here’s to hoping I do one day.