/roguelike-tutorial-glsp

A basic roguelike for the 2021/r/roguelikedev tutorial jam

Primary LanguageRust

2021 Roguelike Tutorial Jam

Reddit - Twitter

This (basic) roguelike is written in GameLisp on top of Rust & bracket-lib. It roughly follows the equivalent Rust tutorial.

The goal of this project is not really to make a roguelike in itself, but to learn a lisp language, embed it within a Rust binary, and make a simple and reusable API.

Run the game

Demo

a) You'll need to install Rust.
b) The MRMOTEXT tileset tileset is required. Extract the MRMOTEXT_rexpaint.png file in the resources folder.

Then, simply type cargo run to execute it.

Roadmap

Tutorial

  • Part 0 - Setting up
  • Part 1 - Drawing the ‘@’ symbol and moving it around
  • Part 2 - The generic Entity, the render functions, and the map
  • Part 3 - Demo - Generating a dungeon
  • Part 4 - Field of view
  • Part 5 - Demo - Placing enemies and kicking them (harmlessly)
  • Part 6 - Doing (and taking) some damage
  • Part 7 - Demo - Creating the Interface
  • Part 8 - Items and Inventory
  • Part 9 - Ranged Scrolls and Targeting
  • Part 10 - Saving and loading
  • Part 11 - Delving into the Dungeon
  • Part 12 - Increasing Difficulty
  • Part 13 - Gearing up

Rust/GameLisp

  • Make a barebones ECS
    • Optimize
    • Implement cache
  • Compile a self-contained executable (actually has issues with glsp files)
  • Web build
  • Live reload of glsp code

Builds

Standalone binary

$ cargo build --release --features "compiler"

Web

$ cargo build --release --target wasm32-unknown-unknown --features "compiler"
$ wasm-bindgen target\wasm32-unknown-unknown\release\roguelike-glsp.wasm --out-dir wasm --no-modules --no-typescript