Live data from Hacker News

Show HN: Kandria, an action RPG made in Common Lisp, is now out

store.steampowered.com

11–20 of 133 posts

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#13
This is dope as heck. I used to contribute to the common lisp SDL2 bindings. Great to see a polished game on Steam written in Common Lisp!

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?

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#14

This is dope as heck. I used to contribute to the common lisp SDL2 bindings. Great to see a polished game on Steam written in Common Lisp! 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 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.

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#15
post #12

It's looks amazing, congratulations! I'd love to see the source code. Assuming this is not OSS, I wonder what's a good example of a code base, ideally one that is hackable and could be used for educational purposes?

You can find the source over here: https://github.com/Shirakumo/kandria

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#16
post #12

It's looks amazing, congratulations! I'd love to see the source code. Assuming this is not OSS, I wonder what's a good example of a code base, ideally one that is hackable and could be used for educational purposes?

The source code for the engine, Trial, and the game, Kandria, are both on our GitHub under Shirakumo. It's all zlib licensed.

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.

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#17
post #6

Hi. I’d be interested on how you feel using lisp impacted the development of the game and the final game structure. Would it be the “same” game if implemented in a more conventional approach? Thanks.

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.

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#18
post #9

Wow looks beautiful, congratulations. Would love to learn about the development experience, specially taking into consideration that you've used Lisp.

Thanks! I wrote about exactly that a while ago: https://reader.tymoon.eu/article/413

Re: Show HN: Kandria, an action RPG made in Common Lisp, is now out

#20
post #5

This looks amazing! I'm guessing you may have answered these questions before somewhere so please point me to the information if so. I'd like to know what development environment you use (Emacs, SBCL and Slime?), what packages you used to create the graphics for the game, and what the game is compiled to. Thanks.

I use Emacs, Slime, SBCL, yes. Since it uses SBCL, game code is compiled to native machine code for each supported platform and architecture.

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.

Post reply on HN