Home | News|
About Us | About OSS
Teeter Torture - Developer Diary
I haven't written a new SDL game for Linux in a while, and this looks to be
one of those games that'll only take a week of evenings to finish, so
I thought I'd keep a little diary of what I did and when. Enjoy!
August 6, 2005
The spark of "inspiration"...
- I saw the game for the first time at California Extreme (a large
video game and pinball machine show), and decided I'd try to clone it.
August 7, 2005
Creating graphics, and hence, a mockup...
- Using a photo of the original, I created a
640x480 mock-up of what the game should look like.
- I created all the artwork by hand in The Gimp (the layered, native
Gimp format files will be found in the "
of the source release)
August 8, 2005
Starting to code...
- I create the main setup routines for the application.
- I got the cannon to appear on the screen, and move left and right
via the keyboard or mouse.
- I tried to simulate the feel of the spinner control that the arcade
game had. (It was similar to a track-ball that only spun left and right,
like the game "Kick" had.)
- Then I created the teeter totter, and had the cannon weigh it down.
August 9, 2005
Monsters and explosions!
- Spent some time at lunch putting together the stubs for the web page.
- Monsters now appear at the top, and fall randomly.
- Monsters stick to the teeter totter and weigh it down.
- I added a bullet with which to shoot the monsters.
- If a monster touches the cannon, it explodes. (A little pixel/particle
effect... and the bits bounce on the teeter totter, which looks cool!)
- Shooting monsters causes similar particles to appear.
- I got most of the remaining scenery drawn (TNT barrel, detonators,
plungers which go down when the teeter totter presses on them).
- Shooting all of the monsters advances to the next level. (Monsters
attached to the teeter totter remain, like in the original.)
- What to do when all of the monsters attach themselves? I decided to
simply advance to the next level, and reset all of the monsters to the
- Finally, if the teeter totter pushes one of the detonator plungers in
all the way, *BOOM!* I created a rather simple "exploding screen" effect
by taking the bottom center ~80% of the screen and blitting it back on the
screen to fill up 100%. Instant cheap, low-quality zoom effect.
- Add some random placement of the zoomed bits, and random tinting of
red/yellow at random degrees of transparency, and the screen really seems
to burst into flames. (Dull flames, but...)
- Finally, why not switch from red/yellow to greys/blacks at the end of
the sequence, for smoke? I think it looks great!
August 10, 2005
- Just improved the explosion a little. No time for anything else!
August 11, 2005
- Googled some, and add links to some information about the game on this
website. Learned a little about the game play, thanks to some screenshots.
August 16, 2005
- The Silicon Valley Linux User Group had a "Hacking Society" gathering
tonight, so I took Melissa's laptop to go work on the game some more.
- The laptop's CPU had decided to step itself down to only 200MHz, so
the game was having trouble keeping up with the 30FPS I wanted it to run
- So, tonight's code fest was converting the main game loop to first erase
most objects one at a time, and keep track of what parts of the screen
changed. Drawing only the parts that changed is a lot faster (but much
less simple to code) than simply erasing the entire screen and drawing
everything, which is what I was doing.
October 18, 2005
- It had been a few months since I worked on this project, and another
"Hacking Society" event was taking place today, so I stole Melissa's laptop
(and her Wacom drawing tablet).
- I added a title screen, and attract sequence. It cycles through
title, instructions and high score table. I based the layout more-or-less
on some photos of the original game's attract screens.
- A title screen needs a title graphic, so I did my best to replicate
the hand-drawn, coloring-marker marquee that the original prototype
sports, using The Gimp and the Wacom tablet. I've never really
drawn anything with that tablet before, and am not a good artist to
begin with, but it came out acceptable.
- Since I now have a high score table, it decided it was time to create
a data file to store high scores in. Perhaps if I add an "Options" screen,
options can live in there (like sound on/off).