It was 2005 and I was writing a series of articles for the DEV magazine about game development with Game Maker 6. So I created this mini demonstration game as a companion to the one illustrated in the article.
This is a reworking of the classic game in which a snake runs around a bounded area in an attempt to eat as many insects as possible. In doing so he must avoid colliding with obstacles and his own body which, as he eats insects, gets longer and longer, making every movement more and more difficult.
At the start to the player is shown the main screen which presents some typical functions: to start a game, to continue an eventually suspended one and a command to exit the application.
The user can control the command selector using the arrow keys on the keyboard and press the space bar to execute the selected command.
The setting of the game consists of a garden surrounded by a wooden fence in which various elements are scattered, such as bushes and rocks. The gaming arena is much larger than the visible area and can be traveled far and wide by the player.
The screen contains some superimposed graphic elements. At the top there are: the score counter, the lives left and an indicator of the level of play achieved.
At the bottom instead is visible a transparent bar that shows how many insects remain to eat for completing the level. In addition to these on the left, an arrow that function as a direction indicator, points towards the position of the next insect to eat relative to the snake’s position. This helps the player to orient himself more easily.
At the beginning of each level and whenever the player loses a life, a preparatory animation is shown. Then the player’s avatar, a snake, is placed in the center of the arena and begins to move.
The snake always proceeds independently ahead with respect to the direction indicated by the player and cannot be stopped in any way.
The player through the arrow keys can change its direction rotating it clockwise or counterclockwise. The classic games of this genre allowed the snake to change direction by 90 degrees steps, for this reason in order to make it more realistic the changes of direction can take place only through a gradual rotation.
As stated above the player’s goal is to let the snake eat all the insects present on a certain level. Insects are placed in the game area one at a time. Each time the snake eats an insect, its tail gets longer and longer.
If the player manages to get all the insects of a level, he is taken to the next one. Since this is a demo, no other settings have been added, but only the difficulty parameters are changed:
- the snake speed is gradually increased
- the snake’s tail extends in greater proportion to each eaten insect
- the number of insects to eat is greater
If the snake hits one of the objects in the arena, or even the edge of the arena the player loses a life. When all the lives are finished, the game is stopped and the screen with the best scores is shown. Only if the one obtained by the player is among the top 10, the application will allow him to enter his name.