Trigger snake

Trigger snake is a snake game with new features, making it fast, lively and challenging. You can download it here (Windows), or compile C++/Qt4 sources yourself. The software contains a component to display graphical statistics in-game. It can be used to follow player’s behavior, for example by showing preference to some regions or directions.

introduction picture of the game

Snake is a game concept where the player controls a line which increases in size when eating scoring elements. Usually, the line represents a snake and scoring elements are apples. Player loses game when the snake hits its own tail. Many versions exist of this classic game, for example Nokia developed a popular version in 1997.

Concept is great, however two drawbacks are recurrent in most versions:

  • Most of apples do not reward player for quickness. Consequently, a player is not encouraged to consider the torus topology of the board;
  • Gameplay becomes repetitive when the snake has reached a large length. In that case, player must zigzag for a long time, which has nothing fun.

In trigger snake, the game is kept as simple as possible without introducing fancy gameplay elements. We only add two features to make the game fast and challenging: reward for speed, and score limit.

Reward for speed. There is a reward for speed. The apple appears fresh and green, yielding potentially 100 points. Then, apple begins to fade away, and score slowly decreases. After a while, apple eventually turn into a gray shape making only 1 point. This behavior encourages player to take the shortest path on the torus.

apple fading with time
Apple fading away, from 100 points to 1 point

Score limit. The game stops after reaching a score of 3000. This usually prevents the snake to have an unreasonable length. We offer bonus for this performance, based on two components: How much time it took? How many apples have been eaten? If the game was quick enough, final score can attain 15000 or 16000.

end of game after winning
End of the game after winning

In-game pictures. Here are two screenshots of the game.

in game picture
Screenshot of game during a play

losing picture
Screenshot of game after losing

Statistic component. A component allows the player to display various graphical statistics in-game. In all graphs, the darkest color corresponds to the highest value.

By typing “D”, density of snake’s head positions appears. Good players may show a rather uniform distribution. Novice players tend to stay in the center of the board.

snake's density (good player)
Density of each cell (good player)

snake's density (novice player)
Density of each cell (novice player)

By typing E, density of snake’s head directions appears. For each cell, there are four edges represented with four triangles.

edges' density
Density of directions

By typing W, density of non-oriented directions appears. Each edge of the board is represented with a square.

non-oriented edges' density
Density of crossed edges

By typing “A”, density of apples’ positions appears.

apple's density
Density of apples' positions

Sources. This game can be downloaded here for Windows. If you are interested in the source code, follow this github link. The game was made with C++/Qt4, so you can compile code to run it with Linux.

Written on October 11, 2014