[New Breed Software] Open Source Software for:
: Linux : Microsoft Windows : macOS : OLPC XO-1 : BeOS/Haiku :
: Mac OS 9 : MorphOS : RISCOS : QNX : AROS :
: Amiga : Atari ST : Nintendo Wii : Sony PS2 : Sega Dreamcast :
: Sony PSP : Nintendo DS : GP2X : GP32 : iStation v43 :
: Nokia Maemo : PalmOS 5 : Sharp Zaurus : Familiar Linux : Symbian OS :
: UIQ : Softfield VR3 : Atari 8-bit : Web :
Home | News
About Us | About OSS
The Lab

Our Software
For Development:

Go Go Garbage Truck

Mad Bomber
Teeter Torture
3D Pong
Fight or Perish
Brick Out
Circus Linux!


Super Tux

Gem Drop X
Gem Drop
TTT (Tic-Tac-Toe)
Invenies Verba
Pop Star
PDA Maze


Virtual Kendrick
Tux Print
Tux Paint
Tux Writer

File Selector



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 "src/images/" directory 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 top.
  • 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 at.
  • 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.


    My version:

  • 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).

© 1998-2023 New Breed Software. | Contact Us | Privacy Statement | Legal Info. | Advertise