bloatrunner/README.md
Peter Tillemans b7adfd4846 added and tested the template
On my tuxedo laptop with a hosted guix on an Ubuntu derivative the
configure script found the host guile version which lead to loading
incompatible bytecode of the guix provided libraries. Updated the
README.
2024-05-18 00:06:36 +02:00

63 lines
1.9 KiB
Markdown

# Chickadee Game Template
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.
Note: On hosted guix the configure script might find the host guile version
instead of the guix provided one. This can lead to incompatible bytecode errors.
To force to use a consistent guile use
```
./configure GUILE=$(which guile)
```
to ensure the right version is configured.
## 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.