New structure: "Conveyor Belt."
-
Idea for a new structure that can be used to facilitate store to store material transfers without the need for a non moving, interstitial creep to do the actual transporting.
The structure would be non-obstructing and stackable, allowing the structure it sits on to transfer it's store in small amounts (Certainly no more than a non-boosted creep.) in one tick to a neighboring structure with a store.
The Conveyor Belt would look like a square track that goes around the building. One structure, the one at 0 distance from the belt, would be the implied first store, and any store at distance 1 would be the parameter. As such: belt.transfer(p_spawn,'power',1000); would transfer 1000 power to a neighboring powerSpawn, and: belt.withdraw(room.terminal,resource,qty); would withdraw 1000 of a resource form the neighboring terminal. The belt itself would have to be on a tile with an appropriate structure, like a storage.
Basically, it's a glorified non-moving transfer creep that only needs 1 tick to move material instead of 2. The advantages are: It's permanent. It declutters the base core allowing other creeps to approach the central store structure more easily. It saves CPU and ticks by halving the overhead of the transfers..
-
Most conveyor proposals would kill the processor but you've got something that works, it's intent balanced.
Some considerations:
- Make them decay so that they require energy upkeep. Don't make it obviously more energy efficient to use belts, only different.
- Allow them to also drop resources in a direction and use resources under them. Then it'd be possible to convey a resource without it decaying across a chain of belts.
The belts vs bots works great in Factorio. It might add richness to Screeps as well. Especially if they create a visual artifacts in the map view.
Something like this could easily be mocked up as custom structure on a private server. The difficulty is people would have to build code take advantage of it, (in my case it would enable some interesting base designs), so it might see little adoption until it got accepted into the core Game.
-
This could also be done as a powerCreep power: OPERATE_STORE (Not to be confused with OPERATE_STORAGE.)
The effect grants the store the power to use the store.withdraw() and store.deposit() methods on adjacent stores. Duration: 1000 ticks, Cooldown: 300 ticks. Max transfer: 200,400,800,1600,3200 Cost: 20 ops.
The visual effect would have ramps that sprout out of the building.
This limits the scope to 3 per room, and if used in conjunction with OPERATE_STORAGE would completely max a level 5 ops generation capability (100 + 20 + 20 + 20) in the creation of a really impressive Vault / mass processing room, or as a level 3 secondary power that can handle a link in one shot.
-
Alternatively this could also be a creep feature to transfer something from one storage to another without putting it in it's own cargo for a tick.
The max amount of transfered material could still be the current free cargo of the creep for balancing reasons