A 2.5D hack-and-slash game with roguelike elements, built in C/C++ using a custom engine provided by DigiPen Institute of Technology Singapore.
You play as a piñata fighting back against waves of enemies using a melee combat system built around attack charges and a parry mechanic. Time your parries to defend against incoming attacks and replenish your charges, collect upgrades between waves, and smash your way through increasingly challenging encounters.
| Charge-based melee combat | Manage a limited number of attack charges; every swing counts. |
| Parry-to-recharge system | Well-timed parries block damage and restore spent charges, keeping the action flowing. |
| Roguelike upgrades | Choose from a variety of upgrades between waves to shape your build. |
| Satisfying knockback physics | Send enemies flying with impactful hit feedback. |
| Wave-based encounters | Face progressively tougher enemy compositions that test your timing and positioning. |
| Colourful 2.5D art style | A vibrant, hand-crafted aesthetic that contrasts with the intensity of combat. |
| Interactive tutorial | A 10-step guided tutorial with an animated NPC that progressively unlocks mechanics. |
Gameplay systems built on top of the engine include:
| System | Details |
|---|---|
| Isometric rendering | Screen/grid coordinate transforms with Y-sorted render queue for correct 2.5D depth ordering |
| A* pathfinding | Size-aware clearance, stuck detection, and waypoint look-ahead for smooth enemy navigation |
| Frame-based combat | Startup/active/recovery frame windows with cone-based hit detection and a 3-stage combo chain |
| Multi-phase boss | 4-phase state machine with growth scaling, minion spawning, ranged transformation, and HP-gated transitions |
| Knockback physics | Exponential velocity decay with wall bounce, dampening, and impact damage on high-speed collisions |
| Event-driven augments | Pub/sub system lets 9 augments hook into gameplay events without coupling to combat code |
| Projectile reflection | Parry sweep detection with reflection grace period to prevent bounce loops |
| Isometric collision | Binary grid from TMX layers with axis-decomposed wall-sliding for smooth diagonal movement |
| TMX map pipeline | RapidXML .tmx loader with pre-generated per-tile meshes and multi-layer support |
| Shared resource pooling | Reference-counted static meshes/textures across enemy instances |
- Go to the Releases page
- Download the latest release
- Extract the zip and run the executable
- Clone the repository
- Open the
.slnfile in Visual Studio 2022 - Press F5 to build and run
| Input | Action |
|---|---|
WASD |
Move |
Left Click |
Attack (consumes a charge) |
Right Click |
Block (parries if timed early) |
Space |
Dash |
X |
Interact |
- Jun Wen
- Timothy
- Nigel
- Charles
Developed as a student project at DigiPen Institute of Technology Singapore
All content © 2026 DigiPen Institute of Technology Singapore. All rights reserved.