About Balloon Beach
Launch water balloons at innocent bystanders & destructible objects on the beach. Work your way up to new levels around the islands. Collect skins and challenge friends on leader boards. Unlock new targets, features, power ups, and levels by earning stars. Earn in game coins to buy colorful new skins.
My Work
This was the first project I worked on for E-Scape Productions. The project was mid production when I arrived and after spending some time with the source, I realized a lot of the work done thus far was by people with zero background in game development. The game as it is now is nothing like what it was when I first started. The game underwent a complete redesign, and a second redesign was proposed by me but never acted upon. The third redesign would have reduced the amount content needed for release and further updates by switching to a single scrolling level design that was generated as time went on, similar to the popular game Jetpack Joyride.
Work I did on the game includes:
Balloon launching mechanics. I recreated the launching mechanics from scratch to allow for more control over where the balloon lands. This includes adding the trajectory prediction, control over the power and vertical arc of the balloon, and the rendering of the slingshot itself.
Game services. I worked on connecting Balloon Beach with Google Play and Apple Game Services to allow for leader boards. I also implemented reward ads to multiply the gold received at the end of a level.
Cosmetics. I developed a system to apply cosmetic skins to the projectile balloons. I also created an automated system to create thumbnail images for all skins to be used in the store. I also created the skins myself.
Level Design. I created every level in the game. This involved setting routes for NPCs, idle locations, the level itself along with hitable objects like crates, power up spawn positions and conditions, calculating score requirements for stars, and special levels with special mechanics. Special levels mechanic include a giant turtle island that rises out of the ocean after hitting 3 bells that appear over time (hitting the the turtles exposed head gives the player extra points), a level with jet skis zooming past on the water, and a large level that slowly scrolls by overtime.
Power up system. Some levels have power ups. This includes adding time to the level, firing multiple balloons, and rapid fire.
Progression Score System. Each level has 3 score milestones earning you a total of 3 stars. In order to unlock new levels you must first collect enough stars from the previous levels.
AI. Beach goers spawn and walk on predetermined paths in and out of the level and will attempt to fill idle positions when possible. When hit, they will react and run off stage. The skins for the spawned NPCs are randomly chosen from a list for each spawn location (A good example of this use case is the ice cream stall that has a spawn specifically for spawning a worker to come occupy the idle position behind the stall).
UI. I made updates to the main menu and shop UI and created the UI for gameplay and rewards screen from scratch.
Performance Fixes. When I first started working on the project there were noticeable performance issues. After experimenting, I narrowed the performance hits down to the animated character models, the more you added, the worse it got. I was surprised at just how bad a single model was impacting the performance. It took some time to determine the cause. The character prefabs being used were generated using a package from the Unity Asset Store. The way the prefabs were generated resulted in many deeply nested gameobjects. The more nested the characters were, the more expensive it became for the engine to calculate them when moving and animating. After removing multiple layers of unnecessary nesting from the prefabs the performance improved significantly.