Engine: Roblox Genre: Isometric Roguelike / Action Perspective: Fixed isometric (top-down) Inspiration: Hades (Supergiant Games) Internal Codename: Project Hades Status: In Development
- Game Overview
- Core Design Pillars
- Gameplay Loop
- Player Systems
- Combat
- Magic System
- Relic System
- Enemy Design
- Build System
- Room & Dungeon Structure
- Progression & Data
- UI & Feedback
- Multiplayer
- Planned / Stub Systems
Project Hades is a co-op isometric roguelike on Roblox. Players clear rooms of zombies and supernatural enemies using a combination of weapons, magic spells, and passive relics that stack into powerful synergistic builds β inspired directly by Hades's boon system. Each run rewards players with relics from defeated rooms; no two runs feel identical.
The game blends:
- Roguelike itemization (stackable relics with set bonuses)
- Action combat (directional dodges, melee combos, ranged weapons)
- Tower defense layer (placeable barricades, spike traps, turrets)
- Anime-inspired spectacle (Jujutsu Kaisenβthemed legendary abilities with cutscenes)
Relics are the heart of the game. With 22+ relics, each stackable up to 3β5 times, and set bonuses that unlock at max stacks, players build completely different characters across runs. A run might focus on crit-stacking with Silver Ninja Stars, sustain tanking with Cheeseburger + Riot Shield, or burst mana cycling with Korblox Spell Book + Overcharged aura.
Combat is not just "click enemy." The dodge system rewards timing (Perfect Dodge mechanic), weapons have multi-hit combos with precise hitbox windows, and magic abilities have meaningful cooldowns and positioning requirements. Players must choose when to commit to an attack and when to evade.
Each cleared room presents a relic machine (vending machine) offering new relics. Players spend coins earned from combat to acquire them. Building out toward a set bonus is a risk β spending coins on stacks of one relic means forgoing others.
Enemy HP scales with player count. Shared room-clear rewards (relic machines appear at each player's position). The build system is per-player (barricades, traps, turrets are owned by the builder). Assists count toward progression statistics.
Spawn β Clear Room β Collect Drops (coins/mana) β Relic Machine Appears
β Purchase Relic β Next Room β (repeat)
β
Dungeon Event (e.g. Merchant Shop)
β
Boss Room β Run Complete β Persistent Progression (EXP, unlocks)
- Players enter a room; the
RoomServiceregisters theirActiveRoomattribute and fires entry bonuses (Pot of Gold coin grant, Teddy Bloxpin heal). - Zombies spawn continuously up to a per-player cap (
MAX_ZOMBIE_COUNT_PER_PLAYER = 6). Spawn locations are chosen within 60 studs of a random player. - Players fight using weapons, magic, and buildables.
- When all zombies are eliminated, a relic machine drops at each player's position.
- Players spend coins to buy relics, then move to the next room.
After certain rooms, a dungeon event triggers:
- Merchant Shop (implemented) β Offers 5 relics per player for purchase via ProximityPrompt teleport.
- Treasure Hunt (planned)
- Wheel of Fortune (planned)
- Corrupted Mobs (planned)
| Stat | Default Value |
|---|---|
| Max HP | 100 (expandable via relics) |
| Walk Speed | 18 studs/s |
| Jump Power | 0 (no jumping; isometric) |
| Jetpack Speed | 27 studs/s |
| Max Mana | 100 (expandable via relics) |
| Crit Chance | 5% |
| Crit Multiplier | 1.5x |
| Currency | Earned By | Spent On |
|---|---|---|
| Coins | Killing enemies, room entry (Pot of Gold relic) | Relics, builds |
| Gems | Meta-progression (shop/unlock purchases) | Cosmetics, unlocks |
| Tickets | Dragon Lantern relic (+50% gain) | TBD |
Starting coins: 100. Starting gems: 25.
| Slot | Key | Content |
|---|---|---|
| Primary Weapon | 1 | Melee or ranged |
| Secondary Weapon | 2 | Melee or ranged |
| Magic Slot A | 3 | Spell |
| Magic Slot B | 4 | Spell |
| Build | B | Barricade / Trap / Turret |
- 2 dodge charges, each recharging in 3 seconds.
- Directional: 8-way relative to the camera.
- Distance: 15 studs over 0.25 seconds.
- Grants invulnerability frames during the roll (AfterImage visual).
- Perfect Dodge: If a zombie attack lands during the dodge window, the
Experimental Jetpackrelic effect triggers (launch into the air), and "Perfect Dodge!" text displays to the player.
| Condition | Source | Effect |
|---|---|---|
| Burn | Fire Blast magic | 5 ticks over 5 seconds: clamp(maxHP Γ 2.5%, 1, level Γ 25) per tick |
| Slowed | Aura system | Reduced walk speed |
All damage is calculated server-side (DamageService). The client fires requests; the server validates, applies modifiers, and replicates results. This prevents exploit-driven one-shots.
All melee weapons use a 3-hit combo system with per-hit hitbox delay, animation delay, and VFX timing.
| Weapon | Type | Rarity | Damage Range | Walk Speed |
|---|---|---|---|---|
| Wooden Bat | Sword | Uncommon | 35β40 | 12.5 |
| Dragonbone Katana | Sword | Uncommon | 45β55 | 12.5 |
| Jujutsu Cleaver | Sword | Uncommon | 45β55 | 12.5 |
| Samehada Greatsword | Greatsword | Uncommon | 80β100 | 10.5 |
Hitboxes use RaycastHitbox (sweep-based), ensuring accurate collision even at high frame variance.
Enchantments: None, Looter (additional enchantments planned).
Projectiles are simulated with the ProjectileCast library (ballistic, gravity-affected).
| Weapon | Rarity | Damage | Fire Rate | Ammo | Reload |
|---|---|---|---|---|---|
| Ruger SR9 (pistol) | Uncommon | 30β40 | 0.30s | 20 | 1.5s |
| MP5K (SMG) | Rare | 40β50 | 0.175s | 45 | 2.5s |
| AK-47 | Epic | 50β60 | 0.20s | 80 | 2.5s |
- Base weapon damage (random in damage range)
scalarMultiplier(item level scaling)- Relic modifiers (Linked Sword, Murder Knife, Phoenix Bow, Hyperlaser Gun, Fluffy Unicorn)
- Aura modifiers (Frenzy, Overcharged)
- Critical hit roll (5% base + relic bonuses)
- On-hit procs (Portable Justice / Jail, Volleyball, Trick Or Trap pumpkin drop)
- Default: 5% chance, 1.5Γ multiplier.
- Silver Ninja Star adds +10% crit chance per stack.
- At 5 stacks of Silver Ninja Star: additional +25% crit damage multiplier.
Heavy hits and certain relics/spells can ragdoll enemies and players:
- Applied with a
BodyVelocityknockback of 25 units. - Auto-recovers after 2 seconds.
- Players with 5Γ Riot Shield are immune to ragdoll.
- Players in super armor (Domain Expansion) are immune during ability duration.
Players equip up to 2 spells (keys 3 and 4). Spells are cast in the direction of the mouse cursor. Each spell has its own cooldown, mana cost, and damage type.
Mana regenerates passively and via the Korblox Spell Book relic (weapon hits restore mana). The Overcharged aura procs when mana is full with that relic equipped.
| Spell | Rarity | Type | Damage | Cooldown | Special |
|---|---|---|---|---|---|
| Wind Bomb | Common | Melee AOE | 100β125 | 12s | Knockback 350, ragdolls |
| Fire Blast | Rare | Ranged projectile | 125β150 | 12s | Applies Burn status |
| Lightning Shatter | Epic | AOE burst | 50β60 Γ3 | 5s | 3 sequential hitboxes |
| Divergent Fist | Rare | Melee thrust | 150β175 | 3s | JJK-themed |
| Hollow Purple | Epic | Ranged beam | 200β250 | 4s | Long range, step-cast |
| Domain Expansion | Legendary | AOE field | 15β25 | 35s | 6.5s duration, super armor, cutscene |
| Susanoo Armor | Legendary | Aura summon | 25β35 | 45s | 25s lifetime, attacks every 3s, cutscene |
Domain Expansion and Susanoo Armor trigger client-side cutscenes (camera transitions, animation sequences) before the ability activates, creating a cinematic moment in the midst of combat.
These are not player-equipped spells β they fire automatically from relic procs:
| Source Relic | Triggered Ability |
|---|---|
| Trick Or Trap | Pumpkin Explosion / Big Pumpkin Explosion on enemy death |
| Summer Fireworks | Periodic AOE fireworks projectiles |
| Ghost Dragon | Periodic % max HP damage to nearby enemies |
Relics are the roguelike's core identity β passive items that stack and combine into powerful builds.
- Dropped by Relic Machines (vending machines) that appear at each player's position after clearing all zombies in a room.
- Offered by the Merchant Shop dungeon event (5 relics per player).
- Purchased with Coins.
| Rarity | Max Stacks |
|---|---|
| Rare | 5 |
| Epic | 3 |
| Unique | 1 |
A player is only offered relics that still have available stacks (their pool excludes fully-stacked relics).
| Relic | Effect per Stack | Set Bonus (max stacks) |
|---|---|---|
| Bloxy Cola | -10% magic cooldown | TBD |
| Cheeseburger | +25 max HP | TBD |
| Teddy Bloxpin | +3% max HP heal on room entry | TBD |
| Fluffy Unicorn | +10% damage vs Minibosses/Bosses | TBD |
| Gear Recycler | +10% mana orb drop chance | Spellburst aura on mana orb pickup |
| Phoenix Bow | +15% damage to distant targets | TBD |
| Wizard Orb | +20% magic damage | TBD |
| Hyperlaser Gun | +10% damage when above 85% HP | Damage bonus threshold drops to 65% |
| Linked Sword | +10% weapon damage | Frenzy aura on kill/assist |
| Murder Knife | +20% damage to nearby enemies | TBD |
| Pot Of Gold | +25 coins on room entry | TBD |
| Riot Shield | +10% damage reduction | Ragdoll immunity |
| Silver Ninja Star | +10% crit chance | +25% additional crit multiplier |
| Starblox Latte | +25 max mana | TBD |
| Relic | Effect per Stack | Set Bonus (max stacks) |
|---|---|---|
| Experimental Jetpack | Jetpack on Perfect Dodge | TBD |
| Korblox Spell Book | Weapon hits restore mana; Overcharged aura at full mana | TBD |
| Dragon Lantern | +50% coins and tickets gained | TBD |
| Portable Justice | Chance to Jail enemies on weapon hit | TBD |
| Summer Fireworks | Periodic fireworks AOE projectiles | TBD |
| Trick Or Trap | Enemies drop explosive pumpkins on death | TBD |
| Volleyball | Every 3rd weapon hit fires a Volleyball projectile | TBD |
| Ghost Dragon | Periodic % max HP damage to nearby enemies | TBD |
Auras are temporary, visually distinct buff states triggered by relic set bonuses or in-game actions.
| Aura | Trigger | Duration | Effect |
|---|---|---|---|
| Frenzy | Linked Sword Γ5 β kill or assist | 10s | Damage boost (via DamageService modifier) |
| Spellburst | Gear Recycler Γ5 β mana orb pickup | 10s | Magic damage boost |
| Overcharged | Korblox Spell Book Γ3 β full mana | Until mana depleted | Magic power enhanced |
| Slowed | Various enemy/status effects | Variable | Walk speed reduced |
Normal β Elite β Miniboss β Boss
Miniboss and Boss types are defined in the enum system but not yet implemented as live enemy variants.
| Enemy | Type | Base HP | HP per Additional Player | Damage | Range | Special |
|---|---|---|---|---|---|---|
| Walker | Normal | 100 | +1500 | 5 | 8 studs | Standard pathing |
| PotHead | Normal | 200 | +2000 | 5 | 8 studs | Standard pathing |
| Robombie | Elite | 5000 | +1000 | 5 | 15 studs | Can ragdoll players |
- Pathfinding via Roblox
PathfindingService. - Targets both players and buildables (barricades, turrets, traps).
- Custom hitbox functions prevent server-side hit registration abuse.
- Enemies drop coins and EXP on death via the
LootPlanweighted loot system. - Death triggers drop rolls: 10% chance of a healing orb, remaining split between coins and mana orbs.
- Spawn cap:
6 zombies per playersimultaneously. - Spawn location: within 60 studs of a randomly selected player.
- When all zombies are dead: relic machines drop for each player.
The build system adds a tower defense layer to combat. Players toggle build mode with B.
| Build | Cost | Max Owned | Max HP | Function |
|---|---|---|---|---|
| Barricade | 500 coins | 4 | 25 HP | Blocks zombie pathfinding routes, repairable |
| Spike Trap | 750 coins | 3 | 50 HP | Deals 50 base damage on trigger, multi-trigger |
| Turret | 1,000 coins | 2 | 25 HP | Auto-targets and shoots nearby zombies |
- Build mode shows a grid overlay. Player's own builds are highlighted.
- Placement is server-validated (collision checks prevent overlapping or illegal placements).
- Each build stores an
OwnerIdattribute (per-player ownership). - Zombie AI detects buildables as valid targets.
Build levels load from player data on join (DataTemplate). Players can invest in builds across sessions (planned upgrade path).
| Type | Description |
|---|---|
| None | Transitional / lobby space |
| Standard | Regular zombie-clearing room |
| Miniboss | Features a Miniboss enemy (planned) |
| Boss | End-of-dungeon boss encounter (planned) |
On entering a room, the following fire immediately:
- Pot of Gold relic: grants bonus coins per stack.
- Teddy Bloxpin relic: heals % max HP per stack.
The game world uses a structured folder hierarchy:
workspace/
Map/
Buildings/ -- Environmental structures
Buildables/ -- Player-placed buildables
RelicMachines/ -- Post-room relic vendors
Events/ -- Dungeon event zones
SpawnLocations/ -- Zombie spawn points
Boundaries/ -- Map edge colliders
Walls/ -- Transparent-on-approach walls
Terrain/ -- Roblox terrain
MagicSpells/ -- Active spell instances
IgnoreInstances/
Zombies/ -- Live zombie models
The game uses a fixed isometric camera (not the default Roblox follow cam) implemented via a custom IsometricCamera library. Jump power is set to 0 β no jumping; the camera framing would break. The camera supports shake (CameraShaker) on hits and magic casts.
Walls and buildings between the camera and the player auto-become transparent (WallsTransparencyController, BuildingTransparencyController) to keep the player visible at all times.
| Stat | Tracked |
|---|---|
| Kills + Assists | Yes |
| Elite kills | Yes |
| Miniboss kills | Yes |
| Boss kills | Yes |
| Deaths | Yes |
| Coins collected | Yes |
| Field | Type | Default |
|---|---|---|
| Coins | int | 100 |
| Gems | int | 25 |
| Tickets | int | 0 |
| CurrentExp | int | 0 |
| TotalExp | int | 100 |
| Level | int | 1 |
| Builds | table | {} |
| Weapon inventory | table | {} |
| Magic inventory | table | {} |
| Pets | table | {} |
| Cosmetics | table | {} |
| Missions | table | {} |
DataStore key: TestData-098 (test key; must change before production launch).
Each weapon/magic item stores:
nameβ item identifierlevelβ item upgrade levelequipSlotβ which slot it occupiesscalarMultiplierβ damage scaling factorenchantment(weapons only) β e.g., Looter
All UI is built with React (Lua port) + ReactRoblox, managed via Knit controllers.
| Element | Description |
|---|---|
| Player Vitals | HP bar and mana bar (ValueBar component) |
| Relic Interface | Currently held relics with stack counts (top-level HUD) |
| Build Toolbar | Buildable selection in build mode |
| Mobile Action Buttons | On-screen dodge and action buttons for mobile |
| Preload Screen | Loading screen before gameplay begins |
| System | Trigger | Output |
|---|---|---|
| Damage Indicators | Enemy or player takes damage | Floating number at hit location |
| Text Indicators | Status events (Perfect Dodge!, Burned!, etc.) | Billboard text |
| Drop Indicators | Pickup spawns | 3D icon showing pickup type |
| User Notifications | System events (room clear, event starts) | Toast notification |
| Camera Shake | Taking damage, casting magic | Screen trauma shake |
| AfterImage | Dodging | Ghost trail on character |
The InputPlatformController detects the platform (PC vs mobile). Mobile players get on-screen action buttons. Certain spells have uniqueMobileIndicator flags for touch-compatible targeting UI.
- Co-op focused; all players share the same room and fight together.
- Enemy HP scales linearly with player count.
- Relic machines spawn at each individual player's position (no competition for drops).
- Build system is per-player (no sharing or griefing of others' structures).
- Round stats (kills, assists) are tracked per-player for post-run screens.
- All server-side; no peer-to-peer. Authority lives entirely on the server.
The following systems have enum definitions, collision groups, or partial service stubs indicating planned but unimplemented content:
- Miniboss β enum defined, no data or AI implemented yet.
- Boss β enum defined, no data or AI implemented yet.
- PotHead β data exists, not yet registered in the spawn service.
- Treasure Hunt β enum defined, not implemented.
- Wheel of Fortune β enum defined, not implemented.
- Corrupted Mobs β enum defined, not implemented.
- Build levels are stored in
DataTemplate. An upgrade system is implied but not yet wired up.
EscortObjectcollision group defined in the collision setup. Suggests a future escort mission room type.
- A separate Lobby place (
lobby.project.json) exists withPlaces/Lobby/scripts but minimal content. Planned as a hub between runs.
- Both
PetsandCosmeticsfields exist in the DataTemplate, no system implemented yet.
Missionsfield in DataTemplate; no mission service exists yet.
TwitterCodesfield in DataTemplate; code redemption service not implemented.
Many relic set bonuses are described but their callback logic hasn't been connected. Priority completions:
- Bloxy Cola Γ 5 bonus
- Cheeseburger Γ 5 bonus
- Fluffy Unicorn Γ 5 bonus
- Pot of Gold Γ 5 bonus
- Wizard Orb Γ 5 bonus
- Dragon Lantern Γ 3 bonus
- Portable Justice Γ 3 bonus
- Summer Fireworks Γ 3 bonus
- Trick Or Trap Γ 3 bonus
- Ghost Dragon Γ 3 bonus
Document generated from codebase analysis β April 2026.