$ cat /docs/documentation/README.md
DOCUMENTATION
A top-down shooter game built in Unity 2022.3.12f1 (LTS) for macOS, iOS, and Android. Features modular character system, wave-based combat, and cross-platform input.
Unity C# macOS iOS Android
## GAMEPLAY
Fight waves of enemies, collect weapons and items, and level up as you gain experience. Friendly turrets help defend you against the horde.
## CONTROLS
[DESKTOP] Keyboard/Mouse
| WASD | Move (camera-relative) |
| Mouse | Aim |
| Left Click | Shoot (requires weapon) |
| 1-4 | Switch weapon slots |
[MOBILE] Touch Controls
| Left Joystick | Move (camera-relative) |
| Right Joystick | Aim direction |
| Hold Right | Auto-shoot while aiming |
| Weapon Buttons | Switch weapon slots |
## COMBAT_SYSTEM
- ├── Modular character system - Health, movement, and shooting shared between player and enemies
- ├── Team system - Player team (player + turrets) vs Enemy team; no friendly fire
- ├── Weapon inventory - Carry up to 4 weapons with different stats
- ├── Projectile bullets - Configurable damage and fire rate
- ├── Recoil - Shooting applies knockback proportional to weapon damage
- └── [end of list]
## WEAPONS
| NAME | DMG | RATE | RANGE |
|---|---|---|---|
| Pistol | 20 | 0.3s | 3.0 |
| SMG | 8 | 0.08s | 3.0 |
| Wrench | -5 | 0.04s | 0.05 |
| Melee | 4 | 0.6s | 0.05 |
## ITEMS
● Health Pack
Restores 25 HP
● Pistol
Adds pistol to inventory
● SMG
Adds SMG to inventory
● Wrench
Adds healing weapon
● Cash
Currency (future)
## EXPERIENCE_SYSTEM
> Gain 25 XP for each enemy killed
> Level up when you reach the XP threshold
> Formula: 100 * 1.5^(level-1)
// XP requirements:
Lvl 1→2: 100 Lvl 2→3: 150 Lvl 3→4: 225 ...
## WAVE_SYSTEM
- ├── Enemies spawn in waves with increasing difficulty
- ├── Wave 1: 3 enemies, +2 each wave
- ├── Clearing a wave spawns health pack reward
- └── Brief pause between waves
## PROJECT_STRUCTURE
Assets/
├── Scripts/
│ ├── Character.cs # Base class for player/enemies
│ ├── PlayerInput.cs # Desktop controls
│ ├── TouchInput.cs # Mobile controls
│ ├── VirtualJoystick.cs # Touch joystick UI
│ ├── InputManager.cs # Platform auto-detection
│ ├── Bullet.cs # Projectile behavior
│ ├── HealthBar.cs # World-space health UI
│ ├── CameraFollow.cs # Isometric camera
│ ├── EnemyMovement.cs # Enemy chase AI
│ ├── EnemySpawner.cs # Wave spawning
│ ├── AutoShoot.cs # AI targeting
│ ├── TurretSpawner.cs # Friendly turrets
│ ├── WaveUI.cs # Wave display
│ ├── GameOverUI.cs # Death screen
│ ├── ExperienceSystem.cs # XP and leveling
│ ├── ExperienceUI.cs # Level display
│ ├── Item.cs # Pickup items
│ ├── ItemSpawner.cs # Item spawning
│ ├── WeaponInventory.cs # Weapon slots
│ └── WeaponSlotUI.cs # Weapon HUD
├── Scenes/
│ └── Game.unity # Main scene
├── Materials/
│ ├── PlayerWhite.mat
│ ├── EnemyRed.mat
│ ├── BulletYellow.mat
│ └── FloorGrid.mat
└── Prefabs/
└── Bullet.prefab ## GETTING_STARTED
- 1. Open the project in Unity Hub
- 2. Open
Assets/Scenes/Game.unity - 3. Press Play to start the game
- 4. Pick up a weapon to start shooting!
[REQUIRED] Unity 2022.3.12f1 (LTS) or compatible version
// end of documentation
EOF