Fork me on GitHub
#clojure-gamedev
<
2017-09-12
>
theeternalpulse20:09:17

What's the leading clojure game development platform would you say?

theeternalpulse20:09:34

I'm using quil to prototype out some stuff but is there something more fully featured?

the2bears20:09:32

I haven't used the 'cljs' version, but I used a similar library to LibGDX w/Java in the past and have so far quite enjoyed using the first link posted.

the2bears20:09:48

My work in progress above uses play-clj.

theeternalpulse20:09:48

oh cool. thanks.

theeternalpulse20:09:34

quil is also based on processing

the2bears20:09:05

I used quil once, to provide an example of generating a 'pixel-ship'. Incidentally, they're from Dave Bollinger's work, which has sadly left the web. He used 'processing' a lot.

theeternalpulse20:09:08

do you organize it any different to separate the draw phase from the update state phase?

the2bears20:09:11

organize what different from what? 🙂

the2bears20:09:27

ambiguous references 😉

the2bears20:09:34

play-clj has a very explicit life cycle model

the2bears20:09:48

I don't know/remember enough about quil

the2bears20:09:56

if those are the two things you refer to.

theeternalpulse20:09:12

sorry, yeah I'm very vague when I want specific answers lol.

theeternalpulse20:09:23

so I saw that you are updating the state in the main draw function in play-clj

theeternalpulse20:09:38

whereas quil has a setup hook that has a function that is the state reducer

theeternalpulse20:09:46

while the main is just a consumer

theeternalpulse20:09:14

and passes the last state into it. It's more functional rather than updating an atom

the2bears20:09:30

It's not really a "main draw" function in play-clj

the2bears20:09:35

it's the main game loop

the2bears20:09:53

so you really should update all things in there each time, ending (usually) with a render

the2bears20:09:04

but it does go by :on-render so I can see why you're asking

theeternalpulse20:09:22

yeah, I need to look into it when I get home

the2bears20:09:24

essentially that's the function that will be called each game loop

theeternalpulse20:09:52

cool thanks for clarification. I was going to look into arcadia but the whole Unity on linux thing I couldn't get working

theeternalpulse20:09:06

but this seems like a good start

the2bears20:09:17

Yeah, it's working quite well for the old-school 2d arcade things I like to do. I've never tried 3d, not likely to either 🙂

theeternalpulse20:09:53

yeah, the barrier to 3d I'd like to at least mix with 2d. have an idea for a mario 3d styled game dungeon roguelike