Nostrademous / Dota2-FullOverwrite

Work in progress for a full-overwrite Dota 2 bot framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fix laning

Keithenneu opened this issue · comments

Our safe lane is dying a lot. Most of it comes from over aggression / bad positioning.
They also miss a few easy last hits.

Not saying that it's all bad, but I think it really needs an update.

This is mostly from observing a CM/PA safe lane. should be true for other lanes and combinations.
Loosely ordered by severity.

  • don't do a full retreat if staying back a little is all we need to do (let regen items do their work)
  • manage creep aggro while harassing
  • don't walk into the enemy tower, unless we control aggro
  • cm frost bites random creeps. not sure if she's trying to last hit (not really worth on lane creeps) or trying to harass (missclick??)
  • improve creep health prediction (would probably require a simulation at this point)

I'm also planning some risk assessment for lanes. Might help with the positioning later on.

I implemented some fixes to address some of these. working on smarter in-lane harassment currently.

okay, I just pushed changes that do a lot of the above.

Currently I forced hero selection to only 5 heroes that have proper nukeDamage calculations implemented. Works great. Give it a go.

Aw yeah, much better!

Just more edge cases I noticed (I'm kinda abusing the issue tracker as a public note pad ath this point..):

  • if we are pushing and our creeps are getting pulled behind the tower, bots just stand in the tower and tank it without attacking back or anything.
  • cm should use her frostbite if she's on full mana and is somehow able to reach an enemy. That'd allow drow to get some right clicks in. In general: as long as we have enough mana to handle an emergency, we can as well use it to hurt someone. (BS will appreciate low enemies :) )
  • If an enemy dives the tower, slow him, frostbite him, kill him!

CM does use frostbite if above a certain % mana threshold on nearby "weakest" enemy (providing the non-weakest enemy is not standing in the way, and the distance from her current position is less than Frostbite CastRange + small delta).

  • If an enemy dives the tower, slow him, frostbite him, kill him!

That code used to exist in the utils.HarassEnemy() ... but I commented it out or scrapped it b/c it didn't belong there as it wasn't a harassment. I need to re-create it as part of the "fight" mode.

  • if we are pushing and our creeps are getting pulled behind the tower, bots just stand in the tower and tank it without attacking back or anything.

Yeah, I know... it was hard enough getting them to not go past the tower... bots and understanding positioning is a hard problem. We need a generic solution that will tie into your map-wide orientation.