Eric's Page

On This Site:

Nifty Hacks:

You Should Visit:

Projects I Manage:

Eric M. Dashofy's Early Work

This is some of my earliest work that I did when I was a kid, aged 10-13 or so, back in the late 80s/early 90s.


Introduction to Computing

When I was a kid, the family computer was a Commodore 128. This thing was quite the machine. It was capable of running as a Commodore 128, but if you held down a particular meta-key (the Commodore key) on bootup, the system would transform itself into a Commodore 64, ensuring backward compatibility with the 64's massive software and hardware library. You could also boot CP/M off a disk and run CP/M applications off the onboard Z80 processor.

We got the thing when I was 10 or 11 years old, I forget which. I learned to write code on it, mostly teaching myself by trial and error, and reading the examples that came in the computer's manual. Eventually, I got a subscription to Compute's Gazette, the Commodore equivalent of something like PC World, which had type-in program listings and columns about programming and such. There was even a long-running debate over whether the Commodore 64 was better than the Nintendo Entertainment System. Prompted by an obviously biased and one-sided opinion on the issue they published from one of their readers, I wrote a scathing two-page rebuttal, a paragraph of which was actually published in a later issue of the magazine. If I can find my copy of the issue, I'll scan the page and post it.

Anyway, the family were also members of Quantum Link, better known as Q-Link. Q-Link was one of the first national dial-in online services for personal computers, and definitely the most popular one on Commodores. You could dial in on your blazing 1200 baud modem (yes, they were bauds back then) and chat in chatrooms, download files, play games, listen to music, basically all the stuff you do on the Internet today. Quantum Link eventually changed its name, and, keeping up with the times, established a small workalike service for PCs. You might have heard of it, it's called "America On-Line." Seriously.

On Q-Link, there was a public files area where you could upload programs you wrote, and download programs other people had written. All the files were free, but you had to pay for the connect time. Some of them were actually pretty decent. And, what was a young programmer to do to share his creations with the world? Well, I, like many other 'Linkers, uploaded my work for peer review. So there it stayed. As I recall, it was fairly favorably reviewed. I had a few programs on there, mostly my later work.


The Unicron Series

My crowning achievement was a text-adventure game called Unicron that balanced text-adventure elements with elements of a role-playing game. I think its success was mostly because I ported it to the Commodore 64, where it was accessible to more users. I didn't realize that I had stolen the name from a giant, world-sized Transformer, until years later.

Inspired by this success, I (of course) set out to work on the sequel. Unicron II was bigger, more complex, and richer than Unicron I. It was so big, in fact, that it wouldn't even load on a C64...it took up too much memory, so you had to run it on the 128. This was the biggest and most ambitious coding project I ever actually completed on the Commodore.

Well, time passed and I eventually got sidetracked by getting a PC, a 286-12 with 1MB of RAM (The C128 had a 1Mhz processor and 128K of RAM. The 1Mhz processor could double its speed to 2Mhz, but it would blank the video in the 40-column color mode). Anyway, many years later I came to find out that there was a Commodore community that was still alive on the Internet. And, lo and behold, somebody had archived some of the old Q-Link files. And among them I found my old Unicron II code. Thanks to some dedicated programmers, many good emulators are available for the C128 that can let your multigigahertz PC run a little tiny C128 in software.

Combined, the two allowed me to once again experience the text-based world of Unicron II, which I present here for your enjoyment. Please recall that I wrote this in 1990 at the age of 12, so you'll have to cut me some slack.

I do have the prequel, Unicron I, somewhere on some PC; I recall transferring over via a direct modem connection; if I find it, I'll post it here.


Unicron II in the Modern Era

If you want to run Unicron II today, you need two pieces of software:

  • A Commodore 128 emulator. Vice is perfectly adequate, and runs on Windows, DOS, OS/2, BeOS x86, and MacOS X.
  • The Unicron II disk image, which I am releasing into the Public Domain.

Note that Vice (and I suppose other emulators) remap the PC keyboard so it works like a C128 keyboard, which was most definitely nontraditional. Back then, the double quote character (") was actually Shift-2, and the asterisk was to the right of the 'p' somewhere. Please don't ask me how to use a C128, the manuals are out there and avaialble on the Internet. Also, I don't really remember that well :)

For fun, I took some screenshots!

Load Screen Splash Screen
I can't believe I still remember the commands to load a file. Yes, the BASIC was really © Microsoft. That appeared every time you turned the machine on. The fancy splash screen. This is actually animated a bit, you have to run the program to see for yourself.

Copyright Date Docs Intro
Yep, 1990. I turned 13 that year, although I believe I wrote the game in the early summer. All I can remember is that my brother was constantly playing his tapes, which included the Phantom of the Opera Soundtrack and Paula Abdul's "Opposites Attract." You could have the program spool out the documentation at the beginning of the game if you wanted to. This takes about five minutes to completely spool out. Ironically, this is more documentation than I include with my software now.

By the way, cool story, huh? :) This is the backstory chronicling what happened in Unicron I.

Weapons Spells
One key way to evaluate an RPG in 1990 was to ask how many different weapons it had. Therefore, Unicron II had lots of weapons. Unfortunately, they were basically all functionally identical; they just did different amounts of damage. Note also how many different works I'm ripping off here. The "Cutlass of the Crescent Moon" is an obvious allusion to the Canyon of the Crescent Moon, where Indiana Jones finds the Holy Grail in Last Crusade. Also, I took a nod from Final Fantasy and didn't limit myself to medieval weapons. Thus, you can arm yourself with a portable PPC from Mechwarrior. Unicron II added spells to your repertoire; Unicron I had none. Whereas the weapons were uniform, the spells were actually kind of unique. LIGHT, for instance, replaced a torch. CASTLE would return you to the castle from anywhere in the game (or the overworld, I forget which). FLAME SHIELDER was probably required to fight a dragon or somesuch at some point; I forget. The DRAGON spell, if I recall correctly, could only be earned by beating a particular boss. It was a powerful combat spell and was probably required at some point to win the game.

Observant gamers will note that I also liberally ripped off Dragon Warrior for the spells.

Enemies Combat
As with weapons, the coolest RPGs had lots of enemies. So, I had lots (30!). Most of the enemies were pretty identical, however, some enemies could ROB, that is, filch some of your gold when they attacked. Note that about half the enemies here are Dragon Warrior ripoffs as well. You had four basic options in combat, which I ripped off from Final Fantasy. The ability to cast spells during combat was pretty cool, but ultimately by the time you got powerful enough to do it, your weapon was really the way to go. Some of the spells, though, like Vaporize, were one-hit-kill spells, so they could get you out of a pinch. Also, for some reason the game always asked you to type out the name of the weapon you wanted to use (you can just hit 'enter' to use the last one you picked). There's really never a good reason to use anything other than your most powerful weapon, though, so it really should have just autoselected the weapon for you.

Like other RPGs, mindless killing to level-up was a big part of the action.

Townies Some of the Code
Like all good RPGs, you could go into town to buy supplies and gather information from townspeople (here, "townies"). Early players complained that you died too easily, so I put in a sort of "healer" that allowed you to buy yourself ridiculous amounts of HP for cheap in the towns. Unicron II included two towns, two main dungeons, one small dungeon, and an overworld connecting all of them. There was also a hidden 3rd dungeon, and probably a small endgame area where you could fight Death. There were also a couple bosses, if I remember correctly, including the Gooma, which was ripped off from Zelda 2. That's a partial listing of the code. I can't even read it anymore, but I wrote all that at some point.


The Unicron Legacy

I began a third game in the series (Unicron III: Adventurer's Quest), which was a radical departure from the text-adventure nature of the first two games. This third game had an overhead view much like the tile-based RPGs of the day (the Ultima series, Final Fantasy). You controlled your guy with a joystick controller and there were actually little graphical depictions of mountains, valleys, rivers, towns, etc in the game.

The engine was still mostly C128 Basic, although I had picked up some assembly at that point for writing some of the tight routines. I also had learned how to mess with the C128 font table, so the whole thing was done on a 40-column text screen, but with graphical characters as part of a kickass medieval-looking font I designed. So, the mountain wasn't a graphic, it was just a font character. Neat, huh?

I had a demo running, although due to the computer speed you could only view a 5x5 radius around your guy. I had also planned party combat, specialized weapons, spells, etc. The plot was also much, much better, although I forget what it was. The interface, predictably, looked a lot like Final Fantasy's. I think I had planned to rip off Phantasy Star II by that point, too. :)