Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Multi Shard #157

Open
8 tasks
TheRealMaxion opened this issue Oct 20, 2017 · 1 comment
Open
8 tasks

[feature] Multi Shard #157

TheRealMaxion opened this issue Oct 20, 2017 · 1 comment

Comments

@TheRealMaxion
Copy link
Contributor

There are a lot of things to implement for the support of the code being multi-shard ready.
Some include the following, feel free to create separate issues for subpoints and check them off as they are completed, linking to them from the list here also helps:

  • Transfer creep memory through interShardSegment when traveling through shard portals
  • Pathfinding/targeting to/after shard portals
  • Respawn check needs to consider whether we are on multiple shards, and not just respawn when we look defeated on one shard
  • Adjusting CPU limit allocation between shards
  • Expanding from one shard to another
  • Supporting one shard with civilian creeps/resources from another
  • Attacking/defending on one shard with creeps from another
  • Market arbitrage between shards
@tedivm
Copy link
Contributor

tedivm commented Oct 21, 2017

One way to approach this-

  • Add the ability for one shard to launch programs on another.
  • Add the ability to spawn creeps on other shards and transfer them over. On the spawning shard they won't even need the creep memory, just the shard to send it to.
  • Elect a "leader" shard (the one with the most claimed rooms, using the lowest shard id in case of a tie) responsible for delegating cpu to each shard.
  • Give each shard a minimum of X cpu (say, 6) and divide the rest by percentage of claimed rooms on that shard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants