Short Description and a bit about me

In a few words, this project is a 5v5 tactical first-person shooter eSport simulator. It's a fan project that aims to bring the experience of watching professional match, explore all the possibilities and answer the "What if?" questions.

About me, my name is Junior Batista. I am a software engineer based in the Washington DC Area. I love creating cool stuff and I like esports. Follow me on Twitter for updates on this project and other cool stuff at @juniorthedev.

Simulation Engine - Round Cycle

The simulation engine simulates every round as follow:

1. Buy Phase

During this phase teams decide what their buy strategy for the round will be, full-buy, eco, or half-buy? Will they pay for a full shield when their shield is at 49 ? Will they upgrade the weapon they picked up in the last round?

2. Defensive/offensive Setup

During this phase, teams decide what their defensive and offensive setup will be. Will they play aggressive or passive? Will they stack a site or play default? Their buy will affect their strategy. For instance, if they are on an eco round, they might stack a site.

3. Early Round

During this phase the teams execute their strategy. They might rush a site, play default, or execute a split. They might also try to gather information by pushing a site or playing aggressive.

4. Mid Round

During this phase the teams react to the information they have gathered. They might rotate, play retake, or try to take control of another site. Players in mid can rotate fast to either side.

5. Post Plant

During post plant, defender will decide if they will save or go for the retake. If they decide to go for the retake, they will attempt to defuse the bomb. The attackers will try to hold the site and prevent the defuse.

Simulation Engine - Players Ratings

All players have ratings that affects their performance. The ratings are generated based on the player's stats. Stats from international tournaments are weighted more than regional leagues and stats from outside of franchise VCT events are weighted less than regional leagues.

  • Aim will determine how fast/accurate they can move their cross-hair to a target and is calculated as follow:
  • AIM = ((K/D * 100) / 1.4 + (KPR * 100) ) / 2;
  • HS will determine how often they can hit headshots vs bodyshot and is calculated as follow:
  • HS = Headshot Percentage * 2.5
  • Players will receive a bonus or penalty when in a clucth situation, is calculated as follow:
  • CL = (Cluches Amount / Max amount by a Player) * 50 + Clutch Percentage * 1.5
  • Movement will determine difficult this player is to be traded and and first kill chances and is calculated as follow:
  • Movement = ACS / 2. 6
  • Support influence the chances of non-damage assists for a player. The player would only be able to support teammates in the same area they are. The Support rating will behave differently from role to role. Initiators: the chances of an assist will be higher during attack and retakes. Sentinels: Chances of assists will be higher during defense Controller: Same chances of assists for defense and attack but average during both. Controllers will be the only position that can assist from around the map.Duelists: Duelists have smaller chances of creating assets than all other positions. Support also influence how good a player is at garthering information. Garthering information is also different by p
  • Support = (Assists Per Round * 100) * 1.5
  • Aggression affects the likelihood of a player taking an aggressive fight and/or how likely they are to win an early duel in the round. Having a higher rating will mean the player can take smarter aggressive positioning while someone with a lower rating may position themselves out of place when making an aggressive play.
  • Aggression = (((First Kills Per Round / (First Kills Per Round + First Deaths Per Round)) * 100) * 1.2)

Aim: 0

HS: 0

CL: 0

Movement: 0

Support: 0

Aggression: 0

Simulation Engine - Players Roles

Every position has different behaviors and traits, duelists are most likely to fight first while controllers are more likely to fight last. Duelists and initiators are more important during the first part of a round while controllers and sentinels are more important during post-plan. Some positions do better on one side of the map than the other defensive or attacking. Only players with the Oper role will buy an will play the op.

Simulation Engine - Economy

Winning gives you more credit than losing, but losing a coupe of rounds in a row will you give a little extra money. If a player saves their weapon they won't need to spend money on their weapon on the next round. Players will not be likely to save when a round is important. Players will also not be likely to save when they have the advantage in a round. Players will also be more likely to save when they have a low amount of money.

Simulation Engine - Weapons

The weapons are the same as the ones in the game. Every weapon makes different damage on body shot and headshot. Every weapon has a different price. Weapons has different reload stats, for example if you miss the first shot with an op it can leave you vunerable.