Claming new room
Requirements[edit | edit source]
If you have claimed fewer rooms than your Global Control Level (GCL) allows, you can claim another one.
Simple overview of how to claim a new room[edit | edit source]
To claim a new room, you need to do 6(7) things:
- send a creep with at least one CLAIM body part to an unowned room
- have this creep successfully perform the .claimController() action
- place a spawn construction site
- bring builders from at least one of the rooms you already own
- build the spawn
- keep the controller from downgrading and losing a Room Control Level (RCL)
Optional (quite often required)
- Defend the new room from invaders / other Players
Things to think about[edit | edit source]
Before considering claiming a new room:[edit | edit source]
Claiming a new room comes with some cost:
- spawn time required to spawn builders
- energy cost of builders
- possible initial energy load of builder (if you're not sending them empty)
- possible need of sending combat creeps to defend new room
- CPU cost of multiple creeps going on multi-room voyage
- CPU cost of some extra creeps building new room
- fully developed rooms require more CPU
Which can be summed up as:
- Do you have enough CPU?
- Do you have a room that can support setting up a new room?
If you're short on CPU (i.e. on shard3) or would need to disable some parts of your code to claim a new room it should be well thought before.
The same applies to the situation when your rooms are attacked or energy-starved.
Things to consider when picking new Room[edit | edit source]
If your empire is healthy, then you need to find a suitable room to claim. These are some things to consider while picking:
- How close/far should the new room be from my base?
- Does the new room have 2 sources? (1 source rooms usually develop more slowly)
- How many potential remotes are available? How many sources do they have (the more the better)?
- Which mineral should the new room have (In general it's best to pick a room with a mineral you don't have yet. In the beginning it's good to have O or H for basic boosts, focusing on X early on is not always the best choice.)
- Does the new room have other players around?
- Are they aggressive?
- Do they have Remote Mining Rooms close to / overlapping with your room?
- Will they want to expand towards you / your new room?
- What's the purpose of the room?
First-time expansion[edit | edit source]
If you have just started the game (or did not expand yet), this is a special situation that adds another 3 questions:
- Do you have code organized in a way that can run multiple rooms?
- In case of a bug or an error in one room, can you still run your other rooms without crashing your code?
- Is your code ready for edge cases that might come with the new room?
Strategies of claiming a new room[edit | edit source]
- Refilling spawn builders by harvesting sources in the new room
- Spawning big spawn builders that carry a lot of energy to the new room
- Spawning small spawn builders that swarm neighbouring rooms' sources for energy
- Sending big hauler creeps to provide energy to build the spawn
- Protecting the spawn construction site with rampart(s) or walls
- Protecting the controller from .attackController() actions of other players using rampart(s)/wall(s)
- Creating a path with PathFinder.search() between your owned Room and the new room and storing it for later use by creeps to save CPU
After claiming the new room[edit | edit source]
In theory, you should already have code that can support this room on its own, but you can still help it develop by
- sending big hauler creeps with energy (and recycling them for more energy)
- sending big upgrading / mining / building creeps and renewing them, to provide the room with creeps that would not be available to it because of its lack of extensions
- ensuring its protection with combat creeps sent from more developed rooms