Introduction

Welcome! This webpage is dedicated to notes and resources for the development team of this game. The sidebar on the left provides links to whatever you may be looking for.

Getting Started

This section covers the steps needed to start working with the game repository.

Development Environment

Prerequisite Tooling

On all systems, you must have Rust, git, Python 3 (with pip), and cmake installed.

Additional Dependencies for Linux

Linux systems require some additional development headers:

Ubuntu:

sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev

Fedora:

sudo dnf install alsa-lib-devel mesa-libGL-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel

Cloning the Repository

If you are using GitHub Desktop or have a GitKraken Pro license, just clone this repo as usual.

If you are cloning via the CLI, you will need an additional step to ensure our forked dependencies are pulled in correctly:

git clone https://github.com/Ewpratten/ludum-dare-50
cd ludum-dare-50
git submodule update --init --recursive

# Optionally, pull in the dependencies for the artist tools
python3 -m pip install -r requirements.txt

First Build

We make heavy use of cargo to handle dependency management and build configuration. To build the game, just run:

cargo build

This will take quite a while on first build as it will download all dependencies and compile them locally.

Using anim_stitcher

anim_stitcher is a Python utility designed to allow artists to automatically convert their frames into sprite sheets with metadata.

Usage

To launch anim_stitcher, you must first have all the Python dependencies installed. This means installing Python and pip, then running the following in the root of the project:

python3 -m pip install -r requirements.txt

For help with this, contact Evan.

Launching the tool

If you are on a Linux system, you can launch the tool with ./launch_anim_stitcher.sh.

Otherwise, open the project root folder, and run the launch_anim_stitcher.bat script. This will show a window similar to the following:

Anim Stitcher GUI

As you can see, I have already filled everything out for the testFox asset.

When selecting PNGs: Make sure you shift-click to select multiple files. You don't want a spritesheet with only one frame in it.

Technical information

anim_stitcher exports spritesheets to game/dist/assets/anm/.... Each spritesheet also has a metadata JSON file beside it. The filepaths are automatically chosen based on input in the GUI.

An example output would be for an asset named testFox with the Character type.

...
game/dist/assets/anm/chr/chr_testFox:
     - chr_testFox.png
     - chr_testFox.anim_meta.json
...