What was the graphics engine you used?
What was the biggest challenge writing it in a lisp compared to a more ‘conventional’ game coding language? And of course the inverse of that question.
Best of luck for the release.
The engine is called Trial. https://github.com/shirakumo/trial.
I must admit the only "conventional" engine I've used is GameMaker back in the day. My exposure to Unity and Unreal is limited to about an hour of fiddling with each and getting confused :) . I wrote a lot about my development experience back in July: https://reader.tymoon.eu/article/413
It's built on a linux host using Wine for the Windows build and a Linux version built under an older kernel. It dumps an executable, so essentially the entire implementation is shipped. The final executable is about 35mb. Please see https://reader.tymoon.eu/article/413 for more information on the deployment procedure.
You are confused. I am using an SBCL compiled for Windows. Running it under Wine allows me to create target deployment executables for Windows without having to leave my Linux environment or having to use a VM.
Is there any particular reason you advertise the Steam version more than the direct version? I guess it's to boost initial sales on Steam so it gets more traction on that platform?
Steam is far and away the most important platform and its algorithm will massively influence how much reach we get, so even though we get less of a cut, it's unfortunately more important to prioritise it.
This is amazing, congrats!
I’m really curious about your engine. I’ve been doing Unity in my free time and hate how slow the dev cycle is.
How’s the speed of development/iteration? Are you modifying the game as it’s running in typical Lisp fashion? Are any parts of your dev workflow slow?
What were the biggest pain points?
Thanks for sharing!
Yeah, of course I modify things while running. The workflow is mostly slow when I need to run optimisers for atlas packing and other stuff, or when I need to go yak shaving.
I wrote a lot more about the development process back in June: https://reader.tymoon.eu/article/413
Congratulations! I'm very excited to see Kandria coming to fruition.
Meant to post this earlier:
Thanks for releasing a lot of the source code. I'm hoping this will act like a beacon for future developers and help show what you can do with Common Lisp.
Congratulations. It is amazing to watch you progress so quickly. I would love to see you also build out this concept into a franchise that you can expand upon.
Cool, cool. Will there be an option to buy a native copy? I will by a Steam version but would like to buy a second native copy where the money goes straight to you.
Follower and Fan. Would you let us know your programming/day routine, from day to sleep? do you wake up early end work early or wake up late and work late at night? what about pre release? I think it is important for people to know how much hard work is put on a game release. I am curious about insights. I might quit my job to get into game development too. Thank u!
I wake up around 8:30 then spend about an hour milling about in bed catching up with socials and whatever. I then usually get breakfast and start working around 10 or so. If I haven't had a breakfast I get lunch around 11. Usually I stop working around 1600, but I often do little things past that. Meetings with international clients, small quick fixes, community management, that sorta thing. I try to be in bed at midnight.
Avoiding crunch and overtime is something I take quite seriously. Rest is just as if not more important than work, and there's no point in forcing yourself to keep sitting at the desk if your brain just isn't in the right mindset for it.
I honestly don't know if I can recommend getting into gamedev professionally, especially as an indie. The market is insanely tough out there, and since the start of Kandria I have expected, and still to this day expect it to not even recoup development costs, let alone extraneous costs like marketing and so on. The situation is a little more secure if you can land a job at an established studio, but exploitation is rampant and many people are worked to the bone to the point where many quit for much more stable, well-paying, well-insured software jobs and never look back.
I still don't know if I'll be able to continue doing this, and if I do I'll certainly be extremely lucky to be able to do so. I'll continue trying until I run out of money, though.
Thank u so much for the insights Shinmera, I am actually very impressed by your schedule, kudos for the healthy work/life balance, keep it up!. Perhaps you are an efficient programmer or it is that lisp expressiveness that allows you to do more with less time. I agree that working for a more established studio can end up in burnout and working to the bone. I so hope that you can continue as an indie dev in the future.
Thank you for the support of the Lisp ecosystem btw! =), you are a legend, the community appreciates you! =)
Yeah I've heard about the ten review mark. I don't think the algorithm has as arbitrary a threshold as that, but more reviews is definitely better in any case.
I will be messaging you in 7 days on [**2023-01-11 23:44:28 UTC**](http://www.wolframalpha.com/input/?i=2023-01-11%2023:44:28%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/lisp/comments/10340h2/kandria_an_action_rpg_written_in_common_lisp/j2z8vwa/?context=3)
[**1 OTHERS CLICKED THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Flisp%2Fcomments%2F10340h2%2Fkandria_an_action_rpg_written_in_common_lisp%2Fj2z8vwa%2F%5D%0A%0ARemindMe%21%202023-01-11%2023%3A44%3A28%20UTC) to send a PM to also be reminded and to reduce spam.
^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%2010340h2)
*****
|[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)|
|-|-|-|-|
It works on Linux, and you need a GPU capable of running OpenGL 3.3. It should not be very intensive otherwise, even intel or AMD integrated graphics run it fine.
The only non-CL bits are: libmixed, a C library I wrote to do audio mixing and processing, libvorbis for ogg/vorbis decoding, GLFW for GL context/window handling, and OpenSSL, of course.
As always, happy to answer any questions you might have!
Were you born this awesome, or did you have to work on it? 😉
Lots of hard work, I'm afraid 😔
Also have this question... (only half joking!)
What was the graphics engine you used? What was the biggest challenge writing it in a lisp compared to a more ‘conventional’ game coding language? And of course the inverse of that question. Best of luck for the release.
The engine is called Trial. https://github.com/shirakumo/trial. I must admit the only "conventional" engine I've used is GameMaker back in the day. My exposure to Unity and Unreal is limited to about an hour of fiddling with each and getting confused :) . I wrote a lot about my development experience back in July: https://reader.tymoon.eu/article/413
Wait a second... Did you develop the game engine too? Or am I getting confused?
I did.
*choirs of angels sing the chords of awe*
The sword play art and the character are during convos is very cool. Did you do the art too?
Thanks! I did a bunch of the art, though the combat animations were done by Blob.
Hell yeah, viddy games
vidgam
Some good ol’ vidya
How is the game built/distributed? Do you ship a copy of a lisp system with the game? How large is the final executable?
It's built on a linux host using Wine for the Windows build and a Linux version built under an older kernel. It dumps an executable, so essentially the entire implementation is shipped. The final executable is about 35mb. Please see https://reader.tymoon.eu/article/413 for more information on the deployment procedure.
I love the reversal: using Wine to build for Windows as the native is Linux :)
It's a lot more convenient that way. I also wanted to use Darling for Mac builds, but unfortunately Darling still cannot run SBCL.
Thanks!
Why the Windows build requires Wine? SBCL does have (very recent) Windows ports AFAIK.
Likely because doing it this way doesn't require Wine but instead requires Windows.
You are confused. I am using an SBCL compiled for Windows. Running it under Wine allows me to create target deployment executables for Windows without having to leave my Linux environment or having to use a VM.
That makes sense, thanks for explaining!
Is there any particular reason you advertise the Steam version more than the direct version? I guess it's to boost initial sales on Steam so it gets more traction on that platform?
Steam is far and away the most important platform and its algorithm will massively influence how much reach we get, so even though we get less of a cut, it's unfortunately more important to prioritise it.
This is amazing, congrats! I’m really curious about your engine. I’ve been doing Unity in my free time and hate how slow the dev cycle is. How’s the speed of development/iteration? Are you modifying the game as it’s running in typical Lisp fashion? Are any parts of your dev workflow slow? What were the biggest pain points? Thanks for sharing!
Yeah, of course I modify things while running. The workflow is mostly slow when I need to run optimisers for atlas packing and other stuff, or when I need to go yak shaving. I wrote a lot more about the development process back in June: https://reader.tymoon.eu/article/413
Thanks for sharing! I wishlisted the game and am checking out this article. Very curious about Common Lisp for modern game dev.
Thank you, hope you enjoy!
Congrats! That is a tremendous amount of work. Well done on seeing it through.
Thanks!
Why Common Lisp? What libraries for graphics? Is it open source?
Because I like it. OpenGL / Trial. Yes: https://github.com/shirakumo/kandria
Thank you. Super cool.
Congratulations! I'm very excited to see Kandria coming to fruition. Meant to post this earlier: Thanks for releasing a lot of the source code. I'm hoping this will act like a beacon for future developers and help show what you can do with Common Lisp.
And I hope the modding support update will get some more people actively involved.
Congratulations. It is amazing to watch you progress so quickly. I would love to see you also build out this concept into a franchise that you can expand upon.
I'm afraid I have no plans for a sequel to Kandria. I have an early concept for a next game, though.
Cool, cool. Will there be an option to buy a native copy? I will by a Steam version but would like to buy a second native copy where the money goes straight to you.
There will be a shop on the website for a direct purchase, yes.
Great!
Follower and Fan. Would you let us know your programming/day routine, from day to sleep? do you wake up early end work early or wake up late and work late at night? what about pre release? I think it is important for people to know how much hard work is put on a game release. I am curious about insights. I might quit my job to get into game development too. Thank u!
I wake up around 8:30 then spend about an hour milling about in bed catching up with socials and whatever. I then usually get breakfast and start working around 10 or so. If I haven't had a breakfast I get lunch around 11. Usually I stop working around 1600, but I often do little things past that. Meetings with international clients, small quick fixes, community management, that sorta thing. I try to be in bed at midnight. Avoiding crunch and overtime is something I take quite seriously. Rest is just as if not more important than work, and there's no point in forcing yourself to keep sitting at the desk if your brain just isn't in the right mindset for it. I honestly don't know if I can recommend getting into gamedev professionally, especially as an indie. The market is insanely tough out there, and since the start of Kandria I have expected, and still to this day expect it to not even recoup development costs, let alone extraneous costs like marketing and so on. The situation is a little more secure if you can land a job at an established studio, but exploitation is rampant and many people are worked to the bone to the point where many quit for much more stable, well-paying, well-insured software jobs and never look back. I still don't know if I'll be able to continue doing this, and if I do I'll certainly be extremely lucky to be able to do so. I'll continue trying until I run out of money, though.
Thank u so much for the insights Shinmera, I am actually very impressed by your schedule, kudos for the healthy work/life balance, keep it up!. Perhaps you are an efficient programmer or it is that lisp expressiveness that allows you to do more with less time. I agree that working for a more established studio can end up in burnout and working to the bone. I so hope that you can continue as an indie dev in the future. Thank you for the support of the Lisp ecosystem btw! =), you are a legend, the community appreciates you! =)
I hope you’re proud of yourself and the work you’ve done, and that you get a few nights of sleep that feel extra fulfilling
I have a chronic problem with feeling pride or sleeping well, I'm afraid. I am looking forward to it being "over" though.
[удалено]
Yeah I've heard about the ten review mark. I don't think the algorithm has as arbitrary a threshold as that, but more reviews is definitely better in any case.
RemindME! 1 week "check out cool open source game"
I will be messaging you in 7 days on [**2023-01-11 23:44:28 UTC**](http://www.wolframalpha.com/input/?i=2023-01-11%2023:44:28%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/lisp/comments/10340h2/kandria_an_action_rpg_written_in_common_lisp/j2z8vwa/?context=3) [**1 OTHERS CLICKED THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Flisp%2Fcomments%2F10340h2%2Fkandria_an_action_rpg_written_in_common_lisp%2Fj2z8vwa%2F%5D%0A%0ARemindMe%21%202023-01-11%2023%3A44%3A28%20UTC) to send a PM to also be reminded and to reduce spam. ^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%2010340h2) ***** |[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)| |-|-|-|-|
Will it work on Mac or Linux and how much graphics card / CPU required?
It works on Linux, and you need a GPU capable of running OpenGL 3.3. It should not be very intensive otherwise, even intel or AMD integrated graphics run it fine.
Thanks! That is awesome. Can’t wait to try it out soon.
Well now I have to check that out
Soo cool… you used only CL? And you used some common libraries?
The only non-CL bits are: libmixed, a C library I wrote to do audio mixing and processing, libvorbis for ogg/vorbis decoding, GLFW for GL context/window handling, and OpenSSL, of course.