Skip to content

Latest commit

ย 

History

History
96 lines (63 loc) ยท 2.83 KB

File metadata and controls

96 lines (63 loc) ยท 2.83 KB

๐Ÿง™โ€โ™‚๏ธ 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.