Skip to content
inetd404Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Post-Apocalyptic Roguelike

A terminal-based roguelike game where you control a gang navigating a procedurally generated wasteland.

Features

  • Procedurally generated overland map with trees, roads, and settlements
  • ASCII-based graphics rendered in the terminal
  • Weight-based inventory system with dynamic item loading
  • Gang management system (members, food, ammunition, supplies)
  • Data-driven configuration via YAML files

Requirements

  • Python 3.8 or higher
  • PyYAML library
  • Unix-like terminal (Linux, macOS) for best experience
  • Windows users may need Windows Terminal for proper rendering

Installation

# Install dependencies
pip install -r requirements.txt

Quick Start

# Run the game
python3 main.py

Controls

  • WASD or Arrow Keys: Move your gang
  • Q: Quit game

Map Legend

  • . - Grassland (walkable)
  • T - Trees (blocks movement)
  • # - Roads (walkable)
  • S - Settlement (walkable)
  • @ - Your gang

Configuration

The game uses YAML configuration files for easy customization:

config/items.yaml

Define item types, weights, and starting inventory:

items:
  food:
    name: "Food"
    weight: 1.0
    description: "Essential for gang survival"

inventory_settings:
  capacity_per_member: 10.0

starting_inventory:
  food: 10
  ammunition: 20

You can add new item types or modify existing ones without changing code!

Project Structure

.
├── main.py              # Entry point
├── config/
│   └── items.yaml       # Item and inventory configuration
├── game/
│   ├── __init__.py
│   ├── engine.py        # Main game loop
│   ├── world.py         # Map generation
│   ├── entities.py      # Player gang
│   ├── inventory.py     # Inventory system
│   ├── config_loader.py # Configuration loader
│   ├── renderer.py      # Console rendering
│   ├── input_handler.py # Keyboard input
│   └── constants.py     # Game constants
├── requirements.txt     # Dependencies
└── README.md

Inventory System

  • Each gang member provides 10 units of carrying capacity
  • Items have different weights (e.g., food: 1.0, ammunition: 0.5)
  • Starting gang (5 members) = 50 capacity
  • Cannot add items beyond capacity
  • Capacity updates when gang members join/leave

Future Enhancements

  • Settlement interactions (trading, recruiting)
  • Resource management (food consumption)
  • Random encounters with other gangs
  • Combat system
  • Save/load functionality
  • Fog of war
  • Quest system

License

This is a sample project for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages