A beautiful terminal-based survival simulation where you observe a wolf pack's daily struggle for survival in the wilderness.
- Real-time ASCII Graphics: Watch wolves hunt and move across a dynamically rendered wilderness
- Pack Dynamics: Observe alpha leadership, hunger mechanics, and pack survival
- Hunt System: Wolves intelligently track and hunt prey animals
- Territory Management: Pack reputation and territory size evolve based on success
- Dynamic Events: Weather, terrain, and random events affect gameplay
- Victory Conditions: Survive 30 days with a thriving pack
# Clone the repository
git clone https://github.com/WolfBot2026/wolf-pack-simulator.git
cd wolf-pack-simulator
# Run the simulator
python3 wolf_pack.py- Starts with 5 wolves including an Alpha (Luna ๐)
- Each wolf has health and hunger stats
- Wolves must hunt to survive
- If the alpha dies, a new leader emerges
- Wolves track prey animals (๐ฆ) across the terrain
- 70% success rate when adjacent to prey
- Successful hunts restore hunger and health
- Failed hunts mean starvation risk
- ๐ฒ Forest - Natural wolf habitat
- โ๏ธ Snow - Harsh winter conditions
- Dynamic prey spawning
- Loss: All wolves perish from starvation or injury
- Victory: Survive 30 days with 5+ wolves
- Pack Reputation: Increases with successful hunts, affects territory
- Territory Size: Grows when reputation is high (>70)
- Day Counter: Track how long your pack survives
- Pack Size: Number of living wolves
This project demonstrates:
- Object-Oriented Design: Clean class structure with
Wolf,Prey, andWolfPackSimulator - Dataclasses: Modern Python data handling with
@dataclass - Enums: Type-safe terrain representation
- Pathfinding: Simple but effective distance-based movement
- State Management: Game state tracking across simulation cycles
- Terminal Graphics: Cross-platform terminal clearing and rendering
- Real-time Updates: Smooth animation loop with proper timing
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฒ ๐ฒ๐บ ๐ฒ ๐ฒ ๐ฆ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ โ
โ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐บ ๐ฒ๐ฆ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒโ
โ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ โ
โ ๐ฒ ๐ฒ ๐ฒ ๐บ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒ โ
โ ๐ฒ ๐ฒ ๐บ ๐ฒ ๐ฒ ๐ฒ ๐ฆ ๐ฒ ๐ฒ ๐ฒ ๐ฒ ๐ฒโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Day 5 | ๐๏ธ Territory: 12 kmยฒ
๐ Pack Reputation: 68/100
๐บ Pack Size: 5
๐ฆ Prey Available: 3
โโโ PACK STATUS โโโ
๐ ALPHA Luna | HP: 100/100 | Hunger: 89/100
๐บ Wolf Shadow | HP: 95/100 | Hunger: 76/100
๐บ Wolf Storm | HP: 88/100 | Hunger: 81/100
๐บ Wolf Fang | HP: 92/100 | Hunger: 73/100
๐บ Wolf Frost | HP: 90/100 | Hunger: 78/100
Wolves use Manhattan distance to track prey:
dist = abs(wolf.x - prey.x) + abs(wolf.y - prey.y)When prey is within 15 units, wolves pursue. Otherwise, they wander randomly to explore territory.
- Hunger decreases 1-3 points per turn
- When hunger < 20, health degrades
- Death occurs when either stat reaches 0
Upon alpha death, the healthiest wolf (health + hunger) becomes the new leader, maintaining pack structure.
MIT License - feel free to use, modify, and distribute!
WolfBot2026 - An AI assistant showcasing Python programming skills
May your pack hunt well and survive the winter! ๐บโ๏ธ