https://github.com/vianpyro/text-based_adventure_game
A text-based RPG I made to learn C++
https://github.com/vianpyro/text-based_adventure_game
text-based-game
Last synced: about 1 year ago
JSON representation
A text-based RPG I made to learn C++
- Host: GitHub
- URL: https://github.com/vianpyro/text-based_adventure_game
- Owner: Vianpyro
- License: mit
- Created: 2024-10-09T00:59:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-29T12:55:10.000Z (over 1 year ago)
- Last Synced: 2025-03-30T07:23:18.921Z (about 1 year ago)
- Topics: text-based-game
- Language: C++
- Homepage:
- Size: 176 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shattered Kingdom: Text-Based Adventure Game
Welcome to **Shattered Kingdom**, a text-based RPG where you take on the role of a hero in the fractured world of **Elyndor**. Your mission is to recover the five pieces of the legendary **Shattered Crown** and unite the kingdom before the dark sorcerer **Malakar** plunges it into chaos.
## Features
- **Classes**: Choose between **Warrior**, **Mage**, or **Rogue**, each with unique abilities and playstyles.
- **Exploration**: Journey through the **Frostbound Peaks**, **Sunken Ruins**, **Forbidden Forest**, **Ashen Wastes**, and **Abyssal Tower**.
- **Combat**: Engage in turn-based battles with mythical creatures and rival warlords.
- **Quests and Choices**: Complete side quests, make moral decisions, and shape the future of Elyndor through your actions.
- **Multiple Endings**: Your choices throughout the game determine the fate of the kingdom.
## Inspiration
The world of Elyndor and the plot of **Shattered Kingdom** are inspired by classic RPG mechanics and fantasy tropes found in games like _The Elder Scrolls_ series, _The Legend of Zelda_, and traditional _Dungeons & Dragons_ campaigns. These inspirations helped shape the game's atmosphere and mechanics, but the story and characters are entirely original.
## Technologies Used
- **C++**: The game is written in C++ to take advantage of object-oriented programming and memory management.
- **STL**: Utilizes the Standard Template Library for efficient handling of player inventory, quests, and game logic.
- **File I/O**: Supports saving and loading game progress using file streams.
- **Smart Pointers**: Implements modern C++ techniques like smart pointers to manage memory and avoid leaks.
## Plot
Curious about the story of **Shattered Kingdom**? Learn more about the world of **Elyndor**, its history, and your mission to reclaim the **Shattered Crown** on our [Wiki Plot Page](https://github.com/Vianpyro/Text-Based_Adventure_Game/wiki/Plot:-The-Shattered-Kingdom).
## Getting Started
## Requirements
- **Compiler**: g++ with C++17 support
- **External Libraries**:
- `nlohmann::json` (JSON for Modern C++)
### Build Instructions
1. Clone the repository:
```bash
git clone https://github.com/Vianpyro/Text-Based_Adventure_Game.git
```
2. Navigate to the project directory:
```bash
cd Text-Based_Adventure_Game
```
3. Include external libraries
```bash
sudo apt install nlohmann-json3-dev
```
4. Compile the code:
```bash
make all
```
5. Run the Unit Tests (optional):
```bash
make distcheck
```
6. Run the game:
```bash
./bin/ShatteredKingdom
```
## Contributing
Feel free to open issues or submit pull requests to improve the game, add new features, or suggest new quests and storylines!