← Back to full index
# Bubble Bashers - Global Game Jam 2025

A 2D fighting game built in Unity during the 48-hour Global Game Jam 2025, in which coloured bubbles rain from the sky and each colour either powers up the player or damages the enemy.

- Role: Game Developer · Sprites & Physics (team project)
- Date: Jan 2025
- Categories: hackathon
- Tech: Unity, C#, Universal Render Pipeline, Unity Input System, 2D Animation
- GitHub: https://github.com/AmulyaJain2004/BubbleBashers
- Live: https://globalgamejam.org/games/2025/bubble-rain-fight-3

## Overview

Global Game Jam 2025 gave teams 48 hours to build a game around the theme "Bubble". Bubble Bashers is a 2D fighting game in which bubbles fall from the sky like raindrops. Each bubble's colour decides its effect: some strengthen the player's character, for example by raising strength or speed, and others reduce the enemy's health. The player has to collect the right bubbles at the right time to gain an advantage and outsmart the enemy, so the fight depends on positioning as much as on attacking.

## System Design

```mermaid
flowchart TD
    Input["Unity Input System<br/>player controls"] --> Player["Player character<br/>move · attack"]
    Spawner["Bubble rain<br/>coloured bubbles fall from the sky"] --> Bubble{"Player collects bubble"}
    Player --> Bubble
    Bubble -->|"buff colour"| Buff["Player boost<br/>strength · speed"]
    Bubble -->|"damage colour"| Damage["Enemy loses health"]
    Buff --> Player
    Player -->|"hits"| Enemy
    Damage --> Enemy["Enemy AI<br/>distance-based state machine"]
    Enemy --> States["attack within range · chase · idle<br/>2 s attack cooldown"]
    Enemy -->|"health reaches 0"| Death["Death animation"]
```

- **Engine:** Unity with the Universal Render Pipeline for 2D, and the Unity Input System for player controls.
- **Bubbles:** each colour (blue, green, orange and pink) has its own animator controller with idle and burst animations, so a collected bubble pops visibly before its effect applies.
- **Enemy AI:** a C# state machine driven by the distance to the player. Within attack range the enemy attacks on a cooldown, at mid range it closes in, and further away it idles. It tracks its own health, plays take-hit and death animations, and is removed once the death animation finishes.
- **Art:** pixel-art character sprite packs for the player soldier and the wizard enemy, with animation clips for movement, attacks and hits.

## Hackathon

Built at **Global Game Jam 2025** (24–26 January 2025), hosted at UPES by the ACM and ACM-W Student Chapters. The game is published on the Global Game Jam site, and my participation certificate is listed under [Certifications](/certifications#hackathon-global-game-jam-2025).

## My Contribution

This was a team project built within the 48 hours of the jam. I worked on the sprites and the physics: setting up the character and bubble sprites with their animations, and writing the code for how they collide and interact with other objects in the scene, such as the player catching falling bubbles and characters hitting each other.

---

Back to the full index: /agent