There's a lot of aspects that are extremely Lispy. The best example is our dialogue scripting language, Speechless: https://shirakumo.github.io/speechless
You can run arbitrary lisp snippets to form conditions, branching, and effects in the game. This makes integration and extension very easy, and I don't have to constantly extend some special purpose scripting API to expose new bits.
The heavy use of CLOS is another good example, and of course the interactive development. Shaders, assets, etc can be reloaded while the game is running, not to mention all game behaviour.
Very cool. Is any of this exposed at the user level in any way for modding/experimentation or is that just too unworkable in production? Also, curious if there was a toolchain reason for the lack of a Mac version or is it just too tiny of a market to bother?
Official modding support is coming as the second major post launch update.
Mac version isn't supported because I got tired of Apple constantly breaking things and making them way more difficult, while still having the worst documentation on the planet. I don't have it in me anymore to chase that.
But, if anyone else wants to fix things up, the engine and game are OSS.
This game looks super exciting! Unfortunately, I have a mac :<.
So, I install sbcl, installed quicklisp and then used quicklisp to install your game after cloning and cc'ing into your directory. It looks like your game would work if you (or someone) looked into why your "Harmony" sound engine isn't working (line 28-29 in your package.lisp file). I attempted to load from your github/Harmony directory and this is the error -
* (ql:quickload '(harmony cl-mixed-coreaudio))
To load "harmony":
Load 1 ASDF system:
harmony
; Loading "harmony"
.............
debugger invoked on a LOAD-FOREIGN-LIBRARY-ERROR in thread
#<THREAD "main thread" RUNNING {7008640253}>:
Unable to load any of the alternatives:
("libmixed2.dylib" "libmixed.dylib" "mac-arm64-libmixed.dylib")
I tested the other audio implementations suggested as well and they don't work either. Is there a way to play this game without sound? That might fix the problem. I don't know how much I'm willing to dig into this, because cl-mixed is it's own library and it looks like it would start to become a rabbit hole.
The problem is most likely that I haven't updated the included binaries of libmixed in a while. Building that in itself shouldn't be difficult, but no, there's no way to compile or play without the sound library present at all.
You can run arbitrary lisp snippets to form conditions, branching, and effects in the game. This makes integration and extension very easy, and I don't have to constantly extend some special purpose scripting API to expose new bits.
The heavy use of CLOS is another good example, and of course the interactive development. Shaders, assets, etc can be reloaded while the game is running, not to mention all game behaviour.