Skip to content

Overmind 0.5.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@bencbartlett bencbartlett released this 02 Feb 01:01
· 126 commits to master since this release

This patch adds improvements to Overmind's performance at lower RCL, fixes boosting logic to account for the removal of pre-boosting, and improves road planning, room intel, and swarms. This release is the version running in botarena 202.

Added

  • Visualizer improvements:
    • Added a dashboard section for the evolution chamber
    • Labs now display their mineralTypes overlaid as a room visual
    • Added version update messages to the notifications board when available
  • Improvements to swarms:
    • All overlords controlling swarms are now extended from the SwarmOverlord <- CombatOverlord <- Overlord class
      • New swarmWishlist method prevents swarms from spawning "out of sync"
    • Improvements to swarm assembly point calculations; supports multiple swarms now
    • Swarm.pivot() provides more reliable in-place rotation without breaking formation
  • New console methods:
    • notifications() will print out a list of notifications shown in the GUI with links to rooms
    • listDirectives() now takes an optional functional-style filter, such as listDirectives(dir => dir.color == COLOR_PURPLE && !!dir.overlords.colonize)
    • listConstructionSites(), which takes an optional functional filter
  • Smarter behavior when dealing with over-stressed hatcheries
    • New overload stat tracks the rolling average of ticks where the hatchery is idle, wants to spawn something, but is unable to because it is being loaded
  • RoadPlanner improvements:
    • New routing algorithm allows for tunnel placement, although this will be relatively rare due to very high maintenance costs
    • Changes to Colony.destinations ensures more determinism when recomputing road networks; you should notice a decrease in roads which become deprecated as levels grow or outposts are added
    • RoadPlanner.roadCoverage property tracks paving completion throughout a colony; transporter bodies will now use this stat rather than colony level to determine when to switch between setups with 1:1 and 2:1 carry:move ratios
  • New information tracked with RoomIntel:
    • (Approximate) harvesting data and rolling averages of energy/tick over 10k, 100k, and 1M ticks
    • Casualty data, with effective energy costs and rolling average of cost/tick over 10k, 100k, 1M ticks
    • Creep occupancy data over the last 25 ticks (computed only in owned rooms)
    • Safety data, tracking consecutive safe, unsafe ticks and rolling average of safety over last 1k and 10k ticks
  • CombatIntel.isEdgeDancing uses creep occupancy data tracked in RoomIntel to determine if a likely tower drain attack is occurring; towers will adjust their firing patterns accordingly.
  • Initial (incomplete) implementation of CombatPlanner, which will coordinate automatic offensive and defensive actions betweeen colonies.

Changed

  • Rewrote the boosting protocol to account for the removal of pre-boosting capabilities. RIP in-spawn boosting, you will be missed... :'(
    • Instead of three booster labs (one adjacent to each spawn), each applying every boost to their respective creeps, the new system allows up to 8 boosting labs, which will contain the total current amount of each distinct resource needed by all creeps currently being spawned by the colony.
  • Improvements to keeping newly-constructed ramparts alive at low RCL: towers will repair critical ramparts below RCL5, and workers will prioritize fortifying critical ramparts above repairs
  • Overlords are now instantiated immeditely after a directive is placed rather than having to wait for the next full rebuild()
  • Pioneers will remove structures blocking a controller from being claimed, and claimers won't spawn until controller is reachable
  • Workers will upgrade controllers sooner at higher levels and will spawn when a downgrade is imminent
  • Non-stationary managers have fewer move parts in bunker-type colonies
  • Reservers allow for a lower reservation buffer and will use the cached reservation info from RoomIntel if vision is unavailable
  • Queens now spawn with 1:1 move:carry ratios until a storage is built
  • Changes to overlord priorities at lower RCL
  • Tweaks to safemode and invasionDefense triggers
  • UpgradeSites won't place containers until RCL 2
  • Consolidated mutalisk and hydralisk body plans

Removed

  • Deprecated directives and overlords for old siege and healpoint logic

Fixed

  • Security patches and bugfixes for the Assimilator
  • Pioneers and claimers should no longer navigate through dangerous source keeper territory
  • Fixed an issue in TaskRecharge which could cause some creeps, like pioneers, to not harvest from a fully-surrounded source that they were adjacent to, causing gridlock situations
  • Added a check to prevent Overlord.wishlist() from requesting too many creeps; this was prompted due to a subtle division by zero error in outpostDefenseOverlord causing Overmind to crash in the last two BotArena rounds
  • Fixed a bug causing excess energy to accumulate in terminals rather than be sold on the market as much as it should
  • Fixed an issue causing CombatZerg to occasionally load as Zerg
  • Fixed a bug in Abathur.getReactionQueue() which could cause it to ignore market resources on private servers
  • Fixed a bug where fillers would try to withdraw from nukes
  • Improved drone constructionSite build time
  • Fixed a bug where RoomPlanner would not properly demolish hostile structures in a newly claimed room
  • Extraction directives now remove themselves if colony downgrades below RCL6
  • Fixed a bug where low-level min-cut barriers for a bunker placed too close to the edge would not fully enclose the base (#43)
    • This bug has not been fixed for the older two-part base style, which will soon be deprecated