Smelly Cat 🐈 | First Three.js Game

Here’s our undergraduate course project inspired by Bedroom in Arles by Vincent van Gogh.

[loading time intensifies]

Developed with three.js
Physics ammo.js
Models from Sketchfab


Cat game :heart_eyes_cat:

Is it intended for the game to just freeze after time is at 0? I got a score of 7 :smiley_cat: The controls and collisions are a bit wacky and stiff, the instant jump makes it really weird sadly, the camera going through the assets and overall makes it appear a bit unfinished.

The assets and music are nice though, also noticed a ear under the bed :face_with_hand_over_mouth:


hey I think this would work better in 1st person. sort of like FPS but there would be a cat paw instead of a gun.

the benefits:

  • no moonwalking,
  • simpler cat model (just a single paw),
  • you could aim easier,
  • less angles where you can see through walls or get your view blocked

And you probably looking at minimal code changes, just the camera placement and the paw… hmm, maybe it is not so straightforward :thinking: trying this in the fork, controls seem to move the cat backwards…

1 Like

Third person is better in my opinion, i want to see the cat :cat: a non-intersecting camera could be done for your case by either using a sphere with bullet or ray cast (from the cat to the camera).

1 Like

Ha, nice! Love the idea and music. A bit glitchy though so it’s hard to play. My cat is currently stuck in reverse - only able to walk backwards.

For jumping, you need to make the camera follow the jump smoothly. At the moment it’s as if there was a steel rod attaching camera and cat, and the camera moves too fast to follow when I press the jump button. You can use a lerp function to do this.

I agree that third person view would be great. I guess that’s harder to do than the current camera though.


It’s the jump too though, instantly pushing the cat to a higher position.


what @Fyrestar said - somewhere around these lines.

I actually thought your entire ThirdPersonControls could be swapped, but nope, you have to keep editing them instead.

1 Like

Hey, how did you created the GLTF/GLB models with collision? Does it needs to come with the bound from de model or we have to create it in Threejs?