Game Development Community

An idea for a snake game

by Anton Shepelev · in Game Design and Creative Issues · 01/19/2007 (4:24 pm) · 0 replies

Hello, everybody!

You may consider it wrong to post an idea that has partly been implemented... But I never got any feedback on it. Hope, this forum is the right place to hear a couple of comments on an idea...

In short, I have made a principal change to the classic engine of snake games. A snake that has run into an obstacle doesn't die at once. Instead, its head stops but it's tail continues to move. Thus, the snake starts to get shorter at a rate of one cell per one game step (= time taken by a quantum movement — the game is cell-based). As soon as the obstacle disappears (the snake you ran into has passed by or you just turned to crawl round the obstacle) your snake moves on, ceasing to loose its cells.

Such a simple change improves the gameplay drastically. Now players (for the game is multiplayer) can really fight against each other by surrounding enemy snakes, having them be captured in a tight space or run into your the body of their snakes. Thus you can inflict damage on the other snakes.

A snake will die only after it looses all its cells.

Actually this idea is not mine and had been derived from an old Russian game "Russkaya Zmeika" for Windows 3.1. I lost the game many years ago and never found it. So, I decided to recreate it. Compared to the prototype, I have introduced several of improvements such as:

1. Supports four players simultaneously (on one computer) instead of two.

2. Has AI.

3. Removed asymmetry.
In the original game, when two snakes were crawling tightly near each other and one snake was only a head in front of the other, whether the leading snake could make a turn and thus have the opponent run into itself (remember that Cron game in the Disney movie?) depended on which player it was. Only the first player could exploit this situation to his advantage.

4. A lot of options/features like: immortality, turnover and double-head prizes; optional relative control (instead of four absolute directions, only two relative ones: turn left and turn right).

5. Keyboard buffering
It has proven necessary in situations when you have to turn two times in row. For example, you want to turn over as fast as possible. If you are crawling right, you'll have to:
1. Press 'up' or 'down' and, right after that,
2. Press 'right'.
But if you pressed both the keys during one game step (which is likely) then, without keyboard buffering, only the last key would be handled and the snake won't turn at all. In my game keys are stored in a buffer and executed one at a time, so your snake behaves exactly according to which keys you press.

I know, the game is far from being finished and has a terrible interface. The manual is even worse. However, I hope you'll gather enough fortitude to overcome these difficulties and have a look at the game. Despite the aforesaid, it is quite playable!

For those not wanting to read through the manual or browse through the menu:

The default settings are:
1 player - AI
2 player - Human, the controls being a,w,d,s.
3 player - Human, controlled by 4,8,5,6 (on numeric keypad with NumLock on)
4 player - Human, controlled by 'k','l','o',';'

Don't care if there are excess human players — just don't touch their keys.

When in-game, press escape to quit to the main menu.

The game is here:
DosCore Snake

About the author

Recent Threads