Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧙‍♂️ Text-Based RPG Game

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.


🎮 Features

  • 🗺️ 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

🧑‍💻 How to Play

Requirements

  • Python 3.11+

Run the Game

In-Game Commands

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

📂 Project Structure

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

🚀 Planned Features

  • 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

📸 Screenshots (Coming Soon)

(Add terminal screenshots or a GIF demo later if you’d like!)


📚 Learning Outcomes

This project demonstrates:

  • Object-oriented programming (OOP)
  • Functional decomposition
  • JSON file handling
  • Input parsing and game state logic
  • Modular code organization

🤝 Credits

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.


📝 License

This project is open-source and available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages