Tutorial Index

OSG/SDL Game Demonstration - Sheepshooter


Introduction:

Sheepshooter was a game I created to demonstrate a way to tie together all of the techniques presented in this tutorial set. It is a very simple game, taking only a few months to complete.

The story goes as follows: There once was an old king. Err.. scratch that. There once were TWO old kings who lived in a land populated by... only themselves. In fact, the world was theirs to rule, as the world was a simple, flat polygon that cut off at the edges of their castle. Nevertheless, these kings were mighty angry at each other because they had nothing to look at each day EXCEPT one another. In a fit of rage they decided to wage war, using the only weapon available to them: sheep. So the kings built catapults, and proceeded to launch sheep day in and day out. This is where you come in, lucky player!

Sheepshooter is a two player game, though it can be played alone if you so desire. Actually, it's easy to cheat that way by 'accidentally' causing all of player 2's sheep to shoot in the wrong direction. But you wouldn't do that, would you?

What to do? Simply put, you position your catapult, aim, and fire your sheep at the enemy king atop his pretty little castle. If you hit him, you're rewarded by some mysterious voice (I think it's the boogey man) congratulating you on wasting the enemy king. You the sheep is shot with constant power. Note well that both wind and gravity play a part in throwing your sheep off of the intended path, so use this to your advantage.

Note that Sheepshooter was designed on a Linux based machine running OSG 2.2 and SDL 1.2.11. SDL_Mixer is required as is libogg. It may run on other platforms / configurations, though I haven't tested this theory as my machine runs linux only. To run, first make the program via make and then ./run.

Controls:

Rotating Catapult:
up    - up arrow key 
down  - down arrow key 
left  - left arrow key 
right - right arrow key 

Shooting That Sheep:
shoot - spacebar

Screen Shots:



Game Code:

Sheepshooter!