Available on Itch.io

Playable on windows and in browser. Controller recommended.

Gists

Github gists listed together for your convenience.

Go Ham!

A hamsterball party game.

Go Ham is a fun multiplayer party game where you try to be the last hamster standing in the arena! It can be played with 2-4 players both online and locally. Control a hamster in a ball, and dash into your friends to try and knock them off.

In this 8 week long project, we were fully free to create any game we wanted as long as it ran on Itch or our school's arcade cabinet. Our group decided on making a fun party game, and fell in love with the "kid playing with their hamsters" aesthetic. During this time we were able to add one gamemode, but we are still working on adding more. The proof of concept was made in week 1, the beta was finished in week 6, and the last two weeks were for polishing and bugfixing.

Player Controller

For this project we needed a player controller that was simple enough to work with the online side of things, tweakable enough to make it feel good, and functioning with the Unity Input System to connect it to the arcade cabinet.

Softbody

We really wanted to add softbodies to the hamsters, to make them feel more playful and more reactive to the movements of the ball. We wanted to make this in the least intensive way, and to have it not affect the physics of the balls. Unfortunately, I didn't have a lot of time to create a more refined solution, but I was able to meet the requirements in a way that we were satisfied with.

I hooked up an armature with springjoints contained to the middle, with the mesh being stretched over the armature as a skin. The ends of the armature have colliders, and are contained within the the ball.

Because unity does not allow concave colliders, I had to create a simplified mesh for the sphere made out of boxcolliders. I set all these colliders to their own layer and to kinematic, so that they did not mess with the physics of the balls. Unity collisions can get very buggy, and the armature had the tendency to clip out of the ball. To solve this issue I made the A script to contain the joints within a radius of the player.