Msnake Save

a command line based snake game written in C using ncurses

Project README

Mogria's Snake

Build Status License: MIT

A simple snake game written in C using the ncurses library.

msnake screenshot

Author: Mogria [email protected]

Co-Author: Timo Furrer [email protected]

Table of contents

Installation instructions

Cloning or downloading the repository

If you have git installed you can simply clone the repo using the following command:

git clone

The advantage of using git is that you can update the downloaded code simply by entering:

git pull

If you don't have git installed you can download a zip file of the repository by clicking on the green Clone or download button and then extract the downloaded zip file.


Change into the cloned git repository (or the folder where you extracted the zip file) and enter the following commands to compile the game:

mkdir build
cd build
cmake ..

After you've compiled the game you can execute the bin/msnake file to start the game.


To compile the game, you will need to have cmake installed. Additionally, you will need the build-essential, libncurses5 and libncurses5-dev packages if you are on a Debian-based distribution.

If yu are not on a Debian-based distribution and you are unable to compile the game, look for similar packages in the repositories of your distribution.

Execute the following command with root privileges to install the packages on a Debian-based distribution.

apt-get install cmake build-essential libncurses5 libncurses5-dev

Mac OS X

To compile the game, you will need to have access to cmake. To get CMake, either install it via Homebrew using brew install cmake or download the latest version from

If the cmake command is available in your terminal you have successfully installed CMake.

Windows (Cygwin)

You need to have the packages ncurses-devel and cmake installed.

Windows (MinGW)

You can either download an old compiled win32 executable in the download section or compile the game yourself. The latter requires you to have CMake and MinGW installed. Another prerequisite is the pdcurses packaged, installed using mingw-get.

Finally, open the command line and run:

cmake -g "MinGW Makefiles" .

Installing the game to your system

To install this game to your system simply execute the following command with root-privileges:

make install

The install script simply moves bin/msnake to /usr/bin/msnake. Assuming your PATH environment variable is set up correctly, this will allow you to start the game by running msnake in your terminal.

Creating a Debian package

You can easily create a Debian package of msnake. If a binary does not yet exists the script will build one. Simply run the following script to build the package:


And with the following command you can install it, provided you have root-privileges:

dpkg -i msnake.deb


To contribute to this awesome project, you can visit its repository on GitHub, fork it and create your own branch.

You can pick a task from the to-do list below or simply do something else. Once you have finished your work, create a pull request on GitHub and we will likely merge your stuff into our repository.


This list contains a list of features we want to implement or change.

  • Add a scroll function to the highscore or delete lower entries?
  • A settings menu
  • More food with different effects?
    • A fruit which changes the direction of the snake or its controls?
  • Better documentation of the source code
  • Optimize the code
    • The snake moves are inefficient, as every part is moved which makes the game very slow if you have a large snake. We should rather move/copy the last part to the new position
  • Improve color coding

Ideas for the future

  • Make different difficulty mode with different speeds and amounts of fruits. Also provide a "free"/"classic" mode which is the current game mode.
  • Add levels and quests?
Open Source Agenda is not affiliated with "Msnake" Project. README Source: mogria/msnake
Open Issues
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating