← 项目档案
Descent Into Madness
用 Unity 制作的 2D 像素风 Roguelike 射击游戏——不断深入、战斗,并在逐步升级的关卡中生存。

这是什么
问题
一个聚焦的原型,用来学习 Roguelike 的核心循环:程序化的压力、以局为单位的成长,以及像素风格下利落的射击手感。
方案
使用 Unity 2022.3 与 C# 开发,将像素风战斗与逐步升级的 Roguelike 结构结合,并在 itch.io 上发布了可游玩的版本。
界面一览
Class selectionThree starting classes change the player's combat profile before entering the dungeon. Dungeon runThe released build combines procedural rooms, ranged combat, sanity pressure, loot, and minimap navigation.
技术栈
Engine
- Unity 2022.3.9f1 LTS
- C#
- URP
Systems
- Procedural generation
- A* pathfinding
- Scriptable data
Release
- WebGL
- Windows
- itch.io
亮点功能
- Procedural dungeon progression across five levels
- Three playable classes, ranged weapons, loot, and bosses
- Sanity mechanic that adds pressure beyond health
- Minimap fast travel and A*-based enemy line of sight
- Playable WebGL release on itch.io
工程实现
- 过程 01
Use five escalating floors as the run spine
- 背景
- Procedural rooms need a readable sense of progression rather than endless random encounters.
- 方法
- Organize generation, difficulty, loot, and bosses into a fixed five-level escalation.
- 结果
- Runs gain a clear arc, while balancing each floor across three classes becomes a larger tuning problem.
- 过程 02
Add sanity as a second pressure system
- 背景
- Health alone did not express the psychological-horror theme or create enough pressure between fights.
- 方法
- Track sanity alongside combat state and connect it to exploration and survival.
- 结果
- The game gains thematic tension, but players must understand two failure pressures through a compact HUD.
实现细节
架构笔记
- Roughly 150 C# scripts divide movement, combat, dungeon generation, enemies, UI, audio, and interactive props.
- Procedural rooms and difficulty scaling build a repeatable five-floor run structure.
- Navigation combines a minimap travel layer for players with A* and visibility checks for enemies.
挑战
- Integrating many shared Unity systems across a four-person student team without losing a playable build.
- Balancing procedural layouts, sanity, enemy pressure, and class differences across five floors.
- Third-party art and audio licenses make this a published educational prototype, not a commercial asset package.
结果
A playable v1.0.2 WebGL prototype shipped by a four-person university team, with the complete Unity source published for inspection.
规划与心得
复盘
- 01Roguelike tension comes from pacing, not just enemy count.
- 02Shipping a build to itch.io forces real finish work a repo never demands.
下一步
- 01Preserve the WebGL build
- 02Document individual system ownership
- 03Archive third-party asset attributions