summaryrefslogtreecommitdiff
path: root/README
blob: 45c3d33d32bad120b87e0b3ff0d72632f4c6a70d (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
-*- org -*-

#+TITLE The Chickadee Game Development Toolkit

* About

  Chickadee is a game development toolkit for Guile Scheme.

  #+BEGIN_SRC scheme
    (use-modules (chickadee)
                 (chickadee math vector))

    (define sprite #f)

    (define (load)
      (set! sprite (load-image "chickadee.png")))

    (define (draw alpha)
      (draw-sprite sprite (vec2 320.0 240.0)))

    (add-hook! load-hook load)
    (add-hook! draw-hook draw)

    (run-game)
  #+END_SRC

* Features

  Chickadee supports the following features:

  - 2D/3D rendering engine via OpenGL
    - Efficient sprite rendering
    - Signed distance field font rendering
    - Particles
    - Simple geometric shapes
    - GLSL shaders
  - Keyboard/mouse/joystick input
  - Sound effects and music
  - 2D/3D/4D vector math library
  - Axis-aligned bounding box library
  - Fixed timestep game loop

* Dependencies

  - Guile >= 2.1.4
  - Guile-OpenGL >= 0.1.0
  - Guile-SDL2 >= 0.2.0

* License

  GNU GPL version 3 or later