DEV Community

Cover image for Hero's Journey a text-based RPG Game.
Nicolas Agudelo
Nicolas Agudelo

Posted on

Hero's Journey a text-based RPG Game.

Hero's Journey V1.0

Hello everybody!

Greeting Message



This is the first working version of the python text-based RPG game that I have called Hero's Journey.



In this game, you will find yourself in the shoes of the hero who must defeat the Demon King to bring peace back to his world.

To do this, you must train and level up to improve your stats, you will do this by fighting against different enemies (minions of the Demon King), gaining experience, potions, and money once you defeat them, money, that you will be able to then use on the store to buy more potions to help you on your adventure.

Be careful with how much you risk while training or when fighting the bosses since if you are left with no more health points, you will lose all your potions and part of your money.

The game is divided into six sections.

Game Start

At the beginning of the game, the game will ask you for your name, and you will receive ten stat points to distribute as you wish on four different attributes:

  • Attack: Determines how much damage the player deals
  • Defense: Determines how much damage the player ignores.
  • Speed: Determines the chance of the player avoiding an enemy attack.
  • Crit Chance: Determines the chance of the player hitting a critical strike when attacking.

Once you have done this, the game will take you to The Village

The Village

This is basically the game's menu, where you can choose what to do next.

You will recover your HP every time you come back to the Village and also be transported back here when an enemy defeats you.

Game's Menu

Game's Menu

Training Grounds

Here is where you will face the minions of the Demon King, accumulating experience, potions, and money.

You will face each of them in turn-based combat, where the player will choose between using a potion to recover some health or attacking the enemy in front.

Once you decide to attack, it will be the enemy's turn to attack you.

Using potions in combat will not make the player lose his turn.

Battle Against Minion

Battle Example

Once you defeat the enemy, you will be given the option to continue training which will set up another combat, or go back to the village to recover your HP.

Store

Here you will be able to spend the money you have won by killing enemies on potions.

Potions are handy if you want to stay training for a while or if you are going to face one of the game's bosses.

Each potion will recover 20% of your maximum health, and you can carry a maximum amount of 10 potions at a time.

Store

Store

Check Stats

As you level up through the game you will accumulate stat points to improve your attributes. Here is where you can spend all those stat points on the 4 different attributes mentioned at the Game Start section as well as checking what your current stats are:

Checking the player Stats

Player Stats

The player can choose how he wants to spend his stat points; however, every attribute will reach its maximum level once it reaches level 10.

Spending Stat Points

Spending Stat Points

Stat Points Used

Stat Points Used

Battle Boss

The game has four bosses.

The three generals of the army:

  • Abadon
  • Mammon
  • Belphegor

And the Demon King himself: Lucifer

The combat mechanics against the bosses are the same as with the minions; however, bosses are much more robust. If the player has not trained enough, it might be virtually impossible to defeat them until the player reaches a certain level.

Fighting the Boss without proper training

Fighting Without Training

Installing the game

You can find the code for the game at this repository at github.

You can also download the executable on this link

Closing notes

Feel free to contact me through my email (public on my profile) if you find any issue or problem with the game or if you have any advice about how something might be better implemented. You can also try adding more stuff to the game I would love to see that.

Thanks.

Top comments (11)

Collapse
 
artyomovs profile image
artyomovs

Hi Nicolas.
Really good project.
Added a tiny PR there, please check it out.
github.com/nicolasagudelo/hero_jou...

Collapse
 
nicolasagudelo profile image
Nicolas Agudelo

Thanks for your contribution artyomovs ^^

I just merged the PR to the main branch.

Thanks!

Collapse
 
nil101 profile image
nil-101

how should i fetch ur project and edit it by myseeeeeelf..

Collapse
 
nicolasagudelo profile image
Nicolas Agudelo

Hi! sorry I was offline for a few days.

If you go into my repository you can fork it from github by clicking the fork button at the top right side, this will create a copy of the repository on your account.

After that you can go into the repository that was created into your account and clone it into you own computer using the git clone command and modify it ^^

Collapse
 
craftyminer1971 profile image
CraftyMiner1971

I have completed your game, and my name will be heralded through all the lands! This was a cool game, thanks for making it and posting it here.

Collapse
 
nicolasagudelo profile image
Nicolas Agudelo

You will be forever remembered!

I'm glad you liked it thanks for your comment!

Collapse
 
lico profile image
SeongKuk Han • Edited

It reminds me when I first started to learn programming, I also made a text-based game with C. I think yours is much better than mine tho. Great the story and the system!

Collapse
 
nicolasagudelo profile image
Nicolas Agudelo

Thank you so much SeongKuk.

I would like to see your game too if it's public anywhere.

Collapse
 
lico profile image
SeongKuk Han

I've lost it.. It was 13 years ago. Lol
Enjoy your coding!

Collapse
 
chrisgreening profile image
Chris Greening

Great work Nicolas!!! I'll definitely be checking this out - the first program I ever wrote was a text adventure in Python so this sort of stuff holds a special place in my heart lol

Collapse
 
nicolasagudelo profile image
Nicolas Agudelo

Thanks Chris!

Please let me know what you think once you have played it.

Looking forward to your feedback ^^