Live data from Hacker News

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

store.steampowered.com

111–120 of 133 posts

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

#111

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 GitHu…

I 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?

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

#112
post #34

I've been tinkering with Emacs Lisp for a little bit. I notice some package authors use cl-* macros.. is it worth going in that direction? ...I just looked up where the macros are defined, this is fascinating: > ;; This package was written by Dave Gillespie; it is a complete > ;; rewrite of Cesar Quiroz's original cl.el package of December 1986. Congrats to the Sandra team, sorry about the off topic.

cl-lib is practically indispensable in modern emacs lisp programming. It can be pretty annoying to write some patterns without cl-loop, for instance, which like the real loop macro in CL is stupidly powerful (think, DSL for describing loops).

I'm not sure what you mean by "that direction," but if it implies doing CL, writing emacs lisp won't get you there, even if it might give you a head start from cl-lib, eieio, and general lisp ideas.

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

#113
I went ahead and purchased this, despite probably not having the time to play it more than checking it out. I really want to see commercially successful Lisp games and commercially successful Free games. I’m assuming that the game assets themselves are paid. I think Free engine paid assets is a very good way forward for game dev.

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

#114
post #89

I've got a vague recollection that the Linux platformer "Abuse" from 30 years ago used a dialect of Lisp.

Abuse was cross platform, later open source. The engine was nice engineering and probably one of the first true games with scriptability. However the game itself failed to deliver as a game was meh - not exciting. The same studio later tried their fangs in RTS, but never finished the project - I assume out of funding.

It's not that bad for the time; it's basically Narc set in an off-brand Aliens vs. Predator universe.

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

#115
So I bought it and have been playing a while (just found Sahil) and I have to say, I'm super impressed by the ambition of the game. It's kind of a mix of Celeste and Fallout, I'd say? I like the atmosphere and universe, very Fallout-y. Still getting used to the controls (I suck at Celeste too).

Loving all the little details like the whooshing of the crops as you walk through a field, the rope swinging.

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

#117
post #77

This is really great to see. I’m looking forward to learning from your work. Thanks for making it public. Long Live Lisp!

I hope the fact that game code is very hacked together won't deter you :)

I don't think it will. I have fond memories of logging in to the old ARPANET from a Zenith Z-19 terminal in my basement, over 1200 baud dialup into the local university and prowling for Lisp sources on different machines. Finding the ISI-GRAPHER code and trying to make sense of it was a big thrill.

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

#118
post #37

Hey, why does it matter if it's made in 'common lisp' ?

if i've learned anything from HN, it is that the language you write something in is the most important thing you can say about it.

This is an unnecessarily cynical comment, IMO. The title already establishes the value prop of the project as a "Show" entry; it's an action RPG, i.e. game. It's not "I made a clone of a C tool but in Rust" where there is no actual value prop.

It's a bonus that it's written in something a bit more interesting than your average game.

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

#119

Earlier quoted context omitted.

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 err…

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.

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

#120

Earlier quoted context omitted.

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 GitHu…

I 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?

Very common.
Post reply on HN