$ 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. 1. Open the project in Unity Hub
  2. 2. Open Assets/Scenes/Game.unity
  3. 3. Press Play to start the game
  4. 4. Pick up a weapon to start shooting!

[REQUIRED] Unity 2022.3.12f1 (LTS) or compatible version

// end of documentation

EOF