# 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. ## 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.