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
- GLSL shaders
- Tiled maps
- Buffer objects and all that low-level goodness
- Axis-aligned bounding boxes
- Easing functions
- Spatial partitioning
- Generic A* path finding algorithm
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
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
See the Chickadee project page for more information.
Bug reports, bug fixes, feature requests, and patches are welcomed.