48 lines
2.2 KiB
Markdown
48 lines
2.2 KiB
Markdown
# Decay Protocol
|
|
|
|
**A fast-paced survival arcade game where the floor crumbles beneath your feet.** *Made with Unity 6 & C#*
|
|
|
|

|
|
|
|
## 🕹️ High Concept
|
|
You are a rogue process in a dying mainframe. Every step you take corrupts the memory grid, causing the floor to disintegrate into the void.
|
|
* **Never stand still:** Idleness is death.
|
|
* **Watch your step:** You create the holes you must navigate.
|
|
* **Survive the purge:** Hunter processes and cleaning drones are trying to delete you.
|
|
|
|
## 🎮 Controls
|
|
* **WASD / Arrow Keys:** Move
|
|
* **Space:** Jump / Air recovery (Includes Coyote Time)
|
|
* **R:** Restart (After death)
|
|
|
|
## ✨ Key Features
|
|
* **Procedural Decay:** A "Swiss Cheese" map mechanic where every tile touched falls after 0.5s.
|
|
* **Dynamic Difficulty:** Tile decay speed and Enemy spawn rates increase as your score climbs.
|
|
* **Combo System:** Chain "Data Orb" collections within 2 seconds to multiply your score.
|
|
* **Power-Up System:**
|
|
* 🟡 **Speed Boost:** Move faster.
|
|
* 🟢 **Hover:** Immunity to gravity/holes for a short time.
|
|
* ⚪ **Light-Footed:** Walk without breaking tiles.
|
|
* 🔵 **Time Slow:** Slows down world time (Matrix style).
|
|
* **Audio-Reactive Visuals:** The neon grid pulses in sync with the BPM of the soundtrack.
|
|
|
|
## 🛠️ Technical Architecture
|
|
This project was built using a **Clean Architecture (Ports & Adapters)** approach to separate game logic from the Unity Engine API, ensuring testability and cleaner code.
|
|
|
|
* **Core Domain:** `GameSession` manages the state, scoring, and rules purely in C# (no MonoBehaviours).
|
|
* **View Adapters:** `TileViewAdapter` and `PlayerController` handle the visual representation and physics.
|
|
* **Pooling System:** Custom `TilePool` to handle the high-frequency creation and destruction of grid tiles without GC spikes.
|
|
* **Input System:** Built on the new Unity Input System package.
|
|
* **Juice:** Heavy use of `LeanTween` for UI bounce, camera shake, and emission pulsing.
|
|
|
|
## 🔧 Installation
|
|
1. Clone this repository.
|
|
2. Open with **Unity 6**.
|
|
3. Open scene: `Assets/Scenes/Game.unity`.
|
|
4. Press Play.
|
|
|
|
## 📜 Credits
|
|
* **Code & Design:** [Your Name/Handle]
|
|
* **Assets:** Primitive shapes & Unity URP
|
|
* **Tweening:** LeanTween
|