summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2018-08-20 20:33:30 -0400
committerDavid Thompson <dthompson2@worcester.edu>2018-08-23 08:01:11 -0400
commitcdac3f14ad841c7231cb278f985a979efdad1515 (patch)
tree6f0cf0a397f4eb317eb82cc09444c0660787b9e7 /README
parent517d129719e1f5210e1e0c8ff6e597284b41a599 (diff)
Update README.
Diffstat (limited to 'README')
-rw-r--r--README53
1 files changed, 34 insertions, 19 deletions
diff --git a/README b/README
index 7cdf455..3b75a71 100644
--- a/README
+++ b/README
@@ -4,13 +4,20 @@
* About
- Chickadee is a game development toolkit for Guile Scheme.
+ 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))
+ (chickadee render texture)
+ (chickadee sdl))
(define sprite #f)
@@ -18,29 +25,37 @@
(set! sprite (load-image "images/chickadee.png")))
(define (draw alpha)
- (draw-sprite sprite (vec2 256.0 176.0)))
-
- (add-hook! load-hook load)
- (add-hook! draw-hook draw)
+ (draw-sprite sprite #v(256.0 176.0)))
- (run-game)
+ (run-game/sdl #:load load #:draw draw)
#+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
+ 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
- - Keyboard/mouse/joystick input
- - Sound effects and music
- - 2D/3D/4D vector math library
- - Axis-aligned bounding box library
- - Fixed timestep game loop
+ - Tiled maps
+ - Math
+ - Vectors
+ - Matrices
+ - Quaternions
+ - Axis-aligned bounding boxes
+ - Easing functions
+ - Scripting
+ - Coroutines
+ - Time-based scheduling
+ - Generic A* pathfinding algorithm
* Dependencies