Smash Balls is a 2-4 player couch multiplayer game that blends classic pinball mechanics with competitive gameplay. Players engage in fast-paced matches within a dynamic, gravity-defying pinball arena, aiming to knock out opponents by strategically timing shots and bouncing off obstacles. The game emphasizes precision and risk-taking, requiring players to master both skillful aiming and tactical decision-making. With vibrant visuals and chaotic yet strategic gameplay, Smash Balls offers an engaging and competitive experience for friends looking for unique multiplayer action.
14 people
Gameplay video from the game
The project started with the programmers gathering information about features needed in the game and finding the best solutions for them, my main contribution was creating a visual graph of classes and their dependencies, it also helped identify the potential problems and issues on the technical side and partially resolve them before writing a single line of code.
During this project I was responsible for creating and maintaing blueprint code for the functionalities prototyped by the design team, including:
Finite State Machines for Player Characters
Logic for chosen states
Player physics interactions
Circular bumper elements
HUD UI
End Of the Game UI
The core blueprint functionality of the game was regurarly replaced by its faster C++ counterpart and exposed in a form of the blueprint node for the designers to use in the game's logic. This helped maintain a cleaner, bug-free codebase, while still being able to use blueprints for rapid prototyping.
To ensure smooth gameplay on multiple devices with varied processing power, the game was regurarly tested and profiled in terms of both rendering and the game's logic. I contributed to a profiling document and guidelines. The end result of this was crisp gameplay on weaker hardware.