kallaballa / Sandcraft

A falling sand simulation for the web using libagar and emscripten

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sandcraft

A two player (and soon more) falling sand game for the web.

The Game

The players are joined in a sandbox where they play and express whatever they want with diverse materials that act and interact.

Heritage

The Particle logic is based on https://github.com/zear/SDLSand, which itself is based on a series of reimplementations and ports. At the moment Sandcraft still looks almost identical to SDLSand but much has changed codewise.

Tech

The game is written in C++ though its primary target is the web, Emscripten is used to compile the code to WebAssembly which runs in the browser. To achieve direct communication between the game instances a complex setup of various channels is performed (websocket, webrtc, stun). The signaling server (websocket) is called SandcraftServer and you can find it here; https://github.com/kallaballa/SandcraftServer. The particle behaviour is based on a cellular automaton. At the moment it doesn't compile for native platforms but that is only temporary (till i get around to it).

Demo: https://phokis.at/sandcraft.html

About

A falling sand simulation for the web using libagar and emscripten

License:GNU General Public License v2.0


Languages

Language:C 74.2%Language:Roff 7.9%Language:Ada 5.2%Language:Lua 4.9%Language:Shell 2.2%Language:Makefile 2.1%Language:C++ 1.6%Language:Perl 0.7%Language:XS 0.6%Language:Objective-C 0.3%Language:JavaScript 0.1%Language:CMake 0.1%Language:M4 0.0%Language:SourcePawn 0.0%Language:HTML 0.0%Language:CSS 0.0%Language:PHP 0.0%Language:Scheme 0.0%Language:TypeScript 0.0%