haukesomm / Sokoban

Clone of the popular puzzle game Sokoban with a web-based frontend written in fritz2

Home Page:https://sokoban.haukesomm.de/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sokoban

Build Workflow Awesome Kotlin Badge

This project is a web-based clone of the popular puzzle game Sokoban written in Kotlin and based on the fritz2 framework. The game features all 50 levels of the original game published in 1984 by Spectrum Holobyte.

The latest snapshot version can be played here or installed as a progressive web app (PWA).
On Apple devices, the latter can be done by tapping Share -> Add to homescreen / Add to Dock in Safari's menu bar. On Android, the process is similar, but the exact steps depend on your browser.

Screenshots

Mobile Desktop

Modules

The project consists of a plain Kotlin core library containing the game logic and bundled levels, as well as a web module that uses the core library to create a web app using the fritz2 framework.

Additionally, there is a legacy module that contains a legacy Java app using Swing. This is a rewrite of the original version that I wrote back in school. It has been refactored to use the new core library as well. However, it will not get any new features and is only kept for nostalgic reasons.

Brief overview of the modules:

Module Description
core Core library written in Kotlin containing the actual game logic and bundled levels.
web Web app written in Kotlin using the fritz2 framework. It is based on the core library. This is the actual game that can be played online.
legacy Legacy Java app using Swing. Back in school, the original version was one of my first coding projects. Has been rewritten to use the new core library as well. Will not get any new features.

Please note: Even though the core module is used by the legacy Java code, it is intended to be used in Kotlin projects only and is not fully compatible with Java!

The jvmMain target of the core module provides a limited set of compatibility classes that can be used to initialize and run the game on the JVM, though.

About

Clone of the popular puzzle game Sokoban with a web-based frontend written in fritz2

https://sokoban.haukesomm.de/

License:MIT License


Languages

Language:Kotlin 92.5%Language:Java 6.0%Language:JavaScript 1.2%Language:HTML 0.3%Language:CSS 0.0%