# nnq1610/immunwar architecture

> Architecture diagram of the GitHub repository nnq1610/immunwar, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nnq1610/immunwar
- Repository: https://github.com/nnq1610/immunwar

## Overview

Immune War is an offline Unity 2D lane-defense game. Players enter through the menu, select a campaign organ, and defend it in tactical battles; campaign progression spans lung, brain, and stomach, culminating in a multi-phase Super Pathogen boss. Battles combine unit placement and wave defense with infection, mutation, Fever, and resource/vitality systems. The README also documents responsive/accessibility UI, separate music and SFX settings, and deterministic saves. Runtime source was not sampled, so detailed ownership and wiring are uncertain; links below reflect documented product flow and capabilities only.

Main entry points: [`Assets/ImmunWar`](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar) (Lane Defense), [`Assets/ImmunWar/Art`](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar/Art) (Game Art), [`AssetSource/Working/FinalAudio`](https://github.com/nnq1610/immunwar/tree/master/AssetSource/Working/FinalAudio) (Audio Assets)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_campaign["Campaign Flow"]
  node_campaign_select["Organ Campaign"]
  node_lung["Lung Battle"]
  node_brain["Brain Battle"]
  node_stomach["Stomach Battle"]
  node_boss["Super Pathogen"]
end

subgraph group_combat["Tactical Combat"]
  node_battle["Lane Defense"]
  node_roster["Defender Roster"]
  node_waves["Enemy Waves"]
  node_infection["Infection &amp; Mutation"]
  node_fever["Fever System"]
end

subgraph group_player["Player Experience"]
  node_menu["Main Menu"]
  node_battle_ui["Battle UI"]
  node_presentation["Responsive UI"]
  node_accessibility["Accessibility"]
  node_audio_settings["Music &amp; SFX"]
  node_save["Deterministic Saves"]
end

subgraph group_content["Game Content"]
  node_art["Game Art"]
  node_audio["Audio Assets"]
end

node_player(("Player"))

node_player -->|"starts game"| node_menu
node_menu -->|"opens campaign"| node_campaign_select
node_campaign_select -->|"selects organ"| node_lung
node_lung -->|"starts battle"| node_battle
node_campaign_select -->|"selects organ"| node_brain
node_campaign_select -->|"selects organ"| node_stomach
node_battle -->|"uses defenders"| node_roster
node_battle -->|"faces waves"| node_waves
node_battle -->|"applies mechanics"| node_infection
node_battle -->|"uses Fever"| node_fever
node_battle -->|"displays state"| node_battle_ui
node_battle_ui -->|"uses layout"| node_presentation
node_presentation -->|"supports access"| node_accessibility
node_menu -->|"configures audio"| node_audio_settings
node_battle -->|"persists progress"| node_save
node_stomach -->|"culminates in"| node_boss
node_roster -->|"uses visuals"| node_art
node_waves -->|"uses visuals"| node_art
node_battle -->|"plays effects"| node_audio

click node_menu "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_campaign_select "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_lung "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_brain "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_stomach "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_boss "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_battle "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_roster "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_waves "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_infection "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_fever "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_battle_ui "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_presentation "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_accessibility "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_audio_settings "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_save "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar"
click node_art "https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar/Art"
click node_audio "https://github.com/nnq1610/immunwar/tree/master/AssetSource/Working/FinalAudio"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_campaign_select,node_lung,node_brain,node_stomach,node_boss toneBlue
class node_battle,node_roster,node_waves,node_infection,node_fever toneAmber
class node_menu,node_battle_ui,node_presentation,node_accessibility,node_audio_settings,node_save toneMint
class node_art,node_audio toneRose
class node_player toneIndigo
```

## Components

### Campaign Flow

- [Organ Campaign](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Lung Battle](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Brain Battle](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Stomach Battle](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Super Pathogen](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`

### Tactical Combat

- [Lane Defense](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Defender Roster](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Enemy Waves](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Infection & Mutation](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Fever System](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`

### Player Experience

- [Main Menu](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Battle UI](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Responsive UI](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Accessibility](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Music & SFX](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`
- [Deterministic Saves](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar): `Assets/ImmunWar`

### Game Content

- [Game Art](https://github.com/nnq1610/immunwar/tree/master/Assets/ImmunWar/Art): `Assets/ImmunWar/Art`
- [Audio Assets](https://github.com/nnq1610/immunwar/tree/master/AssetSource/Working/FinalAudio): `AssetSource/Working/FinalAudio`

### Other components

- **Player**

## Connections

- Player → Main Menu: starts game
- Main Menu → Organ Campaign: opens campaign
- Organ Campaign → Lung Battle: selects organ
- Lung Battle → Lane Defense: starts battle
- Organ Campaign → Brain Battle: selects organ
- Organ Campaign → Stomach Battle: selects organ
- Lane Defense → Defender Roster: uses defenders
- Lane Defense → Enemy Waves: faces waves
- Lane Defense → Infection & Mutation: applies mechanics
- Lane Defense → Fever System: uses Fever
- Lane Defense → Battle UI: displays state
- Battle UI → Responsive UI: uses layout
- Responsive UI → Accessibility: supports access
- Main Menu → Music & SFX: configures audio
- Lane Defense → Deterministic Saves: persists progress
- Stomach Battle → Super Pathogen: culminates in
- Defender Roster → Game Art: uses visuals
- Enemy Waves → Game Art: uses visuals
- Lane Defense → Audio Assets: plays effects
