A fully playable, terminal-based fantasy RPG built entirely in Python. Explore rooms, battle monsters, cast spells, manage your inventory, and level up your character — all through simple text commands.
This project showcases programming fundamentals including object-oriented design, user input parsing, state management, and file I/O using JSON. It's designed as both a fun game and a portfolio project.
- 🗺️ Room-Based World – Explore a dungeon with interconnected rooms
- ⚔️ Turn-Based Combat – Face off against enemies like goblins, frost golems, and corrupted kings
- 📜 Spellcasting System – Cast spells using scrolls and mana, including Fireball, Ice Spike, and Heal
- 🧰 Inventory System – Take, drop, use, examine, and manage your items
- 💾 Save/Load System – Save and load your game progress using JSON
- 📈 Level-Up System – Earn XP, level up, and upgrade stats like Strength, Defense, and Mana
- 💙 Health and Mana Bars – Visual indicators for player and enemy status
- 🌀 Charged Attacks – Powerful cooldown-based combat option for strategy
- Python 3.11+
move [direction] # e.g. move north take [item] # pick up an item drop [item] # drop an item use [item] # use consumables like potions examine [item] # inspect an item inventory # view your inventory fight # engage in combat cast [spell] # cast a known spell save # save your game load # load a saved game
| File | Description |
|---|---|
| main.py | Main game loop, command parser, core logic |
| player.py | Player class with stats, inventory, actions |
| enemy.py | Enemy templates, taunts, and combat logic |
| save_file.json | Stores player progress for saving/loading |
- Magic shop with spell purchasing
- Random encounters and hidden loot
- Game-ending boss fight with unique mechanics
- GUI version using tkinter or pygame
- Sound and background music support
- Achievements or challenges system
(Add terminal screenshots or a GIF demo later if you’d like!)
This project demonstrates:
- Object-oriented programming (OOP)
- Functional decomposition
- JSON file handling
- Input parsing and game state logic
- Modular code organization
Created by Austin Granbery
GitHub: https://github.com/BerryFarm97
This project was built as a personal programming portfolio piece and learning exercise in game development using Python.
This project is open-source and available under the MIT License.