blob: 55ce8d6878ed91f7a55cad6af03cc0c50a6fd558 (
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
|
-*- org -*-
#+TITLE The Chickadee Game Development Toolkit
* About
Chickadee is a game development toolkit for Guile Scheme. It comes
with built-in support for 2D/3D games using SDL and OpenGL, but is
generic enough to be used with any I/O backend, in case you are
writing a text adventure or want to render your Roguelike to a
terminal!
Here's what rendering a sprite looks like:
#+BEGIN_SRC scheme
(use-modules (chickadee)
(chickadee math vector)
(chickadee render sprite)
(chickadee render texture))
(define sprite #f)
(define (load)
(set! sprite (load-image "images/chickadee.png")))
(define (draw alpha)
(draw-sprite sprite #v(256.0 176.0)))
(run-game #:load load #:draw draw)
#+END_SRC
* Features
Chickadee has the following features:
- 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
- Tiled maps
- Math
- Vectors
- Matrices
- Quaternions
- Axis-aligned bounding boxes
- Easing functions
- Scripting
- Coroutines
- Time-based scheduling
- Generic A* pathfinding algorithm
* Dependencies
- Guile >= 2.1.4
- Guile-OpenGL >= 0.1.0
- Guile-SDL2 >= 0.3.0
* License
GNU GPL version 3 or later
|