Tabletop tumble
Game jam with a big team
Idea
A deck building card game in which u use the cards to build a tower
My Role and teamwork
I worked together on this project with 8 other people (2 of which abandoned the project after a day). Which meant we had to have really good collaboration to make something good.
We planned ahead our ideas and structure using miro and split our team into different disiplines
We used a self hosted perforce server for collaboration, The others had never used perforce before so I also made a reference doc to make sure everything worked correctly and everyone knew how to work in it Perforce document [Google drive]
Modular systems
I made a modular card system using unity's scriptable objects which allowed for adding cards super easily
All cards derive from base systems so you can just add specific behaviour and don't have to manage a lot of system interactions at once when adding a card
I made a very similar system for the card effects and the end of turn events
I also made procedural animations for the cards in your hand so it feels nice to grab a card
Example of the logic of the freeze effect.
All base logic derives from a generic effect. So you only have to add the specific logic (in this case the freezing of the objects) and it automatically works with the other systems like using the card and selecting affected objects
Rope graphics
One of the effects in this game is connecting objects using a rope
Fully physical ropes can be very demanding to calculate (especially in a webGL build)
So I opted for using a approximation of a rope using a hyperbolic formula.
This system is based on another implementation for the game "Sea of Thieves" from this talk [Youtube]
I translated the formula into the environment of our project, which was more work than expected since the talk only shows psuedocode and does not deal with the correct scaling and movement translation of the line in an actual environment.
This formula also only approaches the solution to the problem. With more iterations the formula works for closer distances, that is why i dynamically scale the iterations based on object distance. However there is still a limit to the formula and it still breaks when object are directly above each other. That's why I change to a simpler formula when closer which uses bezier curves to approximate the rope shape
GPU Rope
Since the rope formula is relatively slow (not so slow that it impacted anything but it did take up some time)
I also ported it to the GPU using a compute shader. Which makes it run extremely fast
Gameplay video
Game page
Password: aardbei