blob: 9aff5594f634056c92568507412f52712207fa4a (
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
|
-*- org -*-
#+TITLE The Chickadee Game Development Toolkit
* About
Chickadee is a game development toolkit for Guile Scheme.
Here's a simple hello world program:
#+BEGIN_SRC scheme
(define (draw alpha)
(draw-text "Hello, world!" (vec2 260.0 240.0)))
#+END_SRC
The above program can be run with =chickadee play=:
#+BEGIN_SRC sh
chickadee play hello.scm
#+END_SRC
Here's what rendering a sprite looks like:
#+BEGIN_SRC scheme
(use-modules (chickadee graphics sprite))
(define sprite (load-image "images/chickadee.png"))
(define (draw alpha)
(draw-sprite sprite (vec2 256.0 176.0)))
#+END_SRC
#+BEGIN_SRC sh
chickadee play sprite.scm
#+END_SRC
* Features
Chickadee has the following features:
- Hardware accelerated 2D/3D rendering engine
- Sprites
- Text
- Vector graphics
- Particle effects
- Tile maps
- 3D models
- PNG, JPEG image loading
- OGG, MP3, WAV audio playback
- Fixed timestep game loop
- Keyboard/mouse/controller input handling
- Window management
- Asychronous scripting
- Math
- Vectors
- Matrices
- Quaternions
- Bounding boxes
- Easing functions
* Dependencies
- Guile >= 3.0.6
- Guile-OpenGL >= 0.1.0
- Guile-SDL2 >= 0.8.0
* Running examples
Examples in this repository can be run like so:
#+BEGIN_SRC sh
./run-example sprite
#+END_SRC
See the =examples/= directory for the names of all the available
examples.
* License
GNU GPL version 3 or later
|