summaryrefslogtreecommitdiff
path: root/README.md
blob: a40f602828efe5e31c309058682d5d098fd45a6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# YASG (Yet Another Snake Game)

This is my submission for Spring Lisp Game Jam 2025. It's literally just a very simple Snake game to test my own little game engine made with Rust `macroquad` and `rust_lisp` library.

The engine architecture is quite simple: I use `macroquad` for the "engine backend" things (game-loop, render, input), and `rust_lisp` is used as the scripting language, with the `lisp` environment extended to use `macroquad` native functons. My code mostly acts as a glue between `macroquad` and `rust_lisp`, and the game logic is 100% written in the small subset of Lisp that is `rust_lisp`.

# Compiling the game

To compile the game, you need Rust installed in your system, and you also need the `wasm32-unknown-unknown` target (`rustup target add wasm32-unknown-unknown`). Then you'll be able to run `make build-wasm` to compile the game to wasm in the "www/" folder. To test the game, you can `cd` into the "www/" folder and run `python ../serve.py`.

You can also run the game natively in your own system with a simple `cargo run`.

# License

The source-code for this game is distributed as GNU General Public License v3.0.