Natter – a 2D Snake-like game

Natter is a 2D game in the spirit of well-known Snake. Natter features single and multiplayer mode with up to 4 players and AI. The game is available for Windows, Linux and possibly even more platforms.

Natter: Scene taken within the game in action

Download

Natter can be downloaded in our Download Centre. There you can find detailed descriptions for the various packages as well as the possibility to rate Natter. If you want more information please read on this article.

Installation for Windows 32bit (XP, 2000, Vista)

The installation should be straightforward. Just download the Natter Installer, start it and install Natter where ever you want to.

Installation for Linux

Natter is available for these Linux platforms:

Just download the file and make sure, that the following libraries are installed on your system:

  • SDL
  • SDL_image
  • SDL_mixer
  • SDL_ttf
  • lua

Unpack the appropriate package for your system using the above list. Unpack it and use the script to start the game:

tar xf natter-$version-linux-$arch.tar.gz
cd natter
sh natter-game

Installation for other OS

If you have a OS with no pre-compiled binaries of Natter available for, you can compile it yourself. Here is the step-by-step description.

Step 1: Download Langadia++. Natter is build upon this library, so you will need to compile it first. You will need a bunch of additional libraries to compile it. A detailed description is included in Langadia itself. If you have all required libraries, just open a terminal and do the following:

tar xf langadia-$version.tar.gz
cd langadia
./configure
make
su -c "make install"

Step 2: Download the Natter Sources. If Langadia++ compiled and installed fine, the following should be enough:

tar xf natter-$version.tar.gz
cd natter
./configure
make
su -c "make install"

If everything worked, it should now be enough to type natter in a terminal.

About the Game

Maybe you already played Snake (or one of it clones) in the past and think: Can Natter be so much different? Well, maybe it can. Generally, the concept of Snake grew with time (e.g. Nibbles is a very interesting version of Snake).

Gameplay

The basic concept of every Snake game is: Move your snake and try to catch as many items as you can without hitting a wall or yourself. Per item you get a certain amount of points. In Snake, this amount is influenced by your current length. The longer your snake is, the more points you get. However – playing becomes more difficult the longer you become. You can decide yourself, what you want: Natter provides a set of items with different effects. So you can “eat” a lot of cherries, which will keep you healthy (by keeping you short). Crystals bring a lot of points and also make you longer. The “Lollipop” is a mean little thing. It will earn you just few points, however it reverts the current direction of the other players. If you are near to death, you can collect “hearts” – by paying some of your points you get an extra life!

Controls

Natter can be played with up to 4 players. You can select to play with either human fellow players or against the AI. The controls are currently fixed (will be changed in one of the next releases hopefully). They are:
Player 1:

  • W
  • A
  • S
  • D

Player 2:

  • I
  • J
  • K
  • L

Player 3:

  • Up
  • Left
  • Down
  • Right

Player 4:

  • Numpad 8
  • Numpad 4
  • Numpad 5
  • Numpad 6

Technical

Natter is build upon Langadia++, a platform independent, OO-based library on top of some other (C-) libraries. So, you can play Natter on Windows, Linux and probably even more operating systems. If you use an alternative OS, feel free to report your success or failure with compiling and playing natter. We would be really glad about this kind of feedback!

Natter: Settings menu

Troubleshooting

I cannot compile the game and/or Langadia++!
Please report the error message given to you by the compiler or linker. See the Feedback section of this article for contact information.

The game seems to start, but immediately terminates!
Make sure the game executable (natter or natter.exe) is located in a valid directory. If you installed it e.g. to /usr, the executable must be in /usr/bin, while the game data must be in /usr/share/natter/data. If the problem persists, check the debug output, by starting natter from a terminal window. It will print the path where it searches for the game data. Check that path. Also file a bug report, see this article’s Feedback section.

After updating, new highscores are not saved and/or old cannot be read!
We try to keep the format the settings and scores are saved compatible among the versions of Natter. However, it can happen that compatibility breaks, which will lead to this “bug”. To enable the highscores, simply delete the file “settings.lua” in “Application Data\natter” (the Application Data directory should be located in your personal files directory, you will probably need to enable the “Show invisible files and directories” option in your file explorer).
Note, that this will delete your old highscores!

Feedback

Currently, Natter is in a very early state. To make it more stable and enjoyable, we need you. By giving us feedback you can make a valuable part in the development of Natter!
Currently, there are different ways to contact us. The preferred is to register at our website and post your questions/opinions/… in the forum. This is the best way as it also enables you to discuss the topics with other members.
If you don’t like to register, you can also just write an e-mail to feedback @ rpdev.net.

Roadmap

The current release version of Natter is 0.0.1.x. The next planned release version is 0.0.2. The following features are planned to be included within the next release(s):

  • Sound: Both ambient and effect sounds are planned to be included in Natter, as they improve the feeling when playing the game. These feature requires additional changes in Langadia++.
  • Better Timing: Currently, there seems to be some problems with timing. These problems especially make playing the game at high speeds difficult. Probably, the reason is the FPS limiter.
  • Smooth movements: Currently, the snakes movement is done “step-by-step”. The movement should however be done smoothly, that means: Every part of the snake is interpolated between last position and new position depending on time.
  • Maps: It was and still is planned to include maps – or levels in other terms – in Natter. They are planned to be in a human readable format (probably Lua script).
  • Configurable controls: Currently, the controls for the players are fixed. It is planned to make them configurable, maybe even Joystick support will be added – which, too, requires changes to Langadia++.

Legal Notice

gplv3-127x51
Natter is released under the Terms of the GNU General Public License, version 3. That means: You can examine Natters source code, change it and even re-publish it. Doing so is even encouraged by us, as you so can help to make Natter more stable or enhance it by adding new features. If you altered Natter, please let us know about it. You are not forced to do so, however, if would be interesting for us and also would allow us to port e.g. bug fixes back to our version of Natter.

Leave a Reply

Your email address will not be published. Required fields are marked *