Snake game made in Go! 🐍

Overview

Snake Go Report Card Build Status HitCount

Logo
This is a Terminal based snake game made by tristangoossens. GitHub followers
Please star this repository to help my first big project grow! GitHub stars
Documentation can be found at https://github.com/tristangoossens/snake-go/tree/master/docs.

Run on Repl.it
Snake on itch.io

The game

Here is a GIF of the second version of the game! For version 1 click here.

GIF

Game settings

Here is a demo on how the game settings panel works. for more information on this click here.

GIF

Save score

IMPORTANT!
You need to clone the repository in order to use this function, for more information click here.

GIF

How to play

There is a handful of ways to play snake

  • Install the package
  • Install from itch (Windows) Snake on itch.io
  • Play on repl (online IDE) Run on Repl.it
  • Clone the repository

Install the package

First of all you will need Go, you can find more information here.

When you have installed Go, you will need to install the game:

go get github.com/tristangoossens/snake-go

Then play it using the following command:

$GOPATH/bin/snake-go

Cloning the repository

Cloning the repository is useful if you want to change any of the code or save your highscores to the markdown file.

How to clone:

git clone https://github.com/tristangoossens/snake-go.git

Then play it using:

go run run.go

Bucket list for future versions

  • Implementation of the skull mechanic
  • Implement game difficulty options: easy, normal, hard
  • Add a setting panel for a user to change the color of the snake, food and border
  • Implement a restart button / quit button on gameoverscreen
  • Add score to Gameover screen
  • Add instructions to the sidepanel
  • (could)Create to save highscores. (markdown file)
  • Create a binary release
  • Add test files for all game file
  • Rework title and gameover screens

Links

You might also like...
Arkanoid game in Go using Ebiten game engine with ECS.
Arkanoid game in Go using Ebiten game engine with ECS.

Arkanoid-go Arkanoid game in Go using Ebiten game engine with ECS. You must have Git LFS installed when cloning the repository to download assets. See

AircraftWar - a game powered by Go+ spx game engine
AircraftWar - a game powered by Go+ spx game engine

AircraftWar - a game powered by Go+ spx game engine How to run Download Go+ and build it. See https://github.com/goplus/gop#how-to-build. Download thi

FlappyCalf - a game powered by Go+ spx game engine
FlappyCalf - a game powered by Go+ spx game engine

FlappyCalf - a game powered by Go+ spx game engine How to run Download Go+ and build it. See https://github.com/goplus/gop#how-to-build. Download this

FlappyCalf - a game powered by Go+ spx game engine
FlappyCalf - a game powered by Go+ spx game engine

FlappyCalf - a game powered by Go+ spx game engine How to run Download Go+ and build it. See https://github.com/goplus/gop#how-to-build. Download this

MazePlay - a game powered by Go+ spx game engine
MazePlay - a game powered by Go+ spx game engine

MazePlay - a game powered by Go+ spx game engine How to run Download Go+ and build it. See https://github.com/goplus/gop#how-to-build. Download this g

A simple game that I created with Ebiten game library as a way to teach myself Go. Enjoy!
A simple game that I created with Ebiten game library as a way to teach myself Go. Enjoy!

galactic-asteroid-belt Overview A simple game that I created with Ebiten game library as a way to teach myself Go. Enjoy! Run To run, you will need Go

RundQuiz-Game - This is a Go exercise that implements and builds a quiz game from a list of math questions in a CSV file.

Go RundQuiz Game Exercise details This exercise is broken into two parts to help simplify the process of explaining it as well as to make it easier to

Simple 2D game to teach myself various things about game development and ECS, etc

2d-grass-game I really don't know what to name this game. Its a big grass field, and its in 2d so....2D Grass game This is a simple 2D game to teach m

Minecraft server made in go, faster and better!

ElytraGo Minecraft server made in go, faster and better! Project is in early stage, but I'm trying continuously update it with new lines of code :)) L

Comments
  • adding new run on repl.it badge

    adding new run on repl.it badge

    Hey! We're updating the repl.it badge:

    • it looks much nicer now
    • every user get a copy of the repo, so you don't have to rely on my repl and it will stay current with master
    • config is persisted in the repo in a .replit file
    opened by amasad 2
  • should it run on linux/amd64?

    should it run on linux/amd64?

    Hi, I am getting a panic on start

    ❯ /root/go/bin/snake-go
    panic: runtime error: index out of range [0] with length 0
    
    goroutine 1 [running]:
    github.com/JoelOtter/termloop.NewEntityFromCanvas(...)
            /root/go/pkg/mod/github.com/!joel!otter/[email protected]/entity.go:31
    github.com/tristangoossens/snake-go/game.NewTitleScreen()
            /root/go/pkg/mod/github.com/tristangoossens/[email protected]/game/game.go:44 +0x332
    github.com/tristangoossens/snake-go/game.StartGame()
            /root/go/pkg/mod/github.com/tristangoossens/[email protected]/game/game.go:18 +0x45
    main.main()
            /root/go/pkg/mod/github.com/tristangoossens/[email protected]/run.go:8 +0x17
    

    go 1.17, linux amd64

    opened by hellt 0
Releases(v2)
Owner
Tristan Goossens
18 year old programmer: C#, PHP, Go, HTML/CSS, Java, Processing
Tristan Goossens
Snake game implemented in golang

little_pineapple(Snake game implemented in golang) 贪吃蛇golang实现 Snake game implemented in golang 数据结构:链表&数组 Data structures used: linked list&array 使用方

null 7 Aug 18, 2020
A simple desktop snake game

A simple desktop snake game that's supposed to run on Linux and Mac OS (maybe eventually on Windows). Work on the game is currently in progress - so i

Meghashyam Chirravoori 2 Oct 12, 2021
snake game implementation using 2d array in Go

Snake Game Implementation Snake game implementation in Go using a 2-dimensional array. Demo Install download the package git clone https://github.com/

Iss Meftah 10 May 14, 2022
Command line Snake Game built with Golang

Commandline Snake Game Commandline Snake Game built with Golang. Took about a whole day to complete. Had breaks inbetween progress made. Assumptions H

Jubril Aminu 1 Jan 22, 2022
A golang Snake game in webassembly

snake A simple Snake game in Go WebAssembly, loading each grid tile from a diffe

Brad Fitzpatrick 97 Nov 20, 2022
A terminal Snake game that supports multiple players to play together online.

GoSnake A Snake game that supports multiple players to play together online. The game is written in go language and does not use other third-party lib

StevE Zhang 2 Jun 25, 2022
A simple breakout game made in Ebiten

Ebiten Breakout Play online on itch.io A simple breakout game made in Ebiten. This is my first game made with Ebiten - a nice simple engine which allo

Elias Daler 21 Nov 23, 2022
Simple 2D-grid game made with Ebiten

Simple 2D-grid game made with Ebiten

null 0 Mar 15, 2022
GuessTheNum - Guessing game made using GO

Guess The Number Guess the number is a guessing game made with the Go programmin

Anaxímeno Brito 1 Aug 21, 2022
Librebird - A text based bird game made in Go

librebird a text based bird game made in Go, please contribute to the adventures

coolbird 3 Feb 19, 2022