The-International-Open-Source icon indicating copy to clipboard operation
The-International-Open-Source copied to clipboard

Better defender distribution

Open CarsonBurke opened this issue 1 year ago • 1 comments

Ideas

rampart group scoring

  • Score threat to each rampart group
  • enemy damage increases score
  • enemy heal increases damage need
  • slowly decrease scores logarithmically
  • when there is threat make score at least 0
  • two Uint8Arrays, one for score and one for damage
  • within rampart groups use current rampart scoring system, randomTick(3) instead

Alternative scoring

  • floodFill from enemies based on heal
    • If the flood iter comes across a defender
  • probably not necessary
    • add eventLog damage to score. Score decays each tick by 1% or so
    • 2 values, one for flood results and the other for evenLog damage. eventLog damage needs to be moving averaged and then added to flood results
  • global Uint32Array for score records
  • If a defender already has a rampart, require a certain score difference based on range (more score required for higher range) to change target

Pathing scoring

  • Path from each

EventLog Primary

  • Similar to threat: max(currentScore, newScore) and take away 1% each tick, removing if less than 1

Group ramparts like with communePlanner

  • Each group has a score based on floodFill from enemies at a decaying amount by range, and eventLog damage

Respond to enemy heal

  • Track all positions of present healers, implement reserveHeal that defenders respond to
  • Track positions of healers that were in the room but are gone, decay at 1% per tick or so

Enemy squads

  • a defender finds an enemy with a reserved heal of > 0, scored in part by how much damage they can deal

Enemy health

  • Enough damage to kill the enemy in two ticks

CarsonBurke avatar Mar 16 '23 20:03 CarsonBurke

what the actual fuck did I write this makes me look insane

CarsonBurke avatar Sep 18 '23 20:09 CarsonBurke