Pages

Sunday, July 28, 2013

Snake : A level of difficulty

Last post we rounded out how hunting the mice would work, and mentioned at the end some problems caused with the changes we've made from the classic version of Snake. Let's compare these changes now:

Classic: Food was immobile, there would only be one at a time, hitting yourself causes you to lose.

New: Food moves, as the game progress there will be more which can be chased off if too difficult to get, and you can go over your own body.

We've made the game more exciting by adding a chase element to getting the food and making the mice have variable statistics. We've also added a level of strategy by allowing you to use your body to trap the mice. On the other hand, we've removed almost every level of difficulty. The only loss condition is hitting the wall, which you can easily avoid. If a mouse is too fast for you to catch, you can chase it off and wait for a respawn.

So there's two things we now need to fix. We need to add a level of difficulty within the game map itself, and a level of risk to choosing whether or not to chase a mouse off and wait for a respawn.

Fix 1) There are now randomly spawning obstacles on the map field (rocks and bushes). Keeping with the theme of randomness, the position and size is randomized, as well as when they pop up. This allows the play area to evolve as the game progresses, and creates a level of risk. As the game continues, the players movement is more restricted, but at the same point they can push mice into the obstacles, giving a high-risk method of trapping them.

Fix 2) There is now a hunger bar that is constantly decreasing. If it reaches the bottom, the player will lose, and the only way to fill it is to eat mice! This will push the player into taking more risk in catching mice, in order to keep their hunger bar topped off.

Fix 3) Less of a fix and more of an added feature, there are now three difficulty settings. Playing on a higher difficulty simply ups the speed of the game, allowing a higher challenge for those who like reflex-based games.

So gameplay-wise, we're pretty much done. All that's left is a bunch of polishing and gui work. Once that's done, I'll do a showcase piece as well as a postmortem discussing some of the programming issues I ran into, and how that's going to inspire my next few projects.