PhaseBound is a 2D action roguelike built in Godot 4, centered around the idea of mixed signals.
The dungeon exists across three overlapping frequencies — Red, Blue, and Green — each representing a different version of the same world.
Players can shift between these frequencies in real time, revealing new enemies, paths, and secrets that only exist within specific signals.
Every run takes place in a procedurally generated dungeon made of interconnected rooms. Each room contains wave-based encounters that lock until cleared, after which the player can choose a new path to continue exploring deeper into the shifting world.
📡 Itch page: https://matthewzhou.itch.io/phasebound
🧠 Ideas doc: Design Document
- 🧩 Procedural Dungeon Generation: Randomly generated layouts with interconnected rooms and branching paths.
- ⚡ Frequency System: Shift between three frequencies (Red, Blue, Green) that alter enemies, terrain, and visuals.
- 💥 Wave-Based Combat: Each room locks upon entry and spawns multiple waves of enemies before unlocking.
- 👾 Enemy AI System: Enemies activate and fight only within their native frequency.
- 🔫 Player Combat: Shooting system with a muzzle marker and bullet projectile logic.
- 🌐 Multiplayer Framework (Prototype): Early 2–4 player co-op support using Godot’s ENet multiplayer system.
- 🧭 Dynamic UI: Displays player health and current frequency state.
- 🧱 Tile-Based Environment: Dungeon rooms built with a modular tileset and procedural wall/floor generation.
| Action | Key |
|---|---|
| Move | W A S D or Arrow Keys |
| Shoot | Spacebar |
| Dash | Shift |
| Shift Frequency Left | Q |
| Shift Frequency Right | E |
scenes/ ├── player/ # Player scene, bullet, and camera setup ├── enemies/ # Enemy scenes and AI ├── rooms/ # Room, StartRoom, and procedural dungeon layout ├── ui/ # Health bar, frequency label, etc. scripts/ ├── player/ # Player controls and shooting logic ├── enemies/ # Enemy AI, wave spawning, and death signals ├── dungeon/ # Room.gd, FloorManager.gd, WaveGenerator.gd ├── systems/ # FrequencyManager, Health.gd, and utilities ├── net/ # Multiplayer (NetworkManager, PlayerSpawner) assets/ ├── sprites/ # Player, enemies, and tileset sprites └── tilesets/ # Dungeon floor/wall/door tiles
- Expand co-op multiplayer and syncing for combat and waves.
- Add environment hazards and traps unique to each frequency.
- Improve art, lighting, and visual distinction per frequency layer.
- Add sound effects and adaptive music that shift with frequency.
- Introduce meta-progression (upgrades, run history, etc.).
- Programming: Matthew Zhou, Trevor Xu, Amruth Arunkumar
- Art & Visual Design: Zofia Li, Amruth Arunkumar, Christopher Li
- Engine: Godot 4.x
- Godot 4.x
- Compatible with Windows and macOS
- Supports Singleplayer and LAN Co-op
PhaseBound explores the chaos of mixed signals — where survival means finding harmony across fractured worlds.