M4RKYU.SYSEdition 2027
Skip to content
LOCEN/Ontario · CA/▸work · descent into madnessStandbyOK/--:--:--EST
M4M4RK_YUportfolio
  • BuildBuild
    BuildOverview
    • WorkSelected case studies and write-ups
    • GamesPlayable prototypes and game-dev logs
  • GalleryGallery
    GalleryOverview
    • PhotosPhoto collections and visual experiments
    • ShopPrints, posters, and one-off objects
  • WritingWriting
    WritingOverview
    • BlogLong-form devlogs and field notes
    • NotesShort observations, links, snippets
  • ResourcesResources
    ResourcesOverview
    • Tools38 in-browser developer utilities
    • LinksDaily-use dev and design bookmarks
  • AboutAbout
  • ContactContact
中文
← projects
Game development · 2024Ready

Descent Into Madness

A published Unity WebGL dungeon shooter with procedural floors, sanity pressure, classes, bosses, loot, and fast-travel exploration.

Quick facts

Role
Four-person university game-development project; contributor to the shared Unity/C# implementation, integration, testing, and published build.
Timeline
2024 · v1.0.2 university team project
Platforms
WebGL · Windows build
LiveSource

On this page

  • >What it is
  • >What it looks like
  • >Built with
  • >Highlights
  • >Engineering
  • >Under the hood
  • >Outcome
  • >Roadmap & lessons
Descent Into Madness gameplay showing a player firing through a procedural dungeon room
Fig. 01 — Descent Into Madness

Why I made this

I wanted to know how roguelikes feel from the inside, and the only honest way to find out was to ship a rough one to itch.io and let strangers tell me where it hurt.

01

What it is

#

Problem

This university team project explored how procedural dungeon structure, combat readability, navigation, and psychological pressure can reinforce one another inside a compact 2D action game.

Solution

The four-person team built five escalating procedural levels with class selection, ranged combat, loot, bosses, a sanity system, minimap fast travel, and A*-based enemy line-of-sight behavior, then published a WebGL v1.0.2 build on itch.io.

02

What it looks like

#
  • 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.
03

Built with

#

Engine

  • Unity 2022.3.9f1 LTS
  • C#
  • URP

Systems

  • Procedural generation
  • A* pathfinding
  • Scriptable data

Release

  • WebGL
  • Windows
  • itch.io
04

Highlights

#
  • 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
05

Engineering

#
  1. Process 01

    Use five escalating floors as the run spine

    Context
    Procedural rooms need a readable sense of progression rather than endless random encounters.
    Approach
    Organize generation, difficulty, loot, and bosses into a fixed five-level escalation.
    Outcome
    Runs gain a clear arc, while balancing each floor across three classes becomes a larger tuning problem.
  2. Process 02

    Add sanity as a second pressure system

    Context
    Health alone did not express the psychological-horror theme or create enough pressure between fights.
    Approach
    Track sanity alongside combat state and connect it to exploration and survival.
    Outcome
    The game gains thematic tension, but players must understand two failure pressures through a compact HUD.
06

Under the hood

#

Architecture notes

  • 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.

Challenges

  • 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.
07

Outcome

#
“
A playable v1.0.2 WebGL prototype shipped by a four-person university team, with the complete Unity source published for inspection.
08

Roadmap & lessons

#

Lessons learned

  1. 01Roguelike tension comes from pacing, not just enemy count.
  2. 02Shipping a build to itch.io forces real finish work a repo never demands.

Next steps

  1. 01Preserve the WebGL build
  2. 02Document individual system ownership
  3. 03Archive third-party asset attributions

Related work

Game development

Unreal Battle Royale Prototype

A single-player Unreal Engine 4 systems prototype covering stance, looting, equipment, inventory, weapons, and scopes.

PreviousUnreal Battle Royale PrototypeA single-player Unreal Engine 4 systems prototype covering stance, looting, equipment, inventory, weapons, and scopes.
Back to all work
NextUI StudioA no-login multiplayer design canvas with shared objects, cursors, comments, undo history, and exportable room URLs.
Back to archive
M4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYU
Crafted since 2024
ZhenXiao Mark YuZhenXiao Mark Yu
get in touch

Saw something here?Tell me about it.

It's a portfolio, not a service · but I read every note — drop a line if anything here resonated, or just to say hi.

Start a conversation
open channel

say hi anytime · 2026

--:--:--ESTOntario, Canada
  • Email
  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat

Newsletter

Get the occasional dispatch

Notes and logs from m4rkyu.com — short, dated, no noise. Unsubscribe anytime.

Work

Production builds, games, and visual archives.

  • Projects
  • Games
  • Archive
  • Logs

Resources

Daily-use tools and a personal link library.

  • Search
  • Latest
  • Tools
  • Links
  • Notes
  • Topics
  • Shop
RSSJSON feed

Studio

Background, contact, and channels for collaboration.

  • About
  • Contact
  • Changelog
  • Colophon
  • Resumepending

Socials

Find me on the usual feeds.

  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
  • Email
© 2026 ZhenXiao Mark Yumarkyu0615@gmail.com
  • Email
  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
PrivacyTermsBuilt with Next.js 16 · React 19 · Tailwind 4