From 81495a17f74e39bd47c8fc215cc70efe41cf5a07 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 5 Jun 2023 09:07:10 -0400 Subject: New post about the spring lisp game jam. --- posts/2023-06-05-spring-lisp-game-jam.md | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 posts/2023-06-05-spring-lisp-game-jam.md (limited to 'posts') diff --git a/posts/2023-06-05-spring-lisp-game-jam.md b/posts/2023-06-05-spring-lisp-game-jam.md new file mode 100644 index 0000000..0c3fd85 --- /dev/null +++ b/posts/2023-06-05-spring-lisp-game-jam.md @@ -0,0 +1,84 @@ +title: Spring Lisp Game Jam 2023 Summary +date: 2023-06-05 09:00:00 +tags: guile, gamedev, gamejam, chickadee +summary: Check out all of the entries to the Spring Lisp Game Jam! +--- + +The [Spring Lisp Game Jam +2023](https://itch.io/jam/spring-lisp-game-jam-2023) submission +deadline has now passed and we are now in the rating period. I was a +co-host of the jam alongside +[technomancy](https://technomancy.itch.io/) but he did all the real +work setting everything up. There were [30 +submissions](https://itch.io/jam/spring-lisp-game-jam-2023/entries) +this time around, which I believe is a new record for our little jam! +This particular jam was a special one for me. I not only submitted a +game built with [Chickadee](/projects/chickadee.html) but I also got +*paid* to work on another entry as part of my work at the [Spritely +Institute](https://spritely.institute)! + +If there’s a downside to doing a game jam as part of your day job, +it’s that there isn’t much time to hack on a game just for funsies. +Woe is me, right? I *really* wanted to submit something built with +Chickadee, though, not only to get some experience making things with +it but also to validate that the whole stack is actually improving +over time. So, I did my best to scope my ambitions *way down* and +create the simplest game I could think of that I could still be happy +to share. That game is [Super +Bloom](https://itch.io/jam/spring-lisp-game-jam-2023/rate/2102759)! +You play as a little bouncing circle, I guess, that is tasked with +helping a young sunflower seedling grow and bloom. You need to water +it and destroy the dirt balls (which my limited art abilities made +look more like meatballs) that want to kill it for some reason unknown +even to me. It’s a very minimal game. Water is used both to grow the +flower and to attack the dirt balls. The only keys used are the arrow +keys and Z. Most of the work happened on the weekends at the start +and end of the jam. I’m quite happy with how it came out given how +little time I spent making it! + +![Super Bloom gameplay GIF](/images/chickadee/super-bloom.gif) + +In addition to using Chickadee, this game served as another +opportunity to test drive my still-unreleased game engine named +[Catbird](/catbird-an-experimental-game-engine-for-scheme-programmers.html). +There are still several rough edges but things are definitely headed +in the right direction. The new in-engine REPL, as crude as it is, +proved very useful for evaluating small expressions quickly without +having to switch back to Emacs. Much of the game was developed live +at the REPL from within Emacs, while the game was running, except for +when I encountered engine bugs or needed to do a big refactor or +something. Catbird auto-reloads non-code assets (images, sound, etc.) +so it was quick and easy to check out how sprite updates looked inside +the game. The biggest change in my tools this time around was using +[Libresprite](https://libresprite.github.io) instead of GIMP for the +pixel art. I had a great experience with Libresprite and intend to +stick with it for future game dev projects. + +For Spritely, Christine and I worked on a distributed, networked +virtual world prototype called +[Fantasary](https://itch.io/jam/spring-lisp-game-jam-2023/rate/2103526). +I spent *a lot* of time on this and even though it doesn’t have much +in the way of gameplay it is a very important prototype for us and if +you want to know more about it then keep an eye on the Spritely blog +because we will be writing about all the details there! But wait, +there’s more! Spritely contributed not only one, but *two* entries to +the jam. Check out +[Wireworld](https://itch.io/jam/spring-lisp-game-jam-2023/rate/2103611) +for the [WASM-4](https://wasm4.org/) fantasy console, made using the +[Guile Hoot](https://gitlab.com/spritely/guile-hoot) WebAssembly +toolchain that Spritely is developing. There will be more details +about this one one the Spritely blog, as well. + +As far as I can tell, there are no other entries that used Guile, and +[only one other +entry](https://itch.io/jam/spring-lisp-game-jam-2023/rate/2102505) +that used Scheme at all. As usual, Common Lisp and Fennel (the Lisp +that compiles to Lua) were used for the bulk of the entries. This is +call to all Schemers to get out there and make some games! And if you +don’t want to use Guile, I *know* at least Gambit and Chicken are good +for making games. + +Congrats to all jammers that participated, whether you completed your +entry or not. I’ve been following the Lisp Game Jam for years and it +keeps getting better and better and seeing more and more people catch +the Lisp bug (or curse, depending on your perspective) is exciting! -- cgit v1.2.3