A retro-style vertical shooting game for mobile, built solo in Unity (C#).
🇰🇷 한국어 README · 📚 Documentation ·
Angel & Devil is a retro-style vertical-scrolling shoot-'em-up for mobile, inspired by classic shooters like 우주 전쟁 (Space War) and Dragon Flight. The design goal was a game anyone can pick up with simple one-thumb controls: drag a virtual joystick to move, while the ship auto-fires. Defeat three types of enemies across escalating difficulty, collect coins that auto-upgrade your weapon, and take down the final boss.
Built solo as a personal project in Unity 2021.3.8f1.
- 🕹️ Virtual joystick controls — drag-to-move, designed for mobile (one-thumb play)
- 🔫 Auto-fire + 3 weapon tiers — weapons upgrade automatically as you collect coins
- 👾 3 enemy types + final boss — spawned via timed coroutines
- 📈 3 difficulty stages — escalating spawn speed and pressure
- 🪙 Coin economy — enemies drop coins on death, driving the upgrade loop
- 🔁 Game-over & retry flow — singleton
GameManagerwith restart support - 🌌 Scrolling background for a continuous flight feel
| Category | Tools |
|---|---|
| Language | C# |
| Engine | Unity 2021.3.8f1 |
| UI / Input | Unity UI, Unity 2D, IDragHandler virtual joystick |
| IDE | Visual Studio |
| Tooling | GitHub, Notion, Discord, Google Drive |
JoyStick (drag) ──> Player.Move() ──> ship moves (clamped to screen)
Player.Shoot() ───> Weapon (auto-fire, moves up, deals damage)
EnemySpawner ─────> Enemy x3 types / Boss (timed coroutine)
Weapon × Enemy ───> collision: enemy takes damage → dies → drops Coin
Coin collected ───> GameManager.IncreaseCoin() ──> Player.Upgrade()
Player hit ───────> GameManager.SetGameOver() ──> Game Over panel → PlayAgain()
Full breakdown: docs/01-architecture/SYSTEM_ARCHITECTURE.md.
Angel-Devil/
├── Assets/
│ ├── Scripts/
│ │ ├── GameManager.cs # Singleton: coins, game-over, restart
│ │ ├── Player.cs # Movement, auto-shoot, collision, upgrade
│ │ ├── Enemy.cs # Enemy behavior & damage
│ │ ├── EnemySpawner.cs # Timed spawning of enemies + boss
│ │ ├── Weapon.cs # Projectile (damage, travel)
│ │ ├── Coin.cs # Coin drop & pickup
│ │ ├── Background.cs # Scrolling background
│ │ └── JoyStick.cs # Virtual joystick (drag handlers)
│ └── ... # Scenes, sprites, prefabs
├── ProjectSettings/ # Unity 2021.3.8f1
├── Packages/
└── docs/ # Project documentation
1. Install Unity 2021.3.8f1 (via Unity Hub).
2. Unity Hub → Add → select this repository folder.
3. Op
69A8
en the project, load the main scene under Assets/.
4. Press Play, or build for Android/iOS (mobile target).
Detailed setup & build notes: docs/03-guides/GETTING_STARTED.md.
| Doc | What's inside |
|---|---|
| 00 · Project Brief | Goals, scope, role |
| 01 · System Architecture | Scripts, responsibilities, game loop |
| 02 · Game Design | Player, enemies, boss, weapons, coins, difficulty |
| 03 · Getting Started | Open in Unity, run, build for mobile |
| 04 · Retrospective & Roadmap | Lessons learned, future direction |
- More character & background designs per stage
- Additional difficulty stages (longer playtime)
- A shop to buy varied weapons and items
한승헌 (Jaylen Han) — Solo project · planning · core gameplay coding · optimization & testing · presentation.
Personal project. No formal license is currently attached; please contact the author before reuse.