Sokoban
![Build Status](https://travis-ci.com/tristangoossens/sokoban-go.svg?branch=master)
![Logo](https://github.com/tristangoossens/sokoban-go/raw/master/img/v2/sokoban-logo.png)
Retro game sokoban clone made in Go! Created by tristangoossens. ![GitHub followers](https://img.shields.io/github/followers/tristangoossens?style=social)
Please star this repository to help my project grow! ![GitHub stars](https://img.shields.io/github/stars/tristangoossens/sokoban-go?style=social)
![Run on Repl.it](https://repl.it/badge/github/tristangoossens/sokoban)
The game
Here is a screenshot of sokoban's titlescreen!
![Titlescreen](https://github.com/tristangoossens/sokoban-go/raw/master/img/v1/game-titlescreen.png)
Screenshot of sokoban's first level!
![Level1](https://github.com/tristangoossens/sokoban-go/raw/master/img/v1/game-gamescreen.png)
How to play
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:
git clone https://github.com/tristangoossens/sokoban-go.git
Then play it using the following command:
go run run.go
Or build and run using the following:
go build run.go
./run
Bucket list for future versions
- Implement support for multiple crates and goals.
- (Could)Read levels from 1 file(instead of 20).
- Get rid of unnecessary variables.
- Clean up code.
- Add more levels(goal is around 30, more for v3).
- Create a new UI to support bigger levels.
- (Could)Add soundeffects for events.
- Add new functionality. (v3)
- Teleporter.
- Player trap.
- One Way Wall.
- Implement a level selection ui. (v3)
- Implement save current level button.
- (Should)Add a timer to the gamescreen to time your best times.
- (Should)Save your best time to a markdown file(table).
- Add test files for all game files (v3)
- Start from last saved level.
Feel free to help me add the functions above with a pull request!
Links