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

1.9 KiB

Chickadee Game Template

This repository provides a template to use as a starting point for making a new game using Chickadee! 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 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 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.