Show HN: I built a multiplayer game where you're an aerial fighter cat (catcopter.com)

4 points by pawelwentpawel ↗ HN
Hi everyone!

I had the idea for catcopter on my mind for a long time (got the domain ~13 years ago). It's a web multiplayer game where you can fly a dangerous cat and engage in competition with other players and critters (pterodactyls, chickens and angry penguins). I made it initially for me and my friends but it was quite fun so I thought I'll share it here too.

The game is intentionally dorky and it was fun to develop. The tools I used were mostly Opus 5.5 (objects / rigging / motion), Tripo3d for some elements I struggled with and Fable for optimisation (cpu / networking). Backend physics are done with Rapier. Luckily I had a lot of elements / game dynamics done before from another project of mine (https://flat.social) so the actual iteration here took me around a week.

38 comments

[ 0.30 ms ] story [ 24.8 ms ] thread
Owning a domain for 13 years before actually doing the project is the most relatable thing.
Hahaha I’ve recently been looking at a few domains I’ve owned forever too.

But do I really want to start more projects?!?

If you don’t start new ones, will you really finish the unfinished ones? Really?

It’s ok to admit that the beginning is the most fun.

And unfortunately also a smart move - it is so difficult to find a good domain name now because domain reselling has become such a huge business now. I wouldn't be surprised to find every word in the english dictionary is now a parked domain with ads, and a link to buy or bid for the domain.
(comment deleted)
Immediately eaten by a Pterodactyl... lol
Doesn't seem to work in firefox. Probably my old pc. CPU pegged on chrome version.
Firefox is my nemesis, will test thanks for letting me know!
Here's the console output.

THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed. 3mykc1x1fjgyq.js:5:331 WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER. 1ydg98ua2yutx.js:2:5381 WebGL context was lost. 1ydg98ua2yutx.js:2:5532 THREE.WebGLRenderer: KHR_parallel_shader_compile extension not supported. 3mykc1x1fjgyq.js:5:331 Script terminated by timeout at: ld@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... L@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... lU/this.getUniforms@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... this.renderBufferDirect/y<@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... this.renderBufferDirect@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... i@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... i@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... i@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... i@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... i@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... l1/this.render@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... this.render@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:2... render@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:5... render@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:5... render@https://catcopter.com/_next/static/chunks/2d2hov5bowo-5.js:4... warm@https://catcopter.com/_next/s...

It's pretty fun! I can see a lot of "AI-markers" in the assets, but these things can be improved over time. The concept and mechanics are quite cool, keep it going!
Please add a full screen button for mobile!
Was a lot of fun. What's the server backend built in? NodeJS?
Miss the days where these kinds of posts were a jumping off point for technical discussions about gamedev. Guess learning that people use a whole stack of LLMs for these kinds of projects now is also interesting.
I was never interested in gamedev, but I am interested in gameplay design.

GenAI lets me toy with gameplay design without having to first spend a lot of time mucking with code or assets.

I get it. While I have been coding since I was in school, if it takes too long to ship, the grand outcome is... no game.

Moving forward though, I hope that AI will be better integrated only in areas that it should be – like forming up logic, building proper scaffolding and infrastructure, debugging, optimizing code... and even when art is involved, I hope it evolves from GenAI to operating within human-operated graphics software. That said, I believe that GenAI does not create. It replicates or meshes together the already known. I hope us humans would rely on GenAI at its correct level.

But I am glad you produced this game – GenAI or not. If it is fun to play, it has done its work!

> and even when art is involved, I hope it evolves from GenAI to operating within human-operated graphics software

People use such Artist-integrated tools since 2022. For example, Krita or Photoshop plugins etc. Not all AI art is just prompting until the model gets it mostly right

I'm sorry if this came off as overly dismissive, I enjoy people posting stuff they're passionate about on hn, even if I don't necessarily like everything I see.
I didn’t know I had a gay furry tendency. This game awakens the gay furry tendency hidden inside me. While playing as a muscular cheese cat male character, the darkness inside me woke up....
This is absolutely ridiculous. I love it.
Would be cool if the default game mode changed when there were enough players; I think everyone goes into the catnip mode just because it is default, no one is ever in the other modes!
This is fun and nice idea for a multiplayer game, but will be cool if you open sourced it. But, still good work.
I tried and played it, but I died so many times :) It's a lot of fun btw!
Team Fortress for cats. Nice!
How were the cat’s movements such as its flight the motion of its wings or propeller and its head movements created? did the ai generate pre-made animation clips or are the movements calculated in realtime via code?
Was kind of hoping this would be more like SWAT Kats
Fun game. It works on my phone too.

You said it took a week? Would love to hear more about the development and how it works, I've been struggling with a 2D browser game for a while (especially the netcode), there's so much that goes into it!

Thanks! To respond to your questions - there is a lot indeed. I think the trick was reusing the same techniques I used before (materials, shaders, colours, light setups and much more) from my previous project (https://flat.social - spatial audio and video in 3d, much more complex). I reused a lot of already optimised elements from there and the general look & feel that took me quite a lot of time to arrive at.

Also lots of props to Opus 5.5 - it was incredibly good at getting the right game play feel from the start. Some of the quirks it came up with were actually quite funny (try swimming, it's annoying but cute). Ironically I suggest trying dropping large prompts that might be even slightly too vague. The first version of the pterodactyl was literally me saying something like "let's drop a pterodactyl there guarding an atomic bomb". It came up with a pretty good version of it which then I have later calibrated.

All together, it felt much more like an art direction task than a technical one (and I've been programming since I was 12).

Very busy ui. Mmo levels of stuff vying for the players attention
The core gameplay is so 'bad'. It looks and feels like a mobile game slop you'd see in a shady popup ad. The guns seen to have broken physics, the movement has input lag. I guess the idea of cat copters fighting is cool but there needs to be refinement to the core mechanics.

Maybe thats just the state of web games and they're all like this.