blob: 743f1486bbd00ab2b923c8b8fd86725daea9aec1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
title: Chickadee 0.3.0 released
date: 2018-10-16 09:00:00
tags: guile, gamedev, chickadee, release
summary: Chickadee 0.3.0 has been released
---
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](https://dthompson.us/projects/chickadee.html)
for more information.
Bug reports, bug fixes, feature requests, and patches are welcomed.
Happy hacking!
|