Creatures and Enemies
Crimsonland features 6 base creature types with hundreds of variants created through tint, size, and stat modifications. Understanding creature behavior and spawn patterns is essential for survival.Creature Types
Fromsrc/crimson/creatures/spawn_ids.py:12-19:
0. Zombie
Appearance: Humanoid undead Movement: Slow, steady approach AI Pattern:CHASE_PLAYER - Direct pursuit
Base Stats:
- HP: Varies widely (20-200+)
- Speed: 1.0-1.5 units/sec
- Damage: 10-20 per contact
- Grey Zombie: Standard variant
- Green Zombie: Brute (high HP)
- Blue Zombie: Boss variant (massive HP)
1. Lizard
Appearance: Reptilian quadruped Movement: Fast, erratic AI Pattern:CHASE_PLAYER or ORBIT_PLAYER
Base Stats:
- HP: 40-150
- Speed: 1.5-2.5 units/sec
- Damage: 15-25 per contact
- Grey Lizard: Standard
- Yellow Lizard: Boss (high HP, slower)
- White Lizard: Fast variant
2. Alien
Appearance: Blob-like creature Movement: Variable speed AI Pattern:ORBIT_PLAYER, CHASE_PLAYER, special patterns
Base Stats:
- HP: 30-300+
- Speed: 1.0-2.5 units/sec
- Damage: 10-30 per contact
- Green Alien: Standard
- Purple Alien: Ghost (semi-transparent)
- Red Alien: Boss (massive HP)
- Grey Alien: Brute or Fast
- Cyan Alien: Special AI
- Brown Alien: Transparent variant
- Some aliens spawn child aliens on death
- Boss aliens can have ring formations
3. Spider SP1 (Small Spider)
Appearance: Small arachnid Movement: Very fast AI Pattern:CHASE_PLAYER, ORBIT_PLAYER_TIGHT
Base Stats:
- HP: 20-100
- Speed: 2.0-3.0 units/sec
- Damage: 8-15 per contact
- Brown Spider: Small, weak
- Red Spider: Standard or Boss
- White Spider: Fast variant
- Blue Spider: Special
- Green Spider: Random tint
- Ranged shock attack (some variants)
- Timer-based AI (spawn_id 0x38, 0x39)
4. Spider SP2 (Large Spider)
Appearance: Large arachnid Movement: Moderate speed AI Pattern:CHASE_PLAYER, ORBIT_PLAYER
Base Stats:
- HP: 60-200
- Speed: 1.5-2.5 units/sec
- Damage: 20-30 per contact
- Brown/Yellow Spider: Splitter (splits into smaller spiders on death)
- Various tints: Random stat variations
- Split on death (spawn_id 0x01): Creates 2-3 smaller spiders
- Ranged attack variant (spawn_id 0x37)
5. Trooper
Appearance: Armed humanoid Movement: Moderate speed AI Pattern:ORBIT_PLAYER, ranged combat
Base Stats:
- HP: 80-250
- Speed: 1.2-1.8 units/sec
- Damage: Ranged projectiles
AI Modes
Fromsrc/crimson/creatures/spawn_ids.py:22-30:
Chase Player (Mode 2)
Behavior: Direct pursuit of player position Used By: Zombies, some Lizards, basic variants Characteristics:- Moves directly toward player
- No fancy maneuvers
- Simple, predictable
Orbit Player (Modes 0, 1, 8)
Behavior: Circles player at specific radius Variants:- Standard Orbit (0): Medium radius
- Tight Orbit (1): Close circling
- Wide Orbit (8): Large radius
- Maintains distance while circling
- Harder to hit with directional weapons
- Can suddenly break orbit to attack
Formation AI (Modes 3-6)
Behavior: Follows or guards other creatures Used In: Multi-creature spawns, boss encounters Characteristics:- Linked to other creatures via link_index
- Moves relative to linked creature
- Used for formations and escorts
Hold Timer (Mode 7)
Behavior: Stands still for duration, then activates Used By: Some spider variants (spawn_id 0x38, 0x39) Characteristics:- Stationary initially
- Activates after timer expires
- Used for delayed threats
Creature Flags
Fromsrc/crimson/creatures/spawn_ids.py:33-43:
Self-Damage Flags
Some creatures take continuous damage over time: SELF_DAMAGE_TICK (0x01):damage = dt * 60 per frame
SELF_DAMAGE_TICK_STRONG (0x02): damage = dt * 180 per frame
Purpose: Creates temporary creatures that die automatically (used for spawned children, special effects)
Split on Death (0x08)
Effect: When creature dies, spawns 2-3 smaller creatures at death position Used By: Large Spider SP2 variants (spawn_id 0x01) Implementation: Configured via spawn template, executed in death handlerRanged Attacks
RANGED_ATTACK_SHOCK (0x10): Fires shock projectiles (type 9) RANGED_ATTACK_VARIANT (0x100): Fires projectiles with type specified in orbit_radius field Used By: Troopers, some spider variants, advanced enemiesBonus on Death (0x400)
Effect: Guarantees bonus drop when killed Used By: Boss creatures, special encountersSpawn System
Creatures spawn from a pool of 384 slots (CREATURE_POOL_SIZE = 0x180 from src/crimson/creatures/runtime.py:82).
Spawn IDs
There are 129+ spawn templates (SpawnId 0x00 through 0x80+) that define creature configurations. Examples:0x00: Zombie Boss Spawner0x01: Spider SP2 Splitter0x03-0x06: Random variants (Spiders, Lizards, Aliens)0x11-0x19: Formation spawns (chains, rings, grids)0x21-0x2D: Specific alien variants (ghosts, bosses, etc.)
Spawn Templates
Fromsrc/crimson/creatures/spawn_templates.py, each template defines:
Spawn Rate Scaling
In Survival mode, spawn rate increases over time:- Early Game (0-2 min): Slow spawns, easy enemies
- Mid Game (2-10 min): Faster spawns, mixed difficulty
- Late Game (10+ min): Near-continuous spawning, hard enemies
Contact Damage
Fromsrc/crimson/creatures/runtime.py:84:
- Collision detected between player and creature
- If contact timer expired (0.5s period):
- Deal creature’s damage to player
- Play attack sound effect
- Reset timer to 0.5s
runtime.py:105-111):
- Zombie:
sfx_zombie_attack_01/02 - Lizard:
sfx_lizard_attack_01/02 - Alien:
sfx_alien_attack_01/02 - Spider:
sfx_spider_attack_01/02
Creature HP and Difficulty
HP Ranges by Type
| Creature Type | HP Range | Notes |
|---|---|---|
| Zombie | 20-200+ | Wide variance |
| Lizard | 40-150 | Medium HP |
| Alien | 30-300+ | Huge variance |
| Spider SP1 | 20-100 | Fast, low HP |
| Spider SP2 | 60-200 | Splitters |
| Trooper | 80-250 | Ranged |
Boss Variants
Boss creatures (spawn_id specific variants) have:- 3-10x normal HP
- Larger size (1.5-2.5x)
- Special colors (blue, red, yellow)
- Guaranteed bonus drops (flag 0x400)
- Zombie Boss (0x00): Blue tint, 64 size, 1.3 speed
- Yellow Lizard Boss (0x30): Yellow tint, high HP
- Red Alien Boss (0x2C): Red tint, massive HP
- Red Spider Boss (0x3B): Red tint, high HP
- Shock Spider Boss (0x3A): Special ranged variant
Damage Types Against Creatures
Fromsrc/crimson/creatures/damage_types.py:
src/crimson/creatures/damage.py):
- Uranium Filled Bullets: +100% to BULLET damage
- Barrel Greaser: +40% to BULLET damage
- Doctor: +20% to BULLET damage
- Living Fortress: +0% to +150% to BULLET (scales with stationary time)
- Pyromaniac: +50% to FIRE damage
- Ion Gun Master: +20% to ION damage
Strategy Against Creature Types
Zombies
Weakness: Slow movement Strategy:- Kite in circles
- Use any weapon
- Focus fire on clusters
Lizards
Weakness: Predictable orbiting Strategy:- Lead shots for orbiting variants
- Use fast weapons (SMG, Assault Rifle)
- Don’t let them surround you
Aliens
Weakness: Varies by variant Strategy:- Identify variant quickly (color/size)
- Prioritize spawners (they create more aliens)
- Use area damage on groups
- Boss aliens: focused high-damage weapons
Spiders (SP1 - Small)
Weakness: Low HP Strategy:- Spray weapons (SMG, Minigun, Flamethrower)
- Constant movement
- Don’t get cornered
Spiders (SP2 - Large)
Weakness: Splits create more targets Strategy:- AOE weapons to kill splits immediately
- Gauss Gun to pierce through
- Avoid letting splitters surround you
Troopers
Weakness: Weak up close Strategy:- Close distance quickly
- Use cover/movement to dodge shots
- High single-target damage
Related Documentation
- Damage Calculations - How damage applies to creatures
- Weapons - Weapon effectiveness against creatures
- Perks - Perks that modify creature damage
- Survival Mode - Spawn patterns in survival
Source Code References
src/crimson/creatures/spawn_ids.py- Creature type IDs and spawn IDssrc/crimson/creatures/spawn_templates.py- Spawn template definitionssrc/crimson/creatures/runtime.py- Creature pool and update logicsrc/crimson/creatures/ai.py- AI behavior implementationsrc/crimson/creatures/damage.py- Damage application logic