217 points
by: ertucetin
1 day ago
☆
217 points
by: ertucetin
1 day ago
☆
44 comments
☆
emmanueloga_
20 hours ago
Quick summary: ClojureScript + Babylon.JS on the frontend and Clojure for the backend, coordination via Websockets.
The point about lack of tooling for Babylon.JS is interesting: a lot of times I see people wanting to release games but spending most of the time building tools... sometimes all of the time. It is a delicate balance!
Congratulations on releasing! Very cool project.
☆
irjustin
19 hours ago
parent
next
[ - ]
[ x ]
> The point about lack of tooling for Babylon.JS is interesting: a lot of times I see people wanting to release games but spending most of the time building tools... sometimes all of the time. It is a delicate balance!
Ah we all know what we really want to do - build tools!
A game just makes the journey a tad more interesting.
☆
TeMPOraL
9 hours ago
root
parent
next
[ - ]
[ x ]
Or, we want to make a game, but we also want to make the base a reusable game engine, so we can later make another game with it, and this way we can also make simpler tech demos on the way to impress our friends (real or on social media), and because of that we need to do this properly, and wait I remember the Virtual File System in StarCraft was fascinating to me as a kid, let's do something like it, and wow did you see this new ambient occluding path traced cube marched screen space voxel protrusion demo, I absolutely need to implement this for my game, and...
... this is how you end up making three skeletons of a game engine and never making that game itself, before running out of childhood and having to switch to doing webshit for a living to pay for mortgage.
Ask me how I know.
☆
stephen_cagle
2 hours ago
root
parent
next
[ - ]
[ x ]
I love the saying "running out of childhood". Going to look for places to use that.
☆
ryandrake
3 hours ago
root
parent
prev
next
[ - ]
[ x ]
This post was physically painful to me, and also makes me paranoid that someone else has access to my /mnt/old_projects filesystem.
☆
kamranjon
21 hours ago
prev
next
[ - ]
This is bonkers and so cool that you did this solo. Loaded right up on my iPhone 13, prompted me to turn my phone to landscape and I was running around in a 3d world shooting spells at other players - really great work and surprisingly polished for being a solo project.
☆
barrenko
8 hours ago
parent
next
[ - ]
[ x ]
I'd say relatively unsurprising for a Clojure project, props to the OP.
☆
casenmgreen
3 hours ago
prev
next
[ - ]
PLEASE PLEASE PLEASE option to invert mouse Y-axis.
It looks fantastic, but I can only play if down on mouse is up on view.
☆
stronglikedan
1 hour ago
parent
next
[ - ]
[ x ]
lol, it's a shooter, not a flight sim!
☆
ertucetin
13 hours ago
prev
next
[ - ]
Author here, thank you all for taking the time to read about my journey and, of course, for playing my game.
I’m very glad that you liked it!
☆
protosevn
12 hours ago
parent
next
[ - ]
[ x ]
Thanks for taking the leap by making a game with Clojure!
I’m a aspiring gamedev and my focus so far has been working bottom up with C and friends. But I do love Lisp and especially Clojure, I’m really hopeful now that Jank is gonna be a full time project this year.
☆
tines
22 hours ago
prev
next
[ - ]
Please include a little animated GIF or something that gives us a taste of what it looks like!
☆
mplanchard
21 hours ago
parent
next
[ - ]
[ x ]
Game's linked at the top of the blog[0], and loads in the browser, but agree a gif would be nice.
☆
prmoustache
5 hours ago
prev
next
[ - ]
hmmm seems buggy, player is aiming at the sky continuously and I can't get it to make it aim at a normal level more than a microseconds with the mouse.
☆
dao-
4 hours ago
parent
next
[ - ]
[ x ]
> player is aiming at the sky continuously
Same here :(
I'm guessing this wasn't tested (at all?) in Firefox? That's unfortunate.
☆
Bootvis
3 hours ago
root
parent
next
[ - ]
[ x ]
Works fine for me on Firefox (Windows).
☆
casenmgreen
3 hours ago
root
parent
next
[ - ]
[ x ]
Ditto, on Linux.
☆
andreamonaco
5 hours ago
prev
next
[ - ]
Cool! Even though my computer is seemingly too underpowered to play it. Anyway, do you plan to make it a big game?
☆
ertucetin
5 hours ago
parent
next
[ - ]
[ x ]
I guess no, if it performs really well I might consider it.
☆
andreamonaco
4 hours ago
root
parent
next
[ - ]
[ x ]
I really hope that you will succeed! Maybe you'll want to find a way to earn money with it though
☆
xeromal
4 hours ago
prev
next
[ - ]
Incredible job! Hopped in a bit and got some great kills. Reminds me of quake
☆
tetris11
21 hours ago
prev
next
[ - ]
Holy cow, I've been playing for 20 minutes without realising. This is amazing!
☆
crummy
11 hours ago
prev
next
[ - ]
Hi Ertu! Great to see your work again! Keep it up!
☆
simplify
16 hours ago
prev
next
[ - ]
Game is actually really good! Was this inspired by Spellbreak per chance?
Edit: I see you mention it in your blog post. I enjoyed it just as much!
☆
koinedad
21 hours ago
prev
next
[ - ]
Was surprised that it loaded on my phone, nice work!
☆
winrid
19 hours ago
prev
next
[ - ]
Pretty cool, but it seems I crashed it to a grey screen. Even game counter stopped. I was battling someone, was fun though.
☆
chrisvalleybay
13 hours ago
prev
next
[ - ]
This was so much fun! Great work! Really brought me back to Quake 3!
☆
cactusplant7374
4 hours ago
prev
next
[ - ]
How did you learn how to make games? Any books you recommend? Or github projects you learned from?
☆
pjmlp
7 hours ago
prev
next
[ - ]
Looks quite nice.
☆
snozolli
5 hours ago
prev
next
[ - ]
The settings don't appear to allow y-axis inversion, but maybe I missed it.
☆
victorbjorklund
12 hours ago
prev
next
[ - ]
Damn this is a good game.
☆
bitwize
13 hours ago
prev
next
[ - ]
I found some old gaming instincts kicking in when I asked myself: did I get a frag?
This is a fun little romp. Very Quake-esque in terms of mechanics (though the floaty jumps have more of a Tribes feel). Excellent job putting it all together in a Lisp... even if that Lisp is Clojure! I like to think of Lisp as a mind-tool for creatives, a way to turn thoughts into code so quickly it can keep up with the highly iterative creative process for other endeavors and enhance the reach of people working in other digital media besides code. It's probably less relevant in that capacity today than it was in the past, though.
☆
mentos
3 hours ago
parent
next
[ - ]
[ x ]
I played a ton of Quake and Tribes 2 I felt very at home not sure if it was intentional but definitely an awesome result.
☆
HenryBemis
21 hours ago
prev
next
[ - ]
Interesting to see that I already had an account at CrazyGames. It wasn't loading from your URL, but I saw that it's CG so when I logged on with my account my Firefox played ball (I got ABP, Ublock, NoScript, PrivacyBadger, LARGE hosts file, so 'some' websites are broken ;)
Cool game, fast. Someone dominated me for 4 mins and then I decided to switch to Fortnite :)
☆
airstrike
20 hours ago
prev
next
[ - ]
whaaaa this is too good!
☆
beretguy
20 hours ago
prev
[ - ]
How many closing parenthesis do you have on a last line?
☆
ARandomerDude
4 hours ago
parent
next
[ - ]
[ x ]
I earn my paycheck in Clojure and have for about 10 years. In my experience if your code ends with ))))))))))) you're doing it wrong. This is a code smell for me.
Instead of (qux (baz (bar (foo x)))) use other tools:
- Big picture: is this code overly procedural? If so, is it possible to make it declarative and functional?
- Line-level picture: one of the thread macros, functional composition, etc. will make this more readable. For example: (-> x foo bar baz qux).
☆
dreamcompiler
15 hours ago
parent
prev
next
[ - ]
[ x ]
Things that terrify ICE car drivers about electric vehicles: Range.
Things actual EV drivers rarely worry about: Range.
Things that terrify non-Lisp programmers about Lisp: Parentheses.
Things actual Lisp programmers rarely worry about: Parentheses.
☆
Jach
3 hours ago
root
parent
next
[ - ]
[ x ]
I don't think that's a great example, as I never heard of "range anxiety" until EVs started to become popular, and it was applied to and admitted by exclusively owners of EVs and also E-bikes.
But it's 2025, it was enough to downvote and ignore the GP comment... Even responding with a dismissive https://www.thejach.com/imgs/lisp_parens.png is too much in current year. Another comment mentions paredit/parinfer, I'm not exactly masochistic but I hate tools that automatically type more than indentation for me so I don't use them, but I also basically never think about counting parens.
☆
jazzyjackson
12 hours ago
root
parent
prev
next
[ - ]
[ x ]
Bit of a selection bias there, people with range as a concern don’t become EV drivers, same goes for people terrified of parentheses.
☆
bre1010
8 hours ago
parent
prev
next
[ - ]
[ x ]
In college Intro to CS was taught with Racket (a lisp) and we even had to write code with pen and paper during our exams. Got really good at quickly visually matching parentheses which is still helpful to me today in non-lisps. (But given that the handwritten code would never be run, you could also just fudge it and write a bunch of )))))'s at the end and hope the TA grading it wouldn't count them either)
☆
LorenzoGood
34 minutes ago
root
parent
next
[ - ]
[ x ]
Average Northeastern student.
☆
KingMob
16 hours ago
parent
prev
next
[ - ]
[ x ]
As many as needed for the level of nesting?
...you do know no s-expression editor makes you count or type those out manually, right? It's all handled by paredit or parinfer, unless you're a masochist.
It's just not something any lisper thinks about.
☆
HenryBemis
5 hours ago
parent
prev
[ - ]
[ x ]
Exactly as many as opening! (I mean what else did you expect?) :)
next
[ - ]