Fork me on GitHub
#clojure-gamedev
<
2021-10-22
>
Joe12:10:47

Hello! What are the reasonable options these days for a UI for basic tile-based 2d / Roguelike type game, either JVM or browser based? play-cljc seems like the simplest option, but some (quite old) resources use Laterna or Quil. Are there any good options that I'm missing? My priority is definitely simplicity over feature richness. The ability to display a small grid of tiles and handle keyboard and mouse inputs is mostly what I need. Thanks, and apologies for what I imagine is a common question

Chris McCormick10:10:14

i cannot recommend ROT.js highly enough. it is perfect for making roguelike games in the browser. i gave a talk about this at roguelike celebration let me know if you want the link.

Joe10:10:26

Oh definitely would like the link, that sounds very promising for what I want, thanks!

Chris McCormick10:10:50

it's all JS but i know from previous experience you can wrap it in cljs no problems.

Joe10:10:21

It looks really interesting, thanks. Do you have an example CLJS repo I can look at to get myself off the ground?

Chris McCormick11:10:56

I only have really old code. My next roguelike will be made with rot.js but so far I've only used JavaScript sorry!

👍 1
Chris McCormick11:10:16

I found this very old codebase that has some ROT.js integration but it's not great. https://github.com/chr15m/hexatron

Chris McCormick11:10:17

here's a another more recent one. for some reason i decided to run all the heavy calls in a web worker. https://github.com/chr15m/emorogue

pablore13:12:20

There’s also [Zircon](https://github.com/Hexworks/zircon). A kotlin library for making tile-based UIs, which you can wrap with clojure.

Joshua Suskalo14:10:18

quil is a really good option if you just wanna draw some graphics fast and don't have too demanding a game.

Joshua Suskalo14:10:46

I can't say anything about the browser-based ecosystem, but on JVM Clojure there isn't a whole lot in the library space for working with gamedev stuff, especially drawing to a UI onto like an OpenGL canvas or anything.

Joshua Suskalo14:10:09

There are some good Java libraries for this, like LibGDX, which you can use from Clojure, but it will take some getting used to the Java-style API.

Joe14:10:40

Thanks @suskeyhose ! I’ll go with Quil

Juλian (he/him)20:10:02

Quil is nice! it can be used for both, JVM and browser. For browser based, you could have a look at minicosm, too: https://github.com/jarcane/minicosm

thanks2 2
😍 1
cp4n12:10:23

Not the original person asking, but whoa, didn't know of minicosm, thanks for dropping that link!