3b75a71f67b9831fb19028924129e8a3f79afd21
[chickadee.git] / README
1 -*- org -*-
2
3 #+TITLE The Chickadee Game Development Toolkit
4
5 * About
6
7 Chickadee is a game development toolkit for Guile Scheme. It comes
8 with built-in support for 2D/3D games using SDL and OpenGL, but is
9 generic enough to be used with any I/O backend, in case you are
10 writing a text adventure or want to render your Roguelike to a
11 terminal!
12
13 Here's what rendering a sprite looks like:
14
15 #+BEGIN_SRC scheme
16 (use-modules (chickadee)
17 (chickadee math vector)
18 (chickadee render sprite)
19 (chickadee render texture)
20 (chickadee sdl))
21
22 (define sprite #f)
23
24 (define (load)
25 (set! sprite (load-image "images/chickadee.png")))
26
27 (define (draw alpha)
28 (draw-sprite sprite #v(256.0 176.0)))
29
30 (run-game/sdl #:load load #:draw draw)
31 #+END_SRC
32
33 * Features
34
35 Chickadee has the following features:
36
37 - Generic fixed timestep game loop
38 - Plug in any input/output system!
39 - Built-in SDL + OpenGL game loop implementation
40 - Get started writing games quickly!
41 - 2D/3D rendering engine via OpenGL
42 - Keyboard/mouse/controller input via SDL
43 - High-level OpenGL interface
44 - Sprites
45 - Shapes
46 - Fonts
47 - GLSL shaders
48 - Tiled maps
49 - Math
50 - Vectors
51 - Matrices
52 - Quaternions
53 - Axis-aligned bounding boxes
54 - Easing functions
55 - Scripting
56 - Coroutines
57 - Time-based scheduling
58 - Generic A* pathfinding algorithm
59
60 * Dependencies
61
62 - Guile >= 2.1.4
63 - Guile-OpenGL >= 0.1.0
64 - Guile-SDL2 >= 0.3.0
65
66 * License
67
68 GNU GPL version 3 or later