Pedre Documentation¶
Welcome to the Pedre documentation! Pedre is a Python RPG framework built on Arcade with seamless Tiled map editor integration.
What is Pedre?¶
Pedre provides everything you need to build Zelda-like RPG games with:
- Tiled Map Integration - Load .tmx maps with automatic layer detection
- NPC System - Animated NPCs with dialog trees and pathfinding
- Dialog System - Multi-page conversations with character names
- Event-Driven Scripting - JSON-based cutscenes and interactive sequences
- Inventory Management - Item collection and categorization
- Portal System - Map transitions with conditional triggers
- Save/Load System - Automatic game state persistence
- Audio Management - Background music and sound effects
- Camera System - Smooth camera following with optional bounds
- Particle Effects - Visual feedback system for interactions
Installation¶
Or with uv:
Quick Start¶
Configure your game settings with settings.py in your project root:
Framework Architecture¶
The framework uses SystemLoader to initialize systems and GameContext to coordinate them:
from pedre.systems.loader import SystemLoader
# Loader handles initialization and dependency injection
loader = SystemLoader()
loader.setup_all(context)
# Systems access each other via context
def update(self, delta_time):
audio = self.context.get_system("audio")
Documentation Overview¶
-
Getting Started
Build your first RPG game with step-by-step tutorials
-
API Reference
Framework architecture and Python API reference
-
Systems
Detailed documentation for all manager classes
-
Scripting
Create event-driven cutscenes and interactive sequences
-
Tiled Integration
Learn how to create maps in Tiled for your game
-
Configuration
Configure framework settings and customize behavior
-
Extending Pedre
Add custom actions, events, conditions, and systems
Resources¶
- GitHub Repository: msaizar/pedre
- PyPI Package: pypi.org/project/pedre
- Issue Tracker: GitHub Issues
- License: BSD 3-Clause
Credits¶
Built with:
- Python Arcade - 2D game framework
- Tiled Map Editor - Level design tool