[2024] -> I am testing the development of 2D games with C#, SFML and I recommend using graphic libraries and languages more suitable for games, preferably a library that supports compilation for many platforms, for example, Mono Game; MVP - RPG/Sandbox
This is my first project with programming, so the code doesn't follow the best organization and object orientation practices.
- About
- The current scope:
- Menu
- Create and Load the Character
- Exploring the World
- Dependencies
- Run game
- Structure
- Credits
- License
This is my first personal project \o/
I started this game to practice programming, I chose to make this game because it would be fun and also a challenge.
It's in the first version, I'll add and refine it over time, but for now you can download and play. (Soon I will share the executable on google drive.)
The Hero's Journey is a turn-based rpg, and its plot takes place on a continent in chaos between factions, kingdoms, races and even worlds.
- Choose from three ethnicities of Elves
- Choose from three classes according to your chosen ethnicity
- Create and Delete characters (up to 9 characters saved)
- Level progression system
- 55 areas to venture into and battle with region-specific opponents.
- Battle system (Attack, Defend and Evade)
- Battle Status System (Dodge, Block, Critical)
- Intuitive battle log
- You can watch it here - Youtube - Menu
- You can watch it here - Youtube - Game
When starting the Game you have the following options:
- New game
- Load game
- Credits
- Configuration
- Quit
Basic system settings:
- Standard screen 747 x 1050 or Full Screen
- Increase game speed from 30 FPS to 60 FPS
- Mute
The game allows a maximum of 9 save games
When creating a new game:
- Each elf ethnicity has its history and characteristics.
- Each ethnicity has three classes
- Each class has unique abilities.
The game currently has 55 areas
Each area has an average of 10 unique opponents with randomly generated stats
The battle system:
- Basic Actions (Attack, Defend, Evade)
- Intuitive battle log
- Stamina consumption for stocks
- Automatic health, energy and stamina regeneration
- Git
- Python
- Pip
- Virtualenv -> Optional
- IDE -> Recommend vsCode
Clone this project
Open your terminal
git clone https://github.com/Fernando-Medeiros/The-Hero-Journey.git
Access the project folder
cd The-Hero-Journey
Create the virtual environment
virtualenv .venv
# or
python3 -m venv .venv
Activate .venv
# Linux
source .venv/bin/activate
# Windows
./.venv/bin/activate.ps1
Install dependencies
pip install -r requirements.txt
Start the game
python3 main.py
Some modules are necessary for Linux users.
.
├── app
│ ├── battle
│ │ ├── battle.py
│ │ ├── log.py
│ │ ├── skills.py
│ │ └── view.py
│ ├── character
│ │ ├── character.py
│ │ ├── model.py
│ │ ├── settings
│ │ │ ├── classe_progression.json
│ │ │ ├── classes.json
│ │ │ ├── settings.py
│ │ │ └── skills.json
│ │ └── view.py
│ ├── database
│ │ ├── base.py
│ │ ├── character_db.py
│ │ ├── db
│ │ │ ├── characters.json
│ │ │ ├── enemies.json
│ │ │ └── maps.json
│ │ ├── enemy_db.py
│ │ └── map_db.py
│ ├── events.py
│ ├── game.py
│ ├── menu
│ │ ├── load.py
│ │ ├── menu.py
│ │ ├── newgame.py
│ │ ├── options.py
│ │ └── settings.py
│ ├── opponent
│ │ ├── enemy.py
│ │ ├── model.py
│ │ └── view.py
│ ├── sound.py
│ └── tools.py
├── docs
│ ├── img
│ ├── log.txt
│ ├── README.md
│ └── tasks.md
├── LICENSE
├── main.py
├── paths.py
├── requirements.txt
├── runtime.txt
└── static
├── context_info
│ ├── dark
│ │ ├── assassin.txt
│ │ ├── duelist.txt
│ │ ├── heraldry.txt
│ │ └── mage.txt
│ ├── forest
│ │ ├── heraldry.txt
│ │ ├── mage.txt
│ │ ├── warden.txt
│ │ └── warrior.txt
│ └── grey
│ ├── heraldry.txt
│ ├── mage.txt
│ ├── warden.txt
│ └── warrior.txt
├── images
│ ├── classes
│ ├── enemies
│ ├── game
│ ├── menu
│ │ ├── load
│ │ ├── newgame
│ │ └── options
│ └── sprites_credits.txt
├── sound
└── soundtrack
└── (97) Orpheus Odyssey - Legends on Strings - YouTube.url
All opponent and character sprites are authored by the Oryx Design Lab
The game map is authored by Rarameth
License - MIT
You can reuse this project, remember that Oryx Design Lab sprites and Rarameth map have not been licensed for commercial purposes, this project is for study purposes only.