summaryrefslogtreecommitdiff
path: root/haunt.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2017-01-22 20:04:33 -0500
committerDavid Thompson <dthompson2@worcester.edu>2017-01-22 20:04:33 -0500
commitffade05a970431df7be5e5aa35c3bfda25ee5d6f (patch)
tree8900f6662db42a4647a1015e084c07d0d4255a5b /haunt.scm
parent2262398b3accdf842356312f690a8e2b8038ece4 (diff)
Add project page for chickadee.
Diffstat (limited to 'haunt.scm')
-rw-r--r--haunt.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/haunt.scm b/haunt.scm
index e29a00a..0545dd0 100644
--- a/haunt.scm
+++ b/haunt.scm
@@ -309,6 +309,8 @@ at "
"Projects"
"projects.html"
`((h1 "Projects")
+ (p ,(anchor "Chickadee" "projects/chickadee.html")
+ " — Game development toolkit for Guile Scheme")
(p ,(anchor "Guile-SDL2" "projects/guile-sdl2.html")
" — SDL2 bindings for Guile Scheme")
(p ,(anchor "Haunt" "https://haunt.dthompson.us")
@@ -372,7 +374,7 @@ using Guile's foreign function interface."))
" namespace, roughly organized how the SDL2 C header files are
organized. Low-level bindings are available in the"
(code "(sdl2 bindings ...)")
- " namespace, bu these are not recommended for normal usage.")
+ " namespace, but these are not recommended for normal usage.")
(p "Additionally, SDL2 extension library bindings are available in the
following modules:")
(ul (li "SDL2_image: " (code "(sdl2 image)"))
@@ -414,6 +416,52 @@ following modules:")
("0.1.1" ,(date 2016 01 01))
("0.1.0" ,(date 2015 12 22)))))
+(define chickadee-page
+ (project-page
+ #:name "Chickadee"
+ #:file-name "chickadee.html"
+ #:repo "chickadee"
+ #:description
+ `((p "Chickadee is a game development toolkit for "
+ ,(anchor "Guile Scheme" "https://gnu.org/s/guile")
+ " built on top of "
+ ,(anchor "SDL2" "http://libsdl.org")
+ " and OpenGL.")
+ ,(centered-image "/images/chickadee/logo.png" "Chickadee logo")
+ (p "Chickadee aims to provide all the features that
+parenthetically inclined game developers need to make 2D (and
+eventually 3D) games in Scheme, such as:")
+ (ul
+ (li "extensible, fixed-timestep game loop")
+ (li "OpenGL-based rendering engine")
+ (li "keyboard, mouse, controller input")
+ (li "REPL-driven development model"))
+ (p "Here is a simple example:")
+ ,(highlight-scheme
+ "(use-modules (chickadee))
+
+(define sprite #f)
+
+(define (load)
+ (set! sprite (load-image \"chickadee.png\")))
+
+(define (draw alpha)
+ (draw-sprite sprite (vector2 320 240)))
+
+(add-hook! load-hook load)
+(add-hook! draw-hook draw)
+
+(run-game)
+")
+ (p (small ,(anchor "chickadee sprite by Refuzzle, CC0"
+ "http://opengameart.org/content/winter-birds"))))
+ #:requirements '("GNU Guile >= 2.1.4"
+ "Guile-SDL2 >= 0.2.0"
+ "Guile-OpenGL >= 0.1.0")
+ #:license "GNU GPLv3+"
+ #:releases
+ `()))
+
(define shroud-page
(project-page
#:name "Shroud"
@@ -515,6 +563,7 @@ Convert SubRip formatted subtitles to WebVTT format.
(atom-feeds-by-tag)
about-page
projects-page
+ chickadee-page
sly-page
guile-sdl2-page
shroud-page