From 0e699be281c8dea53e589e08a5831837e0eae7ea Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 7 Oct 2021 20:17:50 -0400 Subject: Updates for Chickadee 0.8.0 and Guile-SDL2 0.7.0. --- projects.scm | 94 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 70 insertions(+), 24 deletions(-) (limited to 'projects.scm') diff --git a/projects.scm b/projects.scm index 8fdd861..6e05296 100644 --- a/projects.scm +++ b/projects.scm @@ -116,7 +116,8 @@ following modules:") #:license "GNU LGPLv3+" #:manual? #t #:releases - `(("0.6.0" ,(date 2021 04 13)) + `(("0.7.0" ,(date 2021 10 07)) + ("0.6.0" ,(date 2021 04 13)) ("0.5.0" ,(date 2020 04 07)) ("0.4.0" ,(date 2019 06 02)) ("0.3.1" ,(date 2018 10 16)) @@ -221,6 +222,7 @@ and smile, because you've just generated your first Haunt site!")) #:repo "chickadee" #:guix-package "guile-chickadee" #:manual? #t + #:irc-channel "#chickadee" #:description `((p "Chickadee is a game development toolkit for " ,(anchor "Guile Scheme" "https://gnu.org/s/guile") ".") @@ -230,47 +232,91 @@ parenthetically inclined game developers need to make games in Scheme.") (p "Here is the obligatory “Hello, world” program:") ,(highlight-scheme - "(use-modules (chickadee) - (chickadee math vector) - (chickadee graphics font)) - -(define (draw alpha) + "(define (draw alpha) (draw-text \"Hello, world!\" (vec2 260.0 240.0))) - -(run-game #:draw draw) ") + ,(centered-image "/images/chickadee/screenshot-hello-world.png" + "Hello world example screenshot") (p "And here's how to draw a sprite:") ,(highlight-scheme - "(use-modules (chickadee) - (chickadee math vector) - (chickadee graphics sprite) - (chickadee graphics texture)) - -(define sprite #f) + "(use-modules (chickadee graphics sprite)) -(define (load) - (set! sprite (load-image \"images/chickadee.png\"))) +(define sprite (load-image \"chickadee.png\")) (define (draw alpha) (draw-sprite sprite (vec2 256.0 176.0))) +") + ,(centered-image "/images/chickadee/screenshot-sprite.png" + "Sprite example screenshot") + (p "Chickadee can render vector paths:") + ,(highlight-scheme + "(use-modules (chickadee graphics path)) + +(define gradient + (radial-gradient #:start-color tango-light-sky-blue + #:end-color tango-dark-sky-blue + #:radius 240.0 + #:origin (vec2 240.0 240.0))) + +(define painter + (let ((filled-circle (with-style ((fill-color gradient)) + (fill (circle (vec2 240.0 240.0) 240.0))))) + (translate (vec2 80.0 0.0) (corner-split filled-circle 4)))) -(run-game #:load load #:draw draw) +(define canvas (make-canvas painter)) + +(define (draw alpha) + (draw-canvas canvas)) +") + ,(centered-image "/images/chickadee/screenshot-vector-path.png" + "Vector path example screenshot") + (p "And it can also render 3D models:") + ,(highlight-scheme + "(use-modules (chickadee graphics light) + (chickadee graphics model) + (chickadee graphics skybox)) + +(define model (load-gltf \"Suzanne.gltf\")) +(define camera-position (vec3 0.0 0.0 3.0)) +(define world (make-identity-matrix4)) +(define view (look-at camera-position (vec3 0.0 0.0 0.0) (vec3 0.0 1.0 0.0))) +(define projection (perspective-projection (/ pi 3.0) (/ 4.0 3.0) 0.1 5.0)) +(define skybox + (make-skybox + (load-cube-map #:right \"right.jpg\" + #:left \"left.jpg\" + #:top \"top.jpg\" + #:bottom \"bottom.jpg\" + #:front \"front.jpg\" + #:back \"back.jpg\"))) + +(define (draw alpha) + (with-projection projection + (draw-skybox skybox view) + (draw-model model + #:model-matrix world + #:view-matrix view + #:camera-position camera-position + #:skybox skybox))) ") - (p "Features include:") + ,(centered-image "/images/chickadee/screenshot-3d.png" + "3D example screenshot") + (p "Other features include:") (ul (li "extensible, fixed-timestep game loop") - (li "OpenGL-based rendering engine") - (li "keyboard, mouse, controller input events") - (li "vectors, matrices, bounding boxes, easing functions, etc.") + (li "keyboard, mouse, and controller input events") + (li "vectors, matrices, bounding boxes, and easing functions") + (li "audio playback") (li "asynchronous scripting")) (p (small ,(anchor "chickadee sprite by Refuzzle, CC0" "http://opengameart.org/content/winter-birds")))) - #:requirements '("GNU Guile >= 2.1.4" - "Guile-SDL2 >= 0.6.0" + #:requirements '("GNU Guile >= 3.0.0" + "Guile-SDL2 >= 0.7.0" "Guile-OpenGL >= 0.1.0") #:license "GNU GPLv3+" #:releases - `(("0.7.0" ,(date 2021 04 13)) + `(("0.8.0" ,(date 2021 10 07)) + ("0.7.0" ,(date 2021 04 13)) ("0.6.0" ,(date 2020 11 19)) ("0.5.0" ,(date 2020 04 08)) ("0.4.0" ,(date 2019 06 04)) -- cgit v1.2.3