598 karma · joined December 5, 2014
It is far more important to me to show confidence in my vision and to let other people learn from what I've done. In my view a lot more games should be open source, because far too much of the process is hidden behind mysticism, with far too many people wasting a ton of time reinventing things from scratch.
And, well, finally, I'd ultimately like to make everything I do available for free, anyhow. The only reason I'm selling Kandria is because there is no UBI in this country and probably won't be for many years to come, so I have to fund things somehow.
You need a full copy of the game from Steam or somewhere else to hack the game. You can get the source code here: https://github.com/shirakumo/kandria and hack on it that way.
You can also just look at the asset files in the install folder and mess around with those. Nothing's encrypted.
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.
There are accessibility options that let you toggle infinite dashes on and off at any time, which lets you bypass most of the challenges pretty easily should you get frustrated.
Thanks!
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.
You can find more info on the dev process here: https://reader.tymoon.eu/article/413 And the source code for the engine, Trial, and the game, Kandria, are both on our GitHub under Shirakumo.
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.
The code base isn't great for learning though, I'd say. Game development usually does not leave the time to architect things neatly, rewrite large chunks, or document stuff deeply.
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.