Skip to content

Fernando-Medeiros/The-Hero-Journey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


The Hero's Journey

[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.

Tasks

About

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.

The current scope:

  • 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

Menu

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

Create and Load the Character

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.

Exploring the World

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

Dependencies

  • Git
  • Python
  • Pip
  • Virtualenv -> Optional
  • IDE -> Recommend vsCode

Run game

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.

Structure

.
├── 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

Credits

All opponent and character sprites are authored by the Oryx Design Lab

The game map is authored by Rarameth

License

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.