3 ms·
I had to do a little bit to avoid insane amounts of consing, but honestly not a lot. And the optimisations I just did after the fact, gradually. I use CLOS a l
by Shinmera 4y ago
I had to do a little bit to avoid insane amounts of consing, but honestly not a lot. And the optimisations I just did after the fact, gradually.
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.
- agentultra 4y agoNice! Thanks for sharing! 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.
- Shinmera 4y agoHmmm. I might have to take another look at optimisation for the deck, then. Sure. I use the cl-steamworks library I wrote. https://shinmera.github.io/cl-steamworks/ 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.
- Annatar 4y ago[dead]
- int_19h 4y agoI always wondered if CLOS multimethods would be particularly useful in gamedev - it feels like it would be most natural to model arbitrary and unpredictable interactions between many different entities. How common is multiple dispatch in practice in your codebase?
- Shinmera 4y agoVery common.