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

Issues
  • Release

    Release

    I see a release is here:

    https://tristangoossens.itch.io/snake-go

    but not here:

    https://github.com/tristangoossens/snake-go/releases

    enhancement 
    opened by ghost 11
  • Add try it on Repl.it badge

    Add try it on Repl.it badge

    If you're interested I got this to run on Repl.it so users can try it online. https://repl.it/@amasad/snake-go

    opened by amasad 6
  • 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
Releases(v2)
Owner
Tristan Goossens
18 year old programmer: C#, PHP, Go, HTML/CSS, Java, Processing
Tristan Goossens
chess package for go

chess Introduction chess is a set of go packages which provide common chess utilities such as move generation, turn management, checkmate detection, P

Logan Spears 295 Jul 3, 2021
Web-based Cloud Gaming service for Retro Game

CloudRetro provides an open-source cloud gaming platform for retro games. It started as an experiment for testing cloud gaming performance with WebRTC and libretro, and now it aims to deliver the most modern and convenient gaming experience through the technology.

giongto35 1.5k Jul 23, 2021
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 17, 2020
A small fantasy game engine in WASM using GoLang

The GoLang Fantasy Engine (GoLF Engine) is a retro game engine. It draws inspiration from fantasy console projects like pico-8, tic-80, and pyxle. Like those projects it is designed to be a retro-feeling game creation/playing tool. Unlike those projects GoLF is more minimal in scope and only provides an API and a small set of tools to help you create your games. Tools like an image editor and code editor are not built in. Despite this minimalism creating games in GoLF is still easy and should still maintain the retro game feel.

Brandon Atkinson 75 Jun 7, 2021
This is a "simple" game server. Main functionalities are matching and establishing a connection between players

Game Server This is a "simple" game server. Main functionalities are matching and establishing a connection between players How to Run? run the server

eco 4 Jul 7, 2021
Terminal-based game engine for Go, built on top of Termbox

Termloop Termloop is a pure Go game engine for the terminal, built on top of the excellent Termbox. It provides a simple render loop for building game

Joel Auterson 1.2k Jul 18, 2021
Scalable Distributed Game Server Engine with Hot Swapping in Golang

GoWorld Scalable Distributed Game Server Engine with Hot Reload in Golang Features Architecture Introduction Get GoWorld Manage GoWorld Servers Demos

Nan Lin 1.9k Jul 25, 2021
♛♔ Play chess against UCI engines in your terminal.

uchess ♛♔ Play chess in your terminal. Introduction uchess is an interactive terminal chess client designed to allow gameplay and move analysis in con

Travis Whitton 30 Jul 11, 2021
🕹️ A basic gameboy emulator with terminal "Cloud Gaming" support

Gameboy.Live ??️ Gameboy.Live is a Gameboy emulator written in go for learning purposes. You can simply play Gameboy games on your desktop: Or, "Cloud

AaronLiu 4.2k Jul 26, 2021
Go 3D Game Engine

G3N - Go 3D Game Engine G3N (pronounced "gen") is an OpenGL 3D Game Engine written in Go. It can be used to write cross-platform Go applications that

G3N - Go 3D Game Engine Repositories 1.5k Jul 23, 2021
Engo is an open-source 2D game engine written in Go.

Engo A cross-platform game engine written in Go following an interpretation of the Entity Component System paradigm. Engo is currently compilable for

Engo 1.4k Jul 26, 2021
An open source re-implementation of Diablo 2

OpenDiablo2 Join us on Discord! Development Live stream Support us on Patreon We are also working on a toolset: https://github.com/OpenDiablo2/HellSpa

OpenDiablo2 9.6k Jul 26, 2021
Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes

Agones is a library for hosting, running and scaling dedicated game servers on Kubernetes. Agones, is derived from the Greek word agōn which roughly t

GoogleForGames 3.9k Jul 17, 2021
A pure Go game engine

Oak A pure Go game engine Table of Contents Installation Motivation Features Support Quick Start Implementation and Examples Finished Games Installati

Oakmound Studio 908 Jul 22, 2021