All those years ago...
by Kevin Ryan · 07/27/2006 (11:39 pm) · 12 comments
I'm been spending the last few days cleaning up my computer, my office and my web site and found some interesting older game development stuff. Some of it older than some of the people in the Garage Games community.
Minigolf Mania
First, going back all the way to last week. Here are some Minigolf Mania shots:





It is very close to being shipable.
Puzzle Poker
I've been making a few very minor changes to Puzzle Poker on and off over the last few weeks since its soft launch here on Garage Games. Notice that new hint on/off button on the screen shot to the right.
If you haven't downloaded it yet, go ahead and give it a try, it is only a 3.4 Mb Windows download and 5.6 Mb Mac download.
It was made using Torque Game Builder.

Ball Blast
Ball Blast is actually only a couple of years old. I created it for the August 14, 2004 Game in a Day (GID). If you haven't heard of GID, it was started up by Tom Bampton and is a great way to rip through a lot of code to quickly come up with a game prototype.
I wrote a journal while working on Ball Blast. Not a very exciting read, but you can see how things developed throughout the 24 hours.

While rearranging things on my computer I realized I never uploaded the final version for people to try out. This version allows Internet/lan play for up to 4 players. If there aren't 4 humans than total random no AI computer opponents will fill in for them.
You can download the final Ball Blast GID version by clicking here. It uses one of the earlier versions of the Torque Game Engine. You should be able play against up to four other players over a Lan or the Internet.
It has no gameplay polish and many obvious flaws. It was an experiment on my part to see if I could come up with a game idea where you play by only moving the mouse and don't use either mouse button.
All those years ago...
I worked on Zoo Master during my senior year the University of Oregon in 1983. It was written for the 48k Apple II Plus in 6502 machine language. The Apple II was 1 Mhz so you would want to do coding tricks like unroll your loops for speed. Most of the instructions took between 2 and 4 cycles.
I think I remember the resolution being 280x192. The Apple II also had a interesting way of specificing pixel colors. If two neighboring bits were set then the color would be white otherwise the color would be either red, green, blue, or purple depending upon if the pixel was on a even or odd screen pixel location and also whether the 8th bit was set or not. Three zero bits in a row would give you at least one black pixel.

At the time I did not have an assembler so I wrote it by typing in all the instructions in HEX code into the Apple. The branch instructions in 6502 were relative to the current instruction memory location. So if I wanted to branch forward to an instruction 10 bytes ahead I'd use $0A and for branching backwards I'd use a negative number like $F4. For forward branches I had to estimate how many bytes my code would need to jump over and then go back and fix the branch instruction if I got it wrong.
Since I wasn't using an assembler everything ended up being hard coded to fixed memory locations on the Apple. The upshot of this was that I had to write bug-free code because they would be a pain to fix. I actually did have a couple bugs where I ended up I having to JMP to a free memory area do what I needed to do and then JMP back using some NOPs to clean up in the patch area. Went against my structed code college stuff, but what else could I do. I think there was an assembler available for the Apple back then, but it was beyond my college days budget.
Funny how I can still remember what hex values correspond with which 6502 instructions - for example:
You had three 8 bit registers available to do computation with, but only the A register could be used for addition or subtraction. You could only increment (INX,INY) or decrement (DEX,DEY) the X and Y registers. There was an add with carry (ADC) instruction so you could do 16-bit computations easier.
I wrote this game for the technical fun of it. It was published by Earthware Computer Services, but never really sold. I actually played it online a few months ago somewhere online.
After Zoo Master came out I made my home town paper which made Mom and Dad proud.

What is the date on the newspaper anyway? My eyes do not work as well as they used to.
In Closing
If anyone finds this at all interesting let me know. I've got lots of notes, concept artwork, and design stuff going back through the years. I could write short plans on older games for different platforms and also on some game projects that never saw the light of day.
Oh, one other thing, I've set up all my previous plans on a web page.
Minigolf Mania
First, going back all the way to last week. Here are some Minigolf Mania shots:





It is very close to being shipable.
Puzzle Poker
I've been making a few very minor changes to Puzzle Poker on and off over the last few weeks since its soft launch here on Garage Games. Notice that new hint on/off button on the screen shot to the right.If you haven't downloaded it yet, go ahead and give it a try, it is only a 3.4 Mb Windows download and 5.6 Mb Mac download.
It was made using Torque Game Builder.

Ball Blast
Ball Blast is actually only a couple of years old. I created it for the August 14, 2004 Game in a Day (GID). If you haven't heard of GID, it was started up by Tom Bampton and is a great way to rip through a lot of code to quickly come up with a game prototype.I wrote a journal while working on Ball Blast. Not a very exciting read, but you can see how things developed throughout the 24 hours.

While rearranging things on my computer I realized I never uploaded the final version for people to try out. This version allows Internet/lan play for up to 4 players. If there aren't 4 humans than total random no AI computer opponents will fill in for them.
You can download the final Ball Blast GID version by clicking here. It uses one of the earlier versions of the Torque Game Engine. You should be able play against up to four other players over a Lan or the Internet.
It has no gameplay polish and many obvious flaws. It was an experiment on my part to see if I could come up with a game idea where you play by only moving the mouse and don't use either mouse button.
All those years ago...
I worked on Zoo Master during my senior year the University of Oregon in 1983. It was written for the 48k Apple II Plus in 6502 machine language. The Apple II was 1 Mhz so you would want to do coding tricks like unroll your loops for speed. Most of the instructions took between 2 and 4 cycles.I think I remember the resolution being 280x192. The Apple II also had a interesting way of specificing pixel colors. If two neighboring bits were set then the color would be white otherwise the color would be either red, green, blue, or purple depending upon if the pixel was on a even or odd screen pixel location and also whether the 8th bit was set or not. Three zero bits in a row would give you at least one black pixel.

At the time I did not have an assembler so I wrote it by typing in all the instructions in HEX code into the Apple. The branch instructions in 6502 were relative to the current instruction memory location. So if I wanted to branch forward to an instruction 10 bytes ahead I'd use $0A and for branching backwards I'd use a negative number like $F4. For forward branches I had to estimate how many bytes my code would need to jump over and then go back and fix the branch instruction if I got it wrong.
Since I wasn't using an assembler everything ended up being hard coded to fixed memory locations on the Apple. The upshot of this was that I had to write bug-free code because they would be a pain to fix. I actually did have a couple bugs where I ended up I having to JMP to a free memory area do what I needed to do and then JMP back using some NOPs to clean up in the patch area. Went against my structed code college stuff, but what else could I do. I think there was an assembler available for the Apple back then, but it was beyond my college days budget.
Funny how I can still remember what hex values correspond with which 6502 instructions - for example:
- JSR C - JMP - RTS
You had three 8 bit registers available to do computation with, but only the A register could be used for addition or subtraction. You could only increment (INX,INY) or decrement (DEX,DEY) the X and Y registers. There was an add with carry (ADC) instruction so you could do 16-bit computations easier.
I wrote this game for the technical fun of it. It was published by Earthware Computer Services, but never really sold. I actually played it online a few months ago somewhere online.
After Zoo Master came out I made my home town paper which made Mom and Dad proud.

What is the date on the newspaper anyway? My eyes do not work as well as they used to.In Closing
If anyone finds this at all interesting let me know. I've got lots of notes, concept artwork, and design stuff going back through the years. I could write short plans on older games for different platforms and also on some game projects that never saw the light of day.
Oh, one other thing, I've set up all my previous plans on a web page.
#2
I remember when I was new at GG and Jeff kept saying how you should have 100 good game ideas, and I thought that was crazy. I'd have only one or maybe two kicking around. Now I know at least something of what he meant, and it's cool to see the other 95 ideas that are floating around in other peoples heads.
07/28/2006 (12:16 am)
Well, I thought it was cool :)I remember when I was new at GG and Jeff kept saying how you should have 100 good game ideas, and I thought that was crazy. I'd have only one or maybe two kicking around. Now I know at least something of what he meant, and it's cool to see the other 95 ideas that are floating around in other peoples heads.
#3
Why did i notice that.... I'm weird... I know...
07/28/2006 (1:42 am)
Dunno how old yur profile picture is... but you didn't age much... Why did i notice that.... I'm weird... I know...
#4
Luckily, I managed to find an article on some hacker site about how to code an assembler, so with a bit of messing around, managed to write an assembler for my own Atari stuff. Then wrote a bunch of really crappy game-lets :)
People get scared of assembler, but honest, this stuff was the simplest thing, you just had to be methodical is all. Hell, we even did quite a bit of assembler in early PC games, all of those rep stosb's :)
07/28/2006 (1:56 am)
Ahhh.. those were the days. Hacking on 6502 based machines in hex.Luckily, I managed to find an article on some hacker site about how to code an assembler, so with a bit of messing around, managed to write an assembler for my own Atari stuff. Then wrote a bunch of really crappy game-lets :)
People get scared of assembler, but honest, this stuff was the simplest thing, you just had to be methodical is all. Hell, we even did quite a bit of assembler in early PC games, all of those rep stosb's :)
#5
07/28/2006 (7:01 am)
Wow. Thanks for the trip down memory lane. I remember trying to figure out the 6502 (and never really being able to back then!). I haven't thought about that in years. I've done my share of asm programming in the past, but when I was tryign to figure it out then...oy vay!
#6
07/28/2006 (8:34 am)
Ahhh memories. Of course, I was 4 in 83 so I didn't start til later (1987, on a spectrum, Z80 > 6502 >:) ) ... man, I miss the 8bit days. It was so much simpler - and to some degree, more fun - in those days. That said, everything seems simple when you're 8 ;-)
#7
07/28/2006 (12:55 pm)
=o Minigolf Mania still exists? I remember playing a demo of that at IGC in 04' and it was awesome, but nobody seemed to know what had happened to it since. Glad to see it's still around!
#8
07/28/2006 (1:16 pm)
Damn, I remember giving assembler a try back then, but I hated it. I was only in high school at the time, though. Too busy playing Wizardry (back before it was numbered) to notice yours, I guess...
#9
Thanks for sharing this stuff, Kevin. It's easy to lose track of history - and good to preserve it.
07/28/2006 (2:54 pm)
Looks pretty darn cool. A history of game dev that's older than I am. Wild. :)Thanks for sharing this stuff, Kevin. It's easy to lose track of history - and good to preserve it.
#10
The Acorn Electron was first released in 1983 which was my first computer :)
Whilst we're going down memory lane, a lane that is a lot shorter for some of us than others ;) Anyone remember Amos on the amiga? The source is now available www.clickteam.com/eng/downloadcenter.php?i=58
07/28/2006 (4:03 pm)
1983, so this would be a very belated congrats huh ;)The Acorn Electron was first released in 1983 which was my first computer :)
Whilst we're going down memory lane, a lane that is a lot shorter for some of us than others ;) Anyone remember Amos on the amiga? The source is now available www.clickteam.com/eng/downloadcenter.php?i=58
#11
07/29/2006 (9:01 am)
Quote:Dunno how old yur profile picture is... but you didn't age much...The picture is a couple of years old. People have told I haven't aged much. By the way, does anyone know who that guy is that is holding me?
#12
My college roommate and I wrote a few games for the Atari, but never even attempted to publish anything. I think we were too busy playing WayOut! and typing in adventure games out of Compute magazine to really finish anything, :-).
07/31/2006 (1:18 pm)
Atari 800 was my favorite way back then (the early '80s), but I taught myself assembly by typing hex codes into the debugger on an Apple ][ or ][e my mom brought home from school for me to use during the summer between my junior and senior highschool years.My college roommate and I wrote a few games for the Atari, but never even attempted to publish anything. I think we were too busy playing WayOut! and typing in adventure games out of Compute magazine to really finish anything, :-).

Torque 3D Owner Jesse Liles
Kevin Ryan of Fresno has high hopes for the success of his video game invention.
That's pretty cool =) I'd say you found some success.