Overmind 0.3: "Back to Base-ics"
Pre-releaseThis release adds a ton of new automation features to base planning, partially overhauling the old RoomPlanner. Once a room plan is set at RCL1, the RoomPlanner never needs to be reopened. Road networks are now continuously re-computed by the new RoadPlanner
module, allowing you to dynamically add and remove outposts. UpgradeSites now determine their own optimal placements, and UpgradeSites and MiningSites now automatically build links when appropriate.
The terminal network has been improved as well, and now tracks transfers between locations within the network (Grafana support available in the updated dashboard.) Colonies now produce more upgraders while near full energy, and have a low-power mode that scales back transporters to save on CPU. Additional resource management assets, including directives for scavenging and for integrating with the logistics system, have been added but will be enabled in a future release.
Added
- Lots of new content added to the Wiki!
- TerminalNetwork stat collection, which accumulates all
send()
calls and transfer costs by resourceType between origin and destination- Added Grafana dashboard support for new stats (in /assets)
- Lots of automation improvements to the room planner! Now once you create a room plan at RCL 1, you can dynamically add and remove outposts without needing to open/close the planner.
- Road planning is now done with the RoadPlanner, which is instantiated from a room planner, and provides a much higher degree of automation:
- Road network is continuously recalculated every 1000 ticks with a heuristic that encourages road merging at minimal expense to path length
- Roads which become deprecated (no longer in the optimal road plan) are allowed to decay
- Road routing hints (white/white flags) no longer have any effect. (The new routing algorithm uses a variant of this idea to merge roads more intelligently.)
- UpgradeSites now automatically calculate input location and no longer need to be placed in room planner
- MiningSites at outposts now automatically build container outputs without you needing to reboot room planner
- Automatic link placement
- MiningSites will replace their containers with links if above 10 path length from storage (prioritizing farthest)
- UpgradeSites will add a link if above 10 path length from storage if miningSites already have links
- UpgradeSites now have
link
andbattery
properties which request energy independently
- UpgradeSites now have
- Road planning is now done with the RoadPlanner, which is instantiated from a room planner, and provides a much higher degree of automation:
- Added some version migration code in
sandbox.ts
which will reboot the room planner for each colony one at a time to account for the new changes - Hauling directives and overlords for hauling large amounts of resources long distances (e.g. scavenging from abandoned storage)
- Finished coding LogisticsRequestDirectives: these flags act as requestor or provider targets and have a
store
propertyprovider == false
: requests energy to be dropped at a positiionprovider == true
: resources dropped at position or in a tombstone to be collected- These directives are functional, but their automatic placement has been disabled until a future patch while I continue to improve the logistics system performance
- Preliminary contract module for making deals between players
Energetics
module, which will make high-level decisions based on energy distributions- Colonies now have a
lowPowerMode
operational state, which scales back production of miners and transporters at RCL8 with full storage/terminal
- Colonies now have a
- New version updater system alerts you when a new release of Overmind is available
- Currently only available on shard2; shard1 and shard0 support coming soon
Changed
- Transporters now use a single-sided greedy selection at RCL<4, since stable matching only works well when the transporter carry is a significant fraction of the logisticsRequest target's capacity
- Workers and queens include tombstones in their recharge target list
Task.creep
once again points to aZerg
object rather than aCreep
object (Tasks are still hosted on creep prototypes, however)TaskRepair
will now attempt to move to within range 2 if repairing a road; this should fix the move-stop-repair-move-stop-repair behavior of workers repairing remote roads- TerminalNetwork now sends excess energy to room with least energy rather than non-full room with least send cost overhead
- More upgraders spawn when room is at very high energy capacity
- Changed how
colony.dropoffLinks
is computed - Disabled stack tracing for all logging except errors; removed some annoying alerts ("transporter chooses request with 0 amount!")
Removed
- Deprecated
TaskDeposit
; useTaskTransfer
instead TaskWithdrawResource
has replacedTaskWithdraw
- Removed the source for
Overmind.ts
and replaced it with an obfuscated, pre-compiledOvermind_obfuscated.js
- This is in preparation for implementing behavioral locks which will make Overmind more fair to new players
- See the header in
Overmind_obfuscated.js
for more details
- See the header in
- This is in preparation for implementing behavioral locks which will make Overmind more fair to new players
Fixed
- Bugfixes with
TaskDrop
,TaskGoTo
,TaskGoToRoom
- Even more bugfixes with
TaskDrop
- Fixed bug (hopefully) with creeps not approaching to range 1 in
TaskAttack
andTaskHeal
- Fixed bugs where claimers and reservers would get stuck trying to sign a room that was perma-signed by Screeps as a future newbie zone
- Fixed a bug where upgradeSites could misidentify their input in some pathological room layouts