Recently saw one in Haskell too. And there have been several in Javascript over the years.
Did you find you had to manually manage the GC? Did you take advantage of CLOS?
Recently saw one in Haskell too. And there have been several in Javascript over the years.
Did you find you had to manually manage the GC? Did you take advantage of CLOS?
I use CLOS a lot for everything. The event system is literally just an array of handlers and a generic function called HANDLE that takes the event object and the handler object, for instance.
The source code for the engine, Trial, and the game, Kandria, are both on our GitHub under Shirakumo.
Update Bought a copy, definitely my jam. Played on the steam deck, noticed that the first time I used an action (move, jump, attack) there was a noticeable pause/stutter but has been smooth as butter afterwards.
PS: are you able to talk about the steam integration? I assume it's a C or C++ library of sorts and fairly straight-forward to extend; curious if you plan on releasing to another platform if it's possible to keep similar "achievments."
Also, kudos on the accessibility settings; changing damage and game speed, etc! Nice.
Sure. I use the cl-steamworks library I wrote. https://shinmera.github.io/cl-steamworks/ Their API frankly sucks and getting the integration going was a big pain. However, if all you want is the minimum, like achievos, you can omit all of that and just do a couple C calls.
The engine has abstracted support for achievements and such integrations, so it is possible to integrate with other platforms, too, should we ever release on GOG or EGS.