Skip to content

Repository files navigation

⚔️ DETI Dungeons: Turn-Based RPG

Status Language

Current Status: 🚧 Paused temporarily. Development is on hold during the University of Aveiro (UA) exam season. Regular updates will resume soon.

📖 About the Project

DETI Dungeons is a turn-based strategy RPG built from scratch using Python. The main goal of this project is to apply advanced programming concepts such as Object-Oriented Programming (OOP), state management, and algorithm logic (damage calculation, turn flow) without relying on heavy game engines.

While the initial version runs on the CLI (Command Line Interface) to ensure solid logic, the final version will feature a GUI built with Pygame.

🛠️ Tech Stack

  • Language: Python 3.x
  • Libraries: Pygame (GUI implementation)
  • Concepts: OOP, Data Structures, Event Handling.

🗺️ Roadmap & Features

Based on the long-term development plan:

Phase 1: The Core (Terminal Logic)

  • Character & Enemy Class Structure (Attributes: HP, Attack, Defense, Mana).
  • Turn-Based Combat Loop (Input/Output).
  • Damage Calculation Logic & Win/Loss Conditions.

Phase 2: Graphical Interface (Pygame)

  • Window Configuration & Asset Rendering.
  • Visual Combat Loop (Replacing text printouts with UI elements).
  • Interactive Action Buttons (Attack, Magic).

Phase 3: Expansion & Polish

  • Leveling System (XP & Progression).
  • Multiple Enemy Types & AI logic.
  • Magic/Ability System implementation.

Phase 4: Web Integration (Experimental)

  • Save/Load System (JSON/Pickle serialization).
  • Future Goal: Web visualization using HTML/CSS/JS.

🚀 How to Run (Current Version)

(Instructions to be added once Phase 1 is stable)

# Clone the repository
git clone https://github.com/henriquegala/deti-dungeons.git

# Run the game
python main.py

About

A turn-based strategy RPG built with Python & Pygame. Focuses on Object-Oriented Programming (OOP) patterns, state management, and algorithm design.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages