A scalable, modular prototype that combines bullet hell mechanics with platformer action
Overview
This Unity project explores how platformer gameplay can be combined with the intensity and pattern complexity of bullet hell design. Inspired by titles such as Touhou and Tevi, the prototype introduces dynamic enemy behaviour, advanced attack sequences, and a modular system designed for flexibility and experimentation.
The aim was to build an extensible architecture that allows designers to define and reuse bullet patterns without duplicating code, while ensuring clarity and fairness for the player.
Design Focus
The prototype centres around enemy encounters that are reactive, varied, and scalable. Enemies patrol the environment, detect the player, enter combat, and switch between different attack states. Bullet behaviours are defined through Unity’s ScriptableObjects, allowing for clean separation between logic and data, and enabling easy customisation.
Core Features
Player Movement
Responsive 2D controls designed for dodging dense, intricate bullet pattern
- Enemy AI
Patrols designated paths - Detects the player and transitions into combat
- Can summon additional entities and rotate through multiple attack patterns
Bullet Pattern System
Uses ScriptableObjects to define a wide range of patterns including:
- Telegraph-based beam attacks
- Spirals
- Homing projectiles
- Sine and cosine wave bullets
- Directional bursts
Telegraphing Attacks
- Visual and audio cues alert the player before high-impact attacks
- Ensures players can anticipate and react appropriately
Colour and Shape Differentiation
- Bullet types are visually distinct using colour and shape
- Enhances readability and supports fast decision-making
Attack Pattern Switching
Attack Pattern Switching
- Smooth transitions between attack phases using controlled cooldowns and durations
Technical Approach
- Custom bullet spawner reads from ScriptableObject data
- Enemy attack logic is modular and decoupled from bullet definitions
- Bullet pattern data includes speed, direction, rotation, frequency, and homing behaviours
- Reusable systems manage colour coding, trail effects, and bullet sequencing
What I Learned
This project deepened my understanding of modular game architecture within Unity. I learned how to leverage ScriptableObjects to create flexible and scalable gameplay systems, how to balance enemy AI for both fairness and challenge, and how to visually communicate complex mechanics to players through intuitive feedback systems.
Future Plans
- Add player combat options such as attacks, dashes, or defensive abilities
- Develop a full game level with structured difficulty progression
- Expand the bullet pattern editor to improve designer workflow
- Introduce destructible environments, power-ups, or interactable objects
