Sling Puck is inspired by the classic board game by the same name. We think it's a quirky game with simple game mechanics and a lot of charm, perfect for Snakes and Hackers.
What it does
The objective is clear: get all your pucks onto the other side before your opponent does and earn coins while doing so! Exchange your coins in the shop to buy in-game skins for your pucks and collect them all!
How we built it
We used the Unity game engine and created the game scene first. We built the arena and textured the tabletop, board surface and walls of the board game. Then we created cylindrical game objects for the pucks and textured those too! The rest was figuring out the physics and collisions in the game- check out our Github repo for the C# scripts! We manually coded our own physics for the pucks, since we found Unity physics to be quite dodgy at times.
Challenges we ran into
One of the biggest challenges we faced was figuring out how to make the sling as elastic as a sling should be. We solved this problem by creating two Line Renderers at the strings and writing a script that takes the input of the colliding puck and sets the 3D Vector coordinates to the endpoints of the two Line Renderers.
Accomplishments that we're proud of
We're very proud of the shop functionality and we think it adds an extra charm to the game. We are also extremely proud of how the sling mechanism worked out.
What we learned
We learned a lot about textures in Unity and about switching from scenes.
What's next for Sling Puck
More skins and a smoother sling mechanism. Perhaps time limits and definitely a multiplayer feature!