Next: , Up: Command Line Interface   [Contents][Index]

3.1 Invoking chickadee play

The chickadee play command is used to open a window and run the Chickadee game contained within a Scheme source file.

chickadee play the-legend-of-emacs.scm

In this file, special procedures may be defined to handle various events from the game loop:

See The Game Loop for complete information on all of these hooks, such as the arguments that each procedure receives.

In additional to evaluating the specified source file, the directory containing that file is added to Guile’s load path so that games can easily be divided into many different files. Furthermore, that directory is entered prior to evaluating the file so that data files (images, sounds, etc.) can be loaded relative to the main source file, regardless of what the current directory was when chickadee play was invoked.

Many aspects of the initial game window and environment can be controlled via the following options:

-t title

Set the window title to title.

-w width

Set the window width to width pixels.

-h height

Set the window height to height pixels.


Open window in fullscreen mode.


Make window resizable.

-u n

Update the game n times per second.


Launch a REPL in the terminal. This will allow the game environment to debugged and modified without having to stop and restart the game after each change.


Launch a REPL server on port port, or 37146 by default.

telnet localhost 37146 (or whatever port number was given) will do the trick, but using the Geiser extension for Emacs is by far the best way to develop at the REPL with Guile. Use M-x connect-to-guile to connect to the REPL server.

Next: , Up: Command Line Interface   [Contents][Index]