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.
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!
Please include a little animated GIF or something that gives us a taste of what it looks like!
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.
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.
I have a question if you don't mind. I don't know clojure at all, and I may be misreading things, but from this comment on your site:
> Game development is fundamentally an art of state management. States are everywhere, and managing numerous unrelated systems in harmony is a challenging task. While Clojure’s immutability by default offers many advantages, it also introduces complexity. To handle the intricate state management required for game development, I had to create my own abstractions. Writing a custom DSL (domain-specific language) became a necessity, but it wasn’t easy.
And then this comment:
> In Wizard Masters, all game data resides in a global game database—a single large hashmap. The fields referenced in the :what block (e.g., :pointer-locked?, :player/ground?) are keys in this global hashmap.
Please don't take this the wrong way but you've essentially just worked around clojures functional immutable style and invented global state in a hashmap, right?
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 :)
Clojure programmers are a different breed. They're actually doing cool things with Lisp while other niche languages just talk a good talk. I'm staying away though, it's hard enough finding paid work in more mainstream stacks.
Holy cow, I've been playing for 20 minutes without realising. This is amazing!
This was so much fun! Great work! Really brought me back to Quake 3!
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.
Hi Ertu! Great to see your work again! Keep it up!
Was surprised that it loaded on my phone, nice work!
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!
Pretty cool, but it seems I crashed it to a grey screen. Even game counter stopped. I was battling someone, was fun though.
Cool! Even though my computer is seemingly too underpowered to play it. Anyway, do you plan to make it a big game?
How did you learn how to make games? Any books you recommend? Or github projects you learned from?
The settings don't appear to allow y-axis inversion, but maybe I missed it.
Incredible job! Hopped in a bit and got some great kills. Reminds me of quake
I had a lot of fun, thanks for sharing!
20k 0d stuck in a pillar and killed by a bot
That is seriously impressive. Well done!
Damn this is a good game.
Looks quite nice.
whaaaa this is too good!
How many closing parenthesis do you have on a last line?
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.