# Roguelike elements

## Roguelike, Insomnus-style

Insomnus is a horde-survival roguelike. Runs are short, harsh, and repeatable.

{% hint style="info" %}

#### The three pillars

* **Random draft**: upgrades and threats vary every run.
* **Permadeath**: one life. No checkpoints.
* **Player skill**: movement and decisions beat grinding.
  {% endhint %}

If you haven’t yet, read [Combat system](/core-gameplay/combat-system.md).\
It explains auto-combat and the horde pacing.

#### Jump to what you need

<table data-view="cards"><thead><tr><th>Topic</th><th data-card-target data-type="content-ref">Open</th></tr></thead><tbody><tr><td>How auto-combat + enemy scaling works</td><td><a href="/pages/Mo3FhsX4C1h05eRWzCLn">/pages/Mo3FhsX4C1h05eRWzCLn</a></td></tr><tr><td>How to survive longer (positioning playbook)</td><td><a href="/pages/q6Nku15cOESXzvjay8cg">/pages/q6Nku15cOESXzvjay8cg</a></td></tr><tr><td>How to draft upgrades and build synergies</td><td><a href="/pages/4mqsnDhXzMMPzD1WbDav">/pages/4mqsnDhXzMMPzD1WbDav</a></td></tr><tr><td>How the economy layer ties into runs</td><td><a href="/pages/IYi8BUmQ31bedPXd5I1T">/pages/IYi8BUmQ31bedPXd5I1T</a></td></tr></tbody></table>

***

## The core loop (in one sentence)

You **move to “aim”**, you **level to scale**, and you **draft upgrades** under pressure.

{% hint style="success" %}
If you feel “RNG’d”, it’s usually a positioning or draft issue.
{% endhint %}

## What changes every run

Insomnus does not rely on “one fixed build path”.\
You adapt to what the run gives you.

{% tabs %}
{% tab title="Enemies" %}

* **Spawn mix changes**. Different units pressure you in different ways.
* **Elites appear** later. They create “no-go zones”.
* **Boss sequence varies**. You can’t memorize one order.

<details>

<summary><strong>What this means for your play</strong></summary>

Your “best” movement pattern changes with the threat mix.

* Dense melee spawns reward wide circles and clean escape lanes.
* Ranged pressure rewards breaking line-of-fire and re-centering.
* Elites reward patience. Give up XP before you give up space.

</details>
{% endtab %}

{% tab title="Upgrades" %}

* Each level-up offers **3 random choices**.
* Your build is a **draft**. You steer it, but you don’t control it.
* Most upgrades **stack**. Many have **diminishing returns** later.

Deep dive: [Upgrades](#upgrades).

<details>

<summary><strong>Draft rule: pick a direction, not a stat</strong></summary>

Good picks reinforce one plan:

* reduce time-to-kill (density control)
* increase safety (mistake budget)
* improve tempo (leveling + uptime)

</details>
{% endtab %}

{% tab title="Drops + resources" %}

* XP orbs decide your tempo. Faster leveling compounds hard.
* Healing is limited. You can’t assume recovery.
* “Greedy” pickups are a real risk. They kill good runs.

<details>

<summary><strong>Orbs (quick reality check)</strong></summary>

Enemy kills can drop XP, healing, and rare defensive orbs.\
You still have to path safely to collect them.

Orb details live in [Combat system](https://insomnus-1.gitbook.io/insomnus-docs/core-gameplay/combat-system).

</details>
{% endtab %}

{% tab title="Maps + events" %}
The main map is stable, but the run state isn’t.

* Enemy pressure shifts where it’s safe to stand.
* Events can pull you into special spaces and boss arenas.

Lore: [World overview](/game-overview.md).

<details>

<summary><strong>“Stable map” does not mean “solved”</strong></summary>

A fixed map still plays differently each run.

* Spawn timing changes your safe routes.
* Enemy density changes which lanes are usable.
* One elite can deny an entire area.

</details>
{% endtab %}
{% endtabs %}

## The run loop (what you actually do)

You repeat the same loop under increasing pressure.

{% stepper %}
{% step %}

### 1) Position to “aim”

Auto-combat hits what’s closest.\
You decide what “closest” means by moving.
{% endstep %}

{% step %}

### 2) Collect XP to snowball

Levels are power spikes.\
Tempo matters more than perfect safety.
{% endstep %}

{% step %}

### 3) Draft upgrades with intent

Pick for the next 30 seconds.\
Pick for the next 3 minutes too.
{% endstep %}

{% step %}

### 4) Spend safety to stay in control

Space is a resource.\
Potions are a resource. Use them to avoid spirals.
{% endstep %}

{% step %}

### 5) Die, learn, repeat

You restart with nothing except better decisions.
{% endstep %}
{% endstepper %}

Practical guide: [First run](/getting-started/first-run.md) and [Movement controls](/getting-started/controls-and-movement.md).

***

## Decision checkpoints (how runs typically unfold)

These phases match the horde pacing described in [Combat system](/core-gameplay/combat-system.md).

{% tabs %}
{% tab title="Quiet (0–30s)" %}
Your goal is **control**, not damage.

* Stay off walls. Keep two exits.
* “Aim” auto-attacks by making the right target nearest.
* Collect XP fast. Start snowballing early.
  {% endtab %}

{% tab title="Build (30s–2m)" %}
Your goal is **tempo**.

* Take damage if offered. Density is the real enemy.
* Don’t take risky pickups. Keep your lane clean.
* Start shaping a build direction. Don’t pick random stats.
  {% endtab %}

{% tab title="Surge (2m+)" %}
Your goal is **not getting boxed**.

* Leave space before you need it.
* Don’t drag enemies into corners to “finish a pack”.
* If you’re taking chip damage, pivot into defense.
  {% endtab %}

{% tab title="Nightmare (5m+)" %}
Your goal is **survive the spiral**.

* One mistake can snowball into no-space.
* Use potions to preserve control, not to “heal later”.
* Treat elites as terrain. Route around them.
  {% endtab %}
  {% endtabs %}

## Drafting builds (the “roguelike” part)

Runs are won by **coherent picks**, not perfect luck.

{% columns %}
{% column width="50%" %}

#### Pick rules (simple)

* Take **damage early** to reduce enemy density.
* Take **defense** when you start getting clipped.
* Take **utility** when movement feels tight.
  {% endcolumn %}

{% column width="50%" %}

#### Common build directions

* **Crit**: crit chance + attack speed.
* **Pierce / multi-hit**: more targets per shot.
* **Survivor**: HP + armor + dodge.
  {% endcolumn %}
  {% endcolumns %}

{% hint style="warning" %}
Bad runs rarely start “bad”.\
They usually start with three unfocused upgrade picks.
{% endhint %}

<details>

<summary><strong>Mini playbook: how to choose between 3 random upgrades</strong></summary>

Ask these in order:

1. **Will this reduce enemy count quickly?** (damage / multi-target)
2. **Will this prevent my next death?** (HP / armor / dodge)
3. **Will this increase tempo?** (move speed / pickup / XP gain)

If none fit, take the option that supports your current direction.

</details>

***

## RNG vs agency (what you control)

{% columns %}
{% column %}

#### RNG (you can’t control)

* Which 3 upgrades show up.
* Which enemies spawn together.
* Which orbs drop.
* When the game forces you to pivot.
  {% endcolumn %}

{% column %}

#### Agency (you always control)

* Positioning. This is your “aim”.
* When you disengage to open space.
* Which risks you take for XP.
* Whether your build picks are coherent.
  {% endcolumn %}
  {% endcolumns %}

{% hint style="info" %}
Most roguelikes test planning.\
Insomnus tests planning **plus** movement under pressure.
{% endhint %}

## Permadeath (what resets, what persists)

{% hint style="danger" %}

#### One death = run over

You lose your current HP and all run upgrades.
{% endhint %}

What persists is **your knowledge** and your **results**:

* Your performance is recorded as **score** and leaderboard position.
* Your wallet-linked progression uses **Points** (economy layer).

{% hint style="info" %}
The scoring doc is being expanded.\
For now, treat score as “time alive + kills + execution”.
{% endhint %}

### Current state: limited meta-progression

{% hint style="warning" %}
Points exist today, but long-term progression is still evolving.

Planned: a Points-based shop and permanent unlocks.
{% endhint %}

Roadmap: [Roadmap](/development/roadmap.md).

***

## Improve faster (skill drills)

These are fast habits that translate into higher scores.

{% tabs %}
{% tab title="Beginner" %}

* **Never stop moving** for 60 seconds. No pauses.
* Practice “nearest targeting”. Move so ranged units become nearest.
* Play 3 runs. Pick damage first every time. Feel the tempo shift.
  {% endtab %}

{% tab title="Intermediate" %}

* Practice “two exits” positioning. Never enter a pocket without a second lane.
* Intentionally skip risky XP. Learn what a safe path looks like.
* Pivot once per run. Switch from offense to defense when chipped.
  {% endtab %}

{% tab title="Advanced" %}

* Treat elites as map geometry. Route around denial zones.
* Control density. Don’t “clean up”. Keep moving the blob.
* Review one death. Identify the first bad decision, not the last hit.
  {% endtab %}
  {% endtabs %}

<details>

<summary><strong>After-action review (copy/paste checklist)</strong></summary>

* What killed me: boxed, chip, ranged, elite, boss pattern?
* What was the first mistake 10–20 seconds earlier?
* Did I lose space chasing XP?
* Were my last 3 upgrades coherent?
* Did I use a potion too late (spiral) or too early (waste)?

</details>

*Every death is a lesson. Every run is a new challenge.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.insomnus.xyz/core-gameplay/roguelike-elements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
