Difference between revisions of "Claming new room"

From Screeps Wiki
Jump to navigation Jump to search
m
(Spelling, grammar, wording, links)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
=== Requirements ===
 
=== Requirements ===
If You have claimed less rooms than your [https://docs.screeps.com/control.html#Global-Control-Level Global Control Level] (GCL)You can claim another one.
+
If you have claimed fewer rooms than your [https://docs.screeps.com/control.html#Global-Control-Level Global Control Level] (GCL) allows, you can claim another one.
   
=== Simple overview how to claim new Room ===
+
=== Simple overview of how to claim a new room ===
To claim new room You need to do 6(7) things:
+
To claim a new room, you need to do 6(7) things:
   
* send a creep with CLAIM body part to not owned room
+
* send a creep with at least one CLAIM body part to an unowned room
* have said creep successfully perform [https://docs.screeps.com/api/#Creep.claimController .claimController()] action
+
* have this creep successfully perform the [https://docs.screeps.com/api/#Creep.claimController .claimController()] action
* put construction site of Spawn
+
* place a spawn construction site
* bring builders from already-owned rooms
+
* bring builders from at least one of the rooms you already own
* build Spawn
+
* build the spawn
* keep Controller from Downgrade and loosing [https://docs.screeps.com/control.html#Room-Controller-Level Room Control Level] (RCL)
+
* keep the controller from downgrading and losing a [https://docs.screeps.com/control.html#Room-Controller-Level Room Control Level] (RCL)
   
 
Optional (quite often required)
 
Optional (quite often required)
   
* Defend new room from Invaders / other Players
+
* Defend the new room from invaders / other Players
   
 
=== Things to think about ===
 
=== Things to think about ===
   
===== Before considering claiming a new Room: =====
+
===== Before considering claiming a new room: =====
Claiming new room comes with some cost:
+
Claiming a new room comes with some cost:
   
* Spawn Time required to spawn builders
+
* spawn time required to spawn builders
* Energy cost of builders
+
* energy cost of builders
* possible initial energy load of builder (if You're not sending them empty)
+
* possible initial energy load of builder (if you're not sending them empty)
 
* possible need of sending combat creeps to defend new room
 
* possible need of sending combat creeps to defend new room
 
* CPU cost of multiple creeps going on multi-room voyage
 
* CPU cost of multiple creeps going on multi-room voyage
 
* CPU cost of some extra creeps building new room
 
* CPU cost of some extra creeps building new room
  +
* fully developed rooms require more CPU
   
 
'''Which can be summed up as:'''
 
'''Which can be summed up as:'''
* do You have enough CPU
+
* Do you have enough CPU?
* do You have a room that can support setting up a new room
+
* 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.
+
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.
   
Same for situation when Your rooms are attacked or energy-starved.
+
The same applies to the situation when your rooms are attacked or energy-starved.
   
 
===== Things to consider when picking new Room =====
 
===== Things to consider when picking new Room =====
If Your empire is healthy then You need to find suitable room to claim, and this are some things to consider while picking room:
+
If your empire is healthy, then you need to find a suitable room to claim. These are some things to consider while picking:
   
* how far/close i want the new room to be from my base
+
* How close/far should the new room be from my base?
* does new room have 2 sources'' (1 source rooms tend to develop slower)''
+
* Does the new room have 2 sources''? (1 source rooms usually develop more slowly)''
* how many potential remotes are available, how many sources they have ''(the more the better)''
+
* How many potential [[Remote Harvesting|remotes]] are available? How many sources do they have ''(the more the better)?''
* what mineral does new room should have ''(in general it's best to pick room with mineral You don't have, early on it's good to have an O or H for basic Boosts, focusing X early is not always best choice)''
+
* 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 new room has other players around
+
* Does the new room have other players around?
** are they aggressive
+
** Are they aggressive?
** do they have Remote Mining Rooms close/overlapping with Your room
+
** 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
+
* What's the purpose of the room?
** access to PowerBanks or Deposits
 
  +
** access to [https://docs.screeps.com/power.html PowerBanks] or [https://docs.screeps.com/resources.html#Commodities Deposits]
 
** access to highway in general
 
** access to highway in general
 
** control of area
 
** control of area
   
 
===== First-time expansion =====
 
===== First-time expansion =====
If You have just started game (or did not expand yet) it's a special situation, that adds another 3 questions:
+
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 2 (or more) rooms
+
* Do you have code organized in a way that can run multiple rooms?
* in case of bug or error in one room, can You still not crash Your whole empire with it
+
* 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 some edge-cases that might come with new room
+
* Is your code ready for edge cases that might come with the new room?
   
=== Claim new Room concepts ===
+
=== Strategies of claiming a new room ===
   
* Refilling builders by harvesting sources in claimed room
+
* Refilling spawn builders by harvesting sources in the new room
* Spawning big builders that carry lot of energy to new room
+
* Spawning big spawn builders that carry a lot of energy to the new room
* Spawning small builders that swarm neighbor rooms sources for energy
+
* Spawning small spawn builders that swarm neighbouring rooms' sources for energy
* Sending big hauler creeps to provide energy to build
+
* Sending big hauler creeps to provide energy to build the spawn
* Protecting Spawn construction site with Rampart or Walls
+
* Protecting the spawn construction site with rampart(s) or walls
* Creating path with [https://docs.screeps.com/api/#PathFinder.search PathFinder.search] and storing it for creeps to use to save on CPU
+
* Protecting the controller from [https://docs.screeps.com/api/#Creep.attackController .attackController()] actions of other players using rampart(s)/wall(s)
  +
* Creating a path with [https://docs.screeps.com/api/#PathFinder.search PathFinder.search()] between your owned Room and the new room and storing it for later use by creeps to save CPU
   
=== After claiming new Room ===
+
=== After claiming the new room ===
In theory You should already have code that can support this room on its own but You can still help it develop by
+
In theory, you should already have code that can support this room on its own, but you can still help it develop by
   
* Send big hauler creeps with energy (and recycle them for more energy)
+
* sending big hauler creeps with energy (and recycling them for more energy)
* Send big upgrade / mining / building creeps and renew them, to provide room with creeps that would not be available to it by default
+
* 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
* ensure its protection with Combat Creeps sent from more developed rooms
+
* ensuring its protection with combat creeps sent from more developed rooms

Latest revision as of 22:53, 6 January 2021

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