In this project, I implement the decision-making for Hero agents. In this version of a MOBA, Heroes have a number of special properties that make them more powerful than Minions:

  • Heroes have twice as many hitpoints as Minions.
  • Heroes have a more powerful gun.
  • Heroes have a secondary attack that does damage to all enemies within a certain radius.
  • Heroes can be healed if they return to the base.
  • Heroes can dodge bullets by "jumping" a short distance in a given direction (or a random direction).
  • Heroes can gain level-ups by killing enemy agents. A level is gained for each kill the Hero makes (the last agent to damage an opponent before it dies). The Hero gains one extra point of damage per level and maximum hitpoints increases by one for each level earned.

In this project, I implement the AI for a Hero agent in a world similar to a MOBA. However, I will substantially change the rules so I can focus on Hero AI without all the complications of a MOBA. In this game, there are no towers and each team has a maximum of three minions at any given time. The minions wander aimlessly, but shoot at Heroes if they ever get too close. Heroes must hunt each other, and the game is scored by how much damage one Hero does to another Hero.

Hero decision-making can be anything, but in a MOBA, typically the Hero focuses on gaining extra powers so it can take out enemy Minions at a faster rate. Eventually, a Hero will be powerful enough to quickly take down towers and bases. Since towers and bases target Minions before targeting Heroes, it is beneficial for Heroes to protect friendly Minions and use them for cover. By targeting enemy Minions, a Hero can make it harder for the enemy Hero to take cover. Heroes may engage each other from time to time to disrupt opponent advantage.

However, in this project, I will only focus on the Hero vs. Hero aspects of a MOBA. I will implement a Behavior Tree for Hero agents.

Built With

Share this project:

Updates