Skip to main content

Survival Mode

Survival is Crimsonland’s signature endless mode. Fight infinite waves of creatures while gaining experience and selecting perks to build your character. The game ends when you die.

Mode ID

Game Mode: 1 (GameMode.SURVIVAL) From src/crimson/game_modes.py:11

Core Loop

  1. Kill creatures to gain experience
  2. Level up to select a perk from 5 random choices
  3. Collect weapon and power-up bonuses
  4. Survive as long as possible
  5. Die when health reaches zero

Difficulty Scaling

Survival mode features continuous difficulty escalation:

Spawn Rate

Creature spawn rate increases over time. The spawn timer starts at a moderate interval and accelerates as you progress, eventually spawning creatures every few frames.

Enemy Composition

Early waves feature basic creature types (Zombies, Lizards, Spiders). As time progresses:
  • Tougher variants appear with higher HP and damage
  • Faster creatures with aggressive AI patterns
  • Ranged attackers and special ability creatures
  • Boss-type enemies with massive HP pools

Density

The maximum simultaneous creature count increases, creating increasingly dense crowds that require area-damage weapons and positioning skill.

Perk System

Survival mode is the primary showcase for Crimsonland’s perk system.

Level-Up Mechanics

XP Thresholds: Each level requires progressively more XP. The first level-up happens quickly, but later levels take significantly longer. Perk Selection: On level-up, you choose from 5 random perks. The selection pool includes:
  • All perks not marked quest-only or two-player-only
  • Perks you already have (if they’re stackable)
  • Prerequisite-locked perks appear only after requirements are met
Perk Expert/Master: These perks increase the selection pool:
  • Perk Expert: +2 choices (7 total)
  • Perk Master (requires Perk Expert): Doubles to 14 choices

Perk Availability

From src/crimson/perks/ids.py:10-16:
class PerkFlags(IntFlag):
    QUEST_MODE_ALLOWED = 0x1
    TWO_PLAYER_ALLOWED = 0x2
    STACKABLE = 0x4
Perks without QUEST_MODE_ALLOWED flag are available in Survival. Some perks are survival-exclusive:
  • Breathing Room (two-player only)
  • Death Clock, Grim Deal, Final Revenge, Highlander (disabled in quest/two-player)

Weapon Acquisition

Bonus Drops

Weapon bonuses drop randomly from killed creatures. Drop rate is influenced by: Pistol Bias: While holding the Pistol, the game increases overall bonus drop rate and forces 75% of bonuses to be weapon pickups. Bonus Magnet Perk: Increases overall bonus spawn frequency. My Favourite Weapon Perk: Disables random weapon bonuses entirely (+2 clip size to current weapon as compensation).

Starting Loadout

All survival games start with:
  • Pistol (Weapon ID 1)
  • 100 HP
  • No perks
  • Level 1 (0 XP)

Scoring

Score Calculation

Kill Score: Each creature kill awards points based on creature type and difficulty. Tougher enemies give more points. XP Score: Experience points contribute to final score. Survival Time: Longer survival times increase score multiplier. Bonus Pickups: Point bonuses add directly to score (500 XP per Points bonus pickup).

High Scores

Survival mode tracks high scores per difficulty level. The scoring system rewards:
  • Long survival time
  • High kill counts
  • Efficient XP gain

Strategy Considerations

Early Game (Levels 1-5)

Priority Perks:
  • Fastshot: Increases DPS immediately
  • Bloody Mess/Quick Learner: Accelerates leveling
  • Radioactive: Passive area damage
Weapon Goals: Escape the Pistol ASAP. Assault Rifle, Shotgun, or Submachine Gun are solid early picks.

Mid Game (Levels 6-15)

Priority Perks:
  • Fastloader: Reduces vulnerability during reloads
  • Ammo Maniac: Extends effective DPS windows
  • Bonus Magnet: Increases resource flow
  • Unstoppable: Prevents movement speed reduction from damage
Weapon Goals: Seek plasma weapons (Plasma Rifle, Plasma Minigun) or penetrating weapons (Gauss Gun).

Late Game (Levels 16+)

Priority Perks:
  • Regeneration/Greater Regeneration: Sustain through chip damage
  • Dodger/Ninja: Avoid damage entirely
  • Thick Skinned: Reduce incoming damage (despite HP cost)
Weapon Goals: High DPS weapons with area effects (Plasma Shotgun, Ion Cannon, Rocket Minigun).

Build Archetypes

Tank Build:
  • Thick Skinned
  • Regeneration → Greater Regeneration
  • Dodger → Ninja
  • Doctor
  • Unstoppable
DPS Build:
  • Fastshot
  • Fastloader
  • Ammo Maniac
  • Barrel Greaser
  • Uranium Filled Bullets
XP Rush Build:
  • Bloody Mess
  • Lean Mean Exp Machine (stack multiple times)
  • Perk Expert → Perk Master
  • Instant Winner (repeatable)
Passive Damage Build:
  • Radioactive
  • Plaguebearer
  • Veins of Poison → Toxic Avenger
  • Hot Tempered

Death and Game Over

The game ends immediately when player HP reaches zero. No continues or second chances. Game Over Stats Display:
  • Final score
  • Survival time
  • Kills
  • Perks acquired
  • High score comparison

Tips and Tricks

Kiting is Essential: Continuous movement prevents being surrounded. Use the screen edges to funnel enemies.
Reload Management: Reload during safe moments, not mid-combat. Fastloader perk is one of the best value picks.
Bonus Timing: Some bonuses (Energizer, Nuke, Freeze) are best saved for emergencies, but they expire if not picked up.
Spread Control: Short, controlled bursts maintain accuracy better than holding fire continuously.
Avoid death-risk perks (Grim Deal, Death Clock, Highlander, Fatal Lottery) unless you’re confident or testing builds.

Source Code References

  • src/crimson/modes/survival_mode.py - Survival mode implementation
  • src/crimson/game_modes.py:11 - Mode ID definition
  • src/crimson/perks/availability.py - Perk filtering logic

Build docs developers (and LLMs) love