Since my last update I have created most of the classes set out in my UML for Snake, as well as some which are particular to the Pac-Man aspects of the game and were not included in the UML. I now have a mostly functioning game and all the work that is still to do is either minor bug fixes, small features, and improvements to the look and feel of the game.

The biggest change I have decided to make to the game on testing is that when the player picks up a power pellet the ghosts will no longer flee, and will instead freeze in place. Fleeing ghosts made the game too difficult and prevented the player from picking up momentum early in the game.

I intend to make the following changes to Snek-Man:

  • Ensure that a ghost can not spawn within x of the player. Sometimes the player will die suddenly from a ghost spawning in their path without giving them time to react.
  • Look at the code that distinguishes between the player and their tail for the ghosts. Sometimes when a ghost should kill the player they join their tail instead.
  • Find out what is causing the bug which sometimes occurs that makes the game think there are ghosts on the player's tail when there aren't. (I may have already fixed this bug, I made changes to a piece of code which dealt with the player tail, and I haven't seen the bug appear since then, but it's quite an infrequent bug, so it may still be in the game.)
  • Implement a settings menu which deals with elements such as game size and player speed, as well as a way for the player to change the control scheme. Perhaps an option to play classic snake would be nice.
  • Implement a high score system, which saves the player's best score(s) to a text file to be accessed in later plays.
  • When the player's tail grows, the tail sprite appears briefly in the top left corner of the game grid, I should fix this.
  • Improve the sprites and put nice backgrounds on each scene.

Ideally I will have some of these changes implemented by the deadline for this piece of coursework on Thursday (09-11-2017), but I plan to continue work on the game indefinitely, irrespective of what I can get into the game before the deadline.