Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/willguimont/rolly-dango
Play it here: https://willguimont.github.io/rolly-dango/
https://github.com/willguimont/rolly-dango
nim wasm wasm4
Last synced: about 11 hours ago
JSON representation
Play it here: https://willguimont.github.io/rolly-dango/
- Host: GitHub
- URL: https://github.com/willguimont/rolly-dango
- Owner: willGuimont
- Created: 2021-12-21T14:17:12.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-21T00:48:22.000Z (over 2 years ago)
- Last Synced: 2023-03-05T08:50:12.660Z (almost 2 years ago)
- Topics: nim, wasm, wasm4
- Language: Nim
- Homepage:
- Size: 1.32 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rolly Dango
Rolly Dango, an isometric rolling puzzle made with [WASM-4](https://wasm4.org/) by [@samX500](https://github.com/samX500) and [@willGuimont](https://github.com/willGuimont).
[Try the game here](https://willguimont.github.io/rolly-dango/) or on [itch.io](https://willguimont.itch.io/rolly-dango)!
![rolly dango](assets/game.png)
Here's some key points of our project:
- We made our own ECS (entity-component-systems) from scratch
- To save cartridge space, we built our own Huffman coding algorithm
- To help ourselves make levels, we built our own level editor using [p5.js](https://p5js.org/)
- Made all of our sprites using [Aseprite](https://www.aseprite.org/)Our level editor:
![level editor](assets/editor.png)## Dependencies
You'll need a nightly version of Nim because we need the `-d:nimNoQuit` from this [pull request](https://github.com/nim-lang/Nim/pull/19419/files). To do so, install the latest nightly with:
```bash
choosenim devel --latest
```Optionally, you can install [binaryen](https://github.com/WebAssembly/binaryen) to optimize further the binary size.
## Build cartridge
```bash
# Debug mode
nimble dbg
# Release mode
nimble rel
```## Run the tests
```bash
nimble test
```## Deploy to GitHub-Pages
```bash
./deploy.sh
```## Running the cartridge
```bash
# Run compiled cartridge in your web browser
w4 run build/cart.wasm
# Run with hot reloading
w4 watch
# Run natively
w4 run-native build/cart.wasm
```## Useful tools
### [png2src](https://wasm4.org/docs/reference/cli#png2src)
```bash
w4 png2src --nim top.png down.png left.png right.png
```### [bundle](https://wasm4.org/docs/reference/cli#bundle)
```bash
w4 bundle --html build/html/index.html --title Dango --description "Rolling puzzle game" --icon-file "assets/sprites/dangoBeeg.png" build/cart.wasm
w4 bundle --linux dango carts/cart.wasm
```