bloatrunner/README.md

54 lines
1.6 KiB
Markdown
Raw Normal View History

2024-05-17 23:49:31 +02:00
# Chickadee Game Template
2024-05-17 15:03:07 +02:00
2024-05-17 23:49:31 +02:00
This repository provides a template to use as a starting point for
making a new game using
[Chickadee](https://dthompson.us/projects/chickadee.html)! It
includes all the autotools boilerplate so you don't have to worry
about that nonsense too much.
## Using Guix
We *highly recommend* using [Guix](https://guix.gnu.org/) to manage
your development environment. Once Guix is installed, getting all of
the dependencies you need to develop is *easy*. Just run `guix shell`
from the root directory of this repository and you'll be good to go!
## Building from source
Assuming Guile and Chickadee are installed on your system, a fresh
project can be built like so:
```
./boostrap.sh
./configure
make -j$(nproc)
```
After the build system is initialized, only `make` needs to be run to
recompile the Scheme modules.
## Running the game
To run the game from the source checkout, use the `pre-inst-env` wrapper script:
```
./pre-inst-env run-game
```
## REPL-driven development
After the game is launched, a Guile REPL server will be running on
port 37146. We recommend using the
[Geiser](https://geiser.nongnu.org/) Emacs extension for connecting to
it using `M-x connect-to-guile`. Once Geiser connects to the REPL,
the game can be modified while it runs!
## Bundling
If you are setup to produce redistributable bundles of Chickadee games
(see
https://dthompson.us/manuals/chickadee/Invoking-chickadee-bundle.html),
then you can use `chickadee bundle` to produce binary release bundles.
This is admittedly an area where things really do not "just work" as
they should, so do reach out for help if you need it.