Fork me on GitHub
Kelsey Sorrels16:02:34

Hi @zygon4 yes. I work on one as a hobby in Clojure.


Fun! Do you use a specific framework or all custom? Is it open source?


github is a small world, turns out


you wrote a ton of code for this game

Kelsey Sorrels19:02:31

Haha for sure! Some of the outputs have been a terminal emulator library for Clojure(zaffre), a REXPaint reader/writer(rockpick), and some color manipulation(tinter).

Kelsey Sorrels19:02:01

I'm kind of in a weird position because I've been doing hobby solo Clojure development for years without any proper feedback system in place. So take the code with a big grain of salt. There are likely idiosyncracies that I'm not aware of.

☝️ 4
Kelsey Sorrels19:02:13

I'm interested in your plans. Are you starting on a new roguelike or chipping away at an existing project?


I've written some RL code, all in Java. This would be a fresh project in Clojure. Part of the motivation is to rehash my Clojure chops, and part because I enjoy Clojure.


Modelling the data isn't that bad, but the core game loop, keyboard input, threading models, which UI framework, etc. are still big questions.


i could go back and use libGDX again with interop


but i'd be just as interested in using something else

Kelsey Sorrels21:02:55

I used LWJGL+glfw+stb_truetype+yoga and there is quite a bit of code which makes that happen. Kind of fun to write, but challenging to make performant.

Kelsey Sorrels21:02:22

One of the better ideas was writing a little component+layout system based on yoga. If I squint hard enough it looks almost like writing regular React.


my first RL was java+libGDX and it was an open world RL -fully open - and oh boy the performance is tricky.


i was also trying for as much immutable data as possible, which sadly only goes so far

Kelsey Sorrels22:02:00

Did you have an alloc-less render loop? That's something I'm struggling with right now. If it's something to even strive towards.


oh i doubt it


the render loop was hard to clean up, there was a lot of copying initially

Kelsey Sorrels22:02:20

Happen to have the code on github or elsewhere? I'd love to take a look.