• Plane Game VGA Mode

    This was the start of a second attempt at a 360 degree scroller game. After working on skywar, I left x mode graphics alone for a while and went back to standard 320×200 VGA. The xlib graphics library was great but I always preferred coding and understanding the basic graphics routines myself. Never really got into working with vertical sync stuff, so you may see a wandering horizontal aliasing line floating in the screen when running the program. However the graphics were (in my opinion anyway) a little better than the skywar game, and I also experimented with palette cycling to create nice shimmering water effects. Also the map was multi-layered, so trees could be put over terrain squares and so forth.

    Flying over a lake. The water actually shimmers using one of my first forays into the world of palette cycling. I also for the first time used a layered map, so tree or volcano objects could be put over terrain objects. Note also the satellite view map of the local area, with a white dot for your current location.

    Flying over a lake. The water actually shimmers using one of my first forays into the world of palette cycling. I also for the first time used a layered map, so tree or volcano objects could be put over terrain objects. Note also the satellite view map of the local area, with a white dot for your current location.

    Flying over some volcanoes. I've never been able to draw volcanoes (well anything really), but especially volcanoes.

    Flying over some volcanoes. I’ve never been able to draw volcanoes (well anything really), but especially volcanoes.

  • Tanken 8 Tank Game – Part 3

    Tanks in midair, just before they fall to meet their maker.

    Tanks in midair, just before they fall to meet their maker.

    To try and compensate for the dirt loss, I introduced dirt creation weapons as well (once again inspired by other games of the era).

    To try and compensate for the dirt loss, I introduced dirt creation weapons as well (once again inspired by other games of the era).

    Of course that dirt has to eventually obey the laws of gravity like everything else.

    Of course that dirt has to eventually obey the laws of gravity like everything else.

    One of my personal favourites, the laser cuts through everything. The Laserdude was a fairly easy intelligence to code, since as long as the computer tank was below you, all it had to do was aim straight at you with this weapon.

    One of my personal favourites, the laser cuts through everything. The Laserdude was a fairly easy intelligence to code, since as long as the computer tank was below you, all it had to do was aim straight at you with this weapon.

    After every round, both the human and computer players have a chance to buy weapons and protection. Weapons range from standard explosive rounds to orbital laser cannon systems. Defence systems include weapon deactivating shields, levitators to stop you from falling and dirt creation weapons which can bury you below a protective layer of dirt.

    After every round, both the human and computer players have a chance to buy weapons and protection. Weapons range from standard explosive rounds to orbital laser cannon systems. Defence systems include weapon deactivating shields, levitators to stop you from falling and dirt creation weapons which can bury you below a protective layer of dirt.

  • Tanken 8 Tank Game – Part 2

    What game like this is complete without everyone's favourite utility weapon - a nuke. Landing it in the right place could really ruin someone's day.

    What game like this is complete without everyone's favourite utility weapon - a nuke. Landing it in the right place could really ruin someone's day.

    Nukes tend to leave large holes in the landscape, as evident here.

    Nukes tend to leave large holes in the landscape, as evident here.

    Nukes aren't the only ways of clearing out dirt. Digger style weapons eroded the dirt from under hapless tanks and doomed them to a long fall, unless they were equipped with a levitating device you could purchase which slowed your fall.

    Nukes aren't the only ways of clearing out dirt. Digger style weapons eroded the dirt from under hapless tanks and doomed them to a long fall, unless they were equipped with a levitating device you could purchase which slowed your fall. More digging. Notice the inspirational taunts that the computer players hurl at you.

    More digging. Notice the inspirational taunts that the computer players hurl at you.

    More digging. Notice the inspirational taunts that the computer players hurl at you.

  • Tanken 8 Tank Game – Part 1

    I wrote this in 1995 when I was in Grade 9 at school, with obviously too much spare time on my hands. This started life as a clone of famous games like Scorched Earth and Bomb32. With input from classmates it quickly developed its own cache of unique weapons and I actually developed it to the point where you could play it.

    As well as being able to play your friends, there were three intelligence levels:

    Brainless – this dude picks a random power and angle and shoots. Sometimes, they’ll even manage to hit themselves.

    Laserdude – Laserdude is quite a bit more intelligent than the Brainless. In the early rounds, before they earn enough money, they will aim at any tank higher than they are with maximum power. In later rounds when they get some cash, they’ll buy lasers and that’s when you’re really screwed. If the round places you above them, better pray that they pick someone else to shoot at, cause they’ll nail you every time.

    Zorkman – This guy is the guy to watch. Whoever they aim at, they’ll nail 99 times out of 100, even allowing for strong winds. And once they get nukes, there tends to be a fair amount of collateral damage as well!

    Here you can find a short video and several screenshots from the game.

    The menu that you see upon entering the game.

    At the start of a round, you find yourself and up to 9 other tanks on nice, untouched landscape. But not for long...

    At the start of a round, you find yourself and up to 9 other tanks on nice, untouched landscape. But not for long…

    I tried to have a large variety of background types, as many as I could get without actually using images and limited by 320x200 256 colour resolutions. Once again some of these are inspired by Scorched Earth or Bomb32.

    I tried to have a large variety of background types, as many as I could get without actually using images and limited by 320×200 256 colour resolutions. Once again some of these are inspired by Scorched Earth or Bomb32.

    Yet another background. The weapons are coming soon...

    Yet another background. The weapons are coming soon…

    Last background only image. I swear!

    Last background only image. I swear!

    Click here for part 2!

  • Skywar Game

    Skywar was my first 360 degree scroller inspired by games like Zone 66. I used the xlib graphics library so I could get access to xmode graphics – 320×240 with at least an extra screens worth of buffer, which meant you could do really nice double buffering. With 320×200 you could even do triple buffering. The result was very nice smooth scrolling.

    I designed and implemented both an enemy air plane type and also an enemy ground based turret type. The turret would simply shoot at you directly, which meant if you had any speed it would usually miss (I didn’t get around to making it lead the target). However with enough turrets around they filled the air with flak so it really restricted how much maneuvering you could do. The planes I designed were simple jet fighters that came after you with a front mounted gun. The jet fighters attempted to chase after you and would keep at it until you outdistanced them, you shot them down or they shot you down. In large packs the jets could be quite formidable. I didn’t arm them with guided missiles since I wanted it to stay fairly easy for the player.

    To fight off these enemies there were four weapons. The simplest was a forward facing machine gun identical to the one the enemy jets were packing. You simply aimed the plane at the target and shot. It could only hit aerial targets. The second weapon was a guided air to air missile. All you had to do was shoot, and it would automatically acquire and chase after the nearest target, until it hit or ran out of fuel. It would also spew forth glorious smoke trails as it raced through the air. The third weapon was a dumb bomb, which you simply dropped as you went over a target. The bomb acquired some of your forward velocity so you had to judge how early to release it based on how fast you were flying. The fourth weapon was a guide air to ground missile. All you had to do was shoot, and it would automatically seek out the nearest ground target.

    A typical aerial dogfight, with enemy jets closing in as we release guided air to air missiles. Note the radar map at top of screen showing the location of enemies.

    A typical aerial dogfight, with enemy jets closing in as we release guided air to air missiles. Note the radar map at top of screen showing the location of enemies.

    Another dogfight scene over open fields, with lots and lots of enemy jets.

    Another dogfight scene over open fields, with lots and lots of enemy jets.

    A clearer demonstration of the air to air missiles tracking in on the enemy jets.

    A clearer demonstration of the air to air missiles tracking in on the enemy jets.

    The great thing about guided air to ground missiles was that you didn't have to fly directly over the target to hit it. Here I am flying at high speed in a line parallel to the target, releasing guided missiles as I fly past the target. They can be seen tracking in on the turrets on the island.

    The great thing about guided air to ground missiles was that you didn’t have to fly directly over the target to hit it. Here I am flying at high speed in a line parallel to the target, releasing guided missiles as I fly past the target. They can be seen tracking in on the turrets on the island.

    Of course there is always the thrill of flying in harm's way and trying your luck with some dumb bombs. Here I'm flying over a turret cluster and dropping bombs. The explosions of the bombs that have just hit can be seen, as can the bombs that are still in the air. You can also see an explosion on my plane where one of the turrets has gotten lucky.

    Of course there is always the thrill of flying in harm’s way and trying your luck with some dumb bombs. Here I’m flying over a turret cluster and dropping bombs. The explosions of the bombs that have just hit can be seen, as can the bombs that are still in the air. You can also see an explosion on my plane where one of the turrets has gotten lucky.

    Attacking the planes with the forward mounted gun, and scoring a hit!

    Attacking the planes with the forward mounted gun, and scoring a hit!

  • Old Games I Coded

    I started programming in Qbasic in 1994, but quickly moved on to (Borland Turbo) C when Qbasic couldn’t give me the power and control I wanted. I got a lot of tips and shared resources from classmates at the time, who were also programming in languages like Pascal, and some of the basics (Pointers!) of C from my older brother. The first fairly complete game prototypes I ever completed were tile-based overhead exploration games, written in QBasic. I had to also develop basic graphics editors in QBasic to be able to draw some of the game’s graphic assets. And some of the low level graphics routines were programmed in in-line assembly, especially some of the screen rendering stuff.

    As my coding and design skills progressed, I wrote a few game prototypes, based on classics like Scorched Earth and Zone 66. I recently came across the games as I was cleaning out some directories, so I decided to put them up on the internet in all their glory (or not). I wish I still had copies of, or screenshots of, the first overhead adventure games but I think they are lost to posterity.

    There are three games here, although only two of them ever got anywhere near to being completed. Skywar is a 360 degree scrolling overhead fighter game, inspired by games like Zone66. Tanken8 was a side view tank fighting game, one of the ones where you have an arsenal of weapons, and you pick an angle and velocity to shoot at, and was basically completed. The third game, just called Plane, was an attempt at a 2nd 360 degree scroller using normal 320×200 non-buffering graphics.

    You can access descriptions and screenshots by clicking on the screenshots below.