Chickadee 0.3.0 released

October 16, 2018

I'm happy to announce that Chickadee 0.3.0 has been released! It has been more than a year and a half since the last release so I figured it was about time!

Chickadee is a game development toolkit for Guile that is built on top of SDL2 and OpenGL. Chickadee aims to provide all the features that parenthetically inclined game developers need to make 2D (and eventually 3D) games in Scheme. Chickadee is not a game engine, however!

The following features are supported:

  • Generic fixed timestep game loop

    • Plug in any input/output system!
  • Built-in SDL + OpenGL game loop implementation

    • Get started writing games quickly!
    • 2D/3D rendering engine via OpenGL
    • Keyboard/mouse/controller input via SDL
  • High-level OpenGL interface

    • Sprites
    • Shapes
    • Fonts
    • GLSL shaders
    • Framebuffers
    • Tiled maps
    • Buffer objects and all that low-level goodness
  • Math

    • Vectors
    • Matrices
    • Quaternions
    • Axis-aligned bounding boxes
    • Easing functions
    • Spatial partitioning
    • Generic A* path finding algorithm
  • Scripting

    • Coroutines

    • Time-based scheduling

    • Tweening

Here's a summary of the major changes:

  • Old game loop replaced with generic one that can support any backend

  • SDL + OpenGL game loop included that is similar, but different, to the default game loop in 0.2.0

  • Errors within the game loop can be handled by a user-defined procedure

  • Tweening support added to (chickadee scripting) module

  • Quaternions added via (chickadee math quaternions) module

  • A* path finding added via (chickadee math path-finding) module

  • Tiled map loading and rendering via (chickadee render tiled) module

  • Cubic bezier curves added via (chickadee math bezier) module

  • Grid-based 2D spatial partitioning added via (chickadee math grid) module

  • Better support for systems without OpenGL 3.0 capability

  • Better support for systems without vsync capability

  • Reader syntax for 2D/3D vectors

  • Much more API documentation added to the manual

  • Support for Guile 3.0

tarball: https://files.dthompson.us/chickadee/chickadee-0.3.0.tar.gz

signature: https://files.dthompson.us/chickadee/chickadee-0.3.0.tar.gz.asc

See the Chickadee project page for more information.

Bug reports, bug fixes, feature requests, and patches are welcomed.

Happy hacking!