bonzaiferroni / Traveler

Traveler - A general movement solution for Screeps.com
GNU General Public License v3.0
116 stars 38 forks source link

Add room-level granularity to [structure|creep]MatrixTick #23

Open mnuck opened 5 years ago

mnuck commented 5 years ago

The current shard-level cache invalidation strategy fails when multiple rooms need a matrix recalculated. The first room to need a new matrix gets one, but subsequent rooms that need a new matrix in the same tick are stuck with a cached result that should be invalidated but won't be, because all rooms are sharing the same invalidation variable. This change gives each room its own cache invalidation variable.

bonzaiferroni commented 4 years ago

Hey, it's been long enough since I played and worked on this code that I can't give a useful review. I still appreciate the interest!