Project Proposal

Before beginning work on Snake, we had to think of many ideas for a game as well as the criteria that would determine which would be the best for our project. Linked at the bottom of this page is the original Project Proposal form, but this page is a summary of that form.

First, we decided on the criteria we would use to determine what game would be the best for us. Whatever game we created needed to be programmable within the limited time that we were given of only a few days with direct access to the Proteus. Though this put a limit on the complexity of the project we could undertake, we still did not want the project to be trivial, both from a gameplay and a programming perspective. Our program should be a program that has difficulties to overcome and be both satisfying and challenging to play. Finally, the game must use the elements required in the project documentation.

Given these criteria, our team then brainstormed ideas that might fit these parameters, and then we could pick the best from these ideas. These unused ideas and the reason(s) we did not choose them are in the list below, ending with Snake and why we decided on it.

  1. Sudoku – a game that is certainly nontrivial for both players and programmers. Unfortunately, the challenge of creating functional boards with solutions as well as a player input system seemed too daunting for our short project window.
  2. Pac man – Our idea was to make a simplified maze with a few ghosts that kept trying to get to your player as you tried to collect all the dots on the screen. This idea seemed much too complicated given our current coding knowledge, as well as there was no consistent way to control the game’s difficulty or winnability with the ideas we did come up with.
  3. Pong – Similar to a single-player version of tennis or ping-pong, this version of pong would just be playing against a wall as the ball gets faster, relieving us of having to program any AI. This idea seemed hollow the more we discussed it and would most likely be very boring for the player. Overall, Snake had more to it, both for the player and the programmers, than this idea.
  4. Jump-over-the-obstacle – Very similar to Chrome’s Dinosaur Game or Geometry Dash, this would be a game that requires player timing to jump over an object coming toward him or her. This was our second choice, ultimately losing to Snake for similar reasons as Pong; it would not be interesting enough for the player or programmer and was being done by many other groups.
  5. Snake – This classic game became our choice project because it had the most overall content compared to the rest of the games in this list. The game is constantly changing as the snake gets longer and longer, posing a challenge for the player and potentially an even greater challenge to the programmers that have to make the snake grow as it eats.

Original Project Proposal