
Party Poppers
Technical Artist/Generalist
Developer: Giant Margarita
Publisher: Giant Margarita
Platforms: PC, PlayStation 5, Nintendo Switch
Release: Oct 2023 (PC), June 2024 (PS5), Feb 2025 (Switch)
A 2D competitive local multiplayer title in the Party series of games from Giant Margarita, where players race to pop more balloons than their opponents with near infinite game modes and modifiers.
Being able to explore new Unity tools and processes such as the Universal Render Pipeline and 2D lighting system has been incredibly interesting.
Brought on to help with development of Party Poppers in early 2020, my contributions so far have involved:
Turning static 2D artwork into adaptable, game-ready assets
Expanding on existing player movement and gameplay mechanics, such as the core grappling functionality
Developing a process to allow easy development of new levels with art assets and themes applied automatically
Create shaders and VFX to make the game visually appealing and dynamic, with a focus on keeping the number and size of textures required to a minimum to help performance
Contribute game mode and modifier ideas and implement the required functionality
Software used
Unity
Microsoft Visual Studio
TortoiseSVN
Unity Shader Graph
Adobe Illustrator
Project examples
(All work shared below was captured during development and may appear different in the final product)
Bendy grapple rope
The grapple rope is a core movement mechanic in Party Poppers, and it was important to expand upon the prototype implementation that existed to allow the rope to bend around corners (and back again), in a familiar “Worms” style of movement. Therefore, the existing movement code was updated to allow this functionality while still working with the Unity 2D Joint system.
Automated theme application
A method was developed that allowed anyone to draw out a level using the Unity Tilemap system, but without having to take into consideration what theme that level could end up being in, or selecting the correct tile types. A level designer can draw a layout with any kind of tile, and at runtime the code written will dynamically adjust the tiles used, colouring, layout of background elements, lighting etc. to automatically adjust to any of the given visual themes.
Shader based animations
In order to keep the number of textures used to a minimum to save on memory and to make animations more easily customisable than adjusting and re-exporting assets such as sprite sheets, several animations were added to sprites either created fully procedurally in-shader (such as water falling, radar screens, etc.) or by animating sprite positions by code (the vertically moving piston element). These elements were integrated with existing sprite using simple mask textures in most cases.
Tilemap system expansion
Through creative use of the data available from the Tilemap system and it’s related elements in Unity, such as the Composite Collider 2D, it’s possible to expand on the functionality provided for our own purposes. For example, while there’s no obvious way to apply an effect only to the outer edges of a Tilemap, it’s possible to access the data used by the Composite Collider 2D to determine the points it calculates for collisions, and to use those points as positioning for simple Line Renderers. This allows for extra effects without having to handle placing extra effects-based tiles per-level.