Save the Sheep Project Proposal

 

 

 

Game Name: Save the Sheep
Development Team: John Davin (jdavin AT cmu.edu)
Game Description:

You are on a platform within an area completely enclosed by a brick wall. Within the wall, are your sheep. Outside the wall, a horde of wolves has come to break through the wall and devour your sheep. The wolves will slowly break down the walls. It is your job, as the shepard, to repair the walls by pushing new blocks to the needed areas. Your sheep will produce new blocks (don't ask me how, they just do!). You can train your sheep to produce bricks faster, and also to push the bricks themselves to relieve you of some of your work as the attack becomes faster.

On some sides of the platform that the battle takes place on, the ground drops away as a cliff. If you push a block into a block of the wall that is undamaged, you will actually push back that block, possibly pushing a wolf off the cliff.

Each time a wolf gets into the enclosure, he will eat a sheep and then disappear, contented to have had a full meal. If all your sheep die, you lose. If you push all the wolves off the cliff (though this is not always possible), or survive for a set amount of time, you win.

Note: the sheep and wolves are fairly arbitrary - I may decide to use aliens or something instead.

Game Features:
  • All the stuff I described above.
  • Fun (sure, that can be a feature)
  • Character development of your sheep. You will get to use training points (which accumulate throughout the game) to train the sheep to: 1) produce bricks faster, or 2) move bricks to the wall faster.
Technical Features:
  • Artificial Intelligence:
    • enemies figure out the best place to attack wall.
    • teammate characters figure out best place to reinforce the wall.
  • A* Pathfinding
  • HUD-style overhead map
  • graphics: Modeled objects for creatures (probably). Collision detection between players and bricks
  • Qt-based GUI to provide easier user input, and world state feedback.
Implementation Plan:

Original development:

  • All game engine related code
  • Graphics code - object collision, camera control, texturing, etc
  • GUI code (but Qt OpenGL wrapper may be based on code that I've written in the past).

Outside Code:

  • Model loading from 3D Studio Max using code posted to class dlist by Ben Hollis, and models obtained from web (maybe).
  • Sound files and texture images will be obtained through Google.
Schedule:
  • March 2: Project proposal completed
  • April 6: Milestone 1 due - world rendered, with characters wandering around, and controls for the player to navigate. Basic GUI in place, along with controls for training the characters. Player should be able to push the blocks around.
  • April 20: Milestone 2 due - characters should have pathfinding, and should be able to both create and push blocks. Training system should be functional.
  • April 31: All major features completed. Begin testing/tweaking.
  • May 3: Project Launch and demo
Gameplay strategies:

The user could choose to mostly train only one character (ie, sheep), and make him a very good block builder and pusher. Or you can choose to make some characters only build blocks, and others only push them.

However, the user will not do well if he/she tries to only train characters at building blocks, because eventually the attack will speed up such that the user alone will not be able to push all the blocks in time. Also, as you train the characters at pushing, they will eventually get a higher movement speed than the user character.

Another strategy is that you can choose to only repair the wall (by replacing damaged bricks with new ones), or can spend effort on also pushing wolves off the cliff.

Relevant research and prior work: