Chickadee 0.8.0 released

October 07, 2021

I'm happy to announce that Chickadee 0.8.0 has been released!

Chickadee is a game development toolkit for Guile. Chickadee aims to provide all the features that parenthetically inclined game developers need to make 2D and 3D games in Scheme.

Notable improvements and changes:

  • New chickadee executable for running games and producing redistributable binary bundles for Linux. See Command Line Interface for more information.
  • Support for Guile < 3.0 has been dropped.
  • Cube maps are now a supported texture type.
  • New procedural 3D mesh generators for planes, tesselated planes, cubes, and spheres in the (chickadee graphics mesh) module.
  • New 3D skyboxes in the (chickadee graphics skybox) module.
  • New 3D model loading with support for glTF 2.0 and OBJ files in the (chickadee graphics model) module.
  • New directional, point, and spot lights in the (chickadee graphics light) module.
  • New Blinn-Phong lighting model for 3D meshes in the (chickadee graphics phong) module.
  • New Physically-based lighting model for 3D meshes in the (chickadee graphics pbr) module.
  • New linear and radial gradient fills in the (chickadee graphics path) module.
  • New arc-to, bezier-path, right-split, up-split, corner-split, square-limit, flip-horizontal, and flip-vertical procedures in the (chickadee graphics path) module.
  • Clockwise arcs now supported by arc procedure in (chickadee graphics path) module.
  • New mouse wheel event handler for run-game. (see The Game Loop)
  • (chickadee math grid) module moved to (chickadee data grid).
  • (chickadee math path-finding) module moved to (chickadee data path-finding).
  • Dynamic array API has been made public.
  • Queue API has been made public.
  • Heap API has been made public.
  • New quadtree spatial partitioning structure in the (chickadee data quadtree) module.
  • New current-timestep parameter in (chickadee game-loop) module.
  • Tweens now use the current timestep as their default step value.
  • vec2-dot-product and vec3-dot-product are now named vec2-dot and vec3-dot in the (chickadee math vector) module.
  • 2pi is now tau in the (chickadee math) module.
  • New look-at, look-at!, matrix3-inverse, and matrix3-inverse! procedures in the (chickadee math matrix) module.
  • #v reader syntax for vectors is now deprecated and will be removed in a future release.

Bug fixes:

  • Fixed implementation of vec2-cross and vec3-copy! in the (chickadee math vector) module
  • Fixed implementation of matrix4-rotate! in the (chickadee math matrix) module.
  • Fixed looping of streaming sources in the (chickadee audio) module.
  • Fixed implementation of below procedure in the (chickadee graphics path) module.

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

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

See the Chickadee project page for more information.

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

Have fun!

P.S. - The 2021 Autumn Lisp Game Jam is coming up on October 15th! There are lots of great ways to make games in Lisp these days, so there's never been a better time to join in on the fun!