Discussion: long-range logistics revamp

  • @gadjung said in Discussion: long-range logistics revamp:

    Won't the limit on .send and .deal negatively influence market in itself by making ppl selling/buying less stuff due to desire to preserve bucket ?

    I guess it might promote usage of compacted minerals but still it might impact market

    50/tick is a lot. You can trade bars, batteries and boosts. Seems fine to me.

  • Currently my market rooms do about 2000 auto on buying for incoming per tick and deal with a queue to purchase stuff so that's not too bad.

    However, buying energy or bulk orders does tend to go anywhere of the tens of thousands to higher depending on what the other players do deal with, so can see a room auto-buying something depleting its bucket and/or needing to manage its auto-buying better when purchasing bulk orders (ex: buy power/collect power, need to plan to over-buy energy for x ticks to insure 'minimums' are kept, repairing walls, praise rooms needing a cycle to restock)

    I already use PWR_OP_TERM to reduce eng costs in my market rooms so really it just changes my auto-buy logic from sell orders from 2k to 1k per tick if I don't want to incur using more of the 'bucket' (I presume)

    Does this make terminal-based spamming attacks more effective though? since your actively using up your opponents 'total capacity' while your sending is not capped, their receiving is, spam enough and they couldn't buy enough on that terminal?

  • A bit more thoughts on "design" of warp containers. I think a lot of people have put a lot of care and attention into harvesting systems using haulers and harvesters. I think warp-containers as specified would make all this code redundent overnight. I also quite like the aesthetic of tendrils going out from a base with creeps heading how to do remote hauling.

    With that said I think they should be positioned as follows:

    1. Given infinite CPU, they're worse than haulers+harvesters. Right now (especially with 3 per room) they're not. They might be better even with infinite CPU. Haulers cost a lot of CPU just on move intents, so freeing up all this CPU and saving energy seems over the top. Oh, and saving spawn time. And road maintainance.

    2. Even in limited CPU environments (eg. regular <28 GCL play on shards 0-2) there should be a choice. Either the cost or throughput (or both) of the warp containers needs to be worse than haulers. At this point you should be trading CPU/spawn time for energy efficiency.

    3. But in some rooms they should be really neat. Avoiding nasty swamps/tunnels. Finding two sources close together that can share a single warp container and reduce maintainance. That sort of thing.

    4. Throughput should probably be closer to links. So 5-10x lower.

    Obviously these are all pretty hot takes. Will ponder some more. One thing that does occur to me is that these do favour those of us with lots of spare room. All those CPU/spawn time savings would let me harvest a lot more rooms.


  • @donatzor said in Discussion: long-range logistics revamp:

    Does this make terminal-based spamming attacks more effective though? since your actively using up your opponents 'total capacity' while your sending is not capped, their receiving is, spam enough and they couldn't buy enough on that terminal?

    That is a good point. Might be a bit easy to shut down a terminal. Just spam it with minerals and starve them of energy when attacking.


  • Dev Team

    @tigga Yeah, good point. But, spamming terminals must be closer to the attacked terminal than supplying terminals because closer transactions take priority, as usual.

  • @tigga Could just auto-deny transactions from the player w/ creeps in your room attacking you but then I guess some one else (alliance member, ect) could still spam and/or you could start depleting their bucket before you attacked, so there'd have to be some way to detect the incoming spam and stop/adjust it like shutting off the terminal, or rejecting incoming trades from xyz room or player.

  • @o4kapuk If your in range to attack, you'd be in range to have fairly high priority on the spam wouldn't you? Unless your energy supplier from the buy order is much closer and/or you have an arrangement w/ a neighbor I guess.

  • I'm not sure there's a simple "fix". Best I can think of is a way to "reject" something sent via "send". I don't really know what that would look like. Maybe a blacklist of usernames? Maybe it's not a problem that need fixing.

  • Dev Team

    @tigga a simple fix could be prioritizing deal transactions and intra-player send transactions over other transactions. Not a complete fix, however, but at least something. If this is a problem to be fixed (I'm not sure about it either)

  • @o4kapuk said in Discussion: long-range logistics revamp:

    @tigga a simple fix could be prioritizing deal transactions and intra-player send transactions over other transactions. Not a complete fix, however, but at least something. If this is a problem to be fixed (I'm not sure about it either)

    It'd give you 50/tick, which may be good enough, but it'd kill your "bucket".

  • Dev Team

    @tigga this is exactly why I said 'not a complete fix' 🙂

  • How this does not classify as "breaking" I do not understand... This will pretty much break everyone's market and resource balancing code and on top of that potentially obsolete everyone's hard worked remote harvesting system. There is still so much for me to work on, I do not appreciate having to fully revisit something I have nailed fairly well.

    I enjoy seeing as many screeps moving about as possible, I rather see less teleporting, not more. Teleporting removes geostrategic gameplay and removes logistics which is otherwise super important in warfare.

    Just disable the terminal entirely when hostile creeps are in the room (or similar to 'safe mode' create a 'siege mode') and force logistics on the defender side to try and supply the room.. with haulers. Very common with sieges throughout history.

    No repairs with hostile creeps in room could work also forcing the defender to leave the ramparts and try clear the room.


  • Might be a bit different from what is originally proposed, but I think a warp container can be like this:

    • Limited to 1 per room.
    • Each provides 500 capacity.
    • If two warp containers are in rooms next to each other, they are in the same part of network. Their capacity adds up, and they share content. Total capacity cannot exceed for example 4000. This allows creation of huge network if you can defend. If previously disconnected networks are now connected, the content is added and merged in the new network. If previously connected network is broken up, content is divided evenly into subnetworks.
    • Cooldown between withdrawing is fixed to 10 seconds, just like the send cooldown for terminals.

    All numbers / functions are suggestions and can be changed.

    This container will not replace containers or links at all, and throughput is much lower than terminal because of its limited capacity and cooldown when withdrawing, but helps for remotes and when terminals are blocked.

  • @cookies I see some problems with solution that you suggested. The main is warp containers are neutral thus anyone can connect to your network and steal resources. Maybe if warp containers were owned it could fix that. 1 per room, owned and you gotta defent it.

    The second is cooldown should be triggered by sending to another warp container and not by creep withdrawing from it. Also can't imagine how capacities can add up. If container "merges" (shares) with near room warp containers, that containers can't be shared simultaneously for their neignbour rooms.

  • OPERATE_POWER will become useless


  • I like the novel approach to warp container upkeep. If the repair route was more energy efficient it would create a more interesting tradeoff.

    I think warp container upkeep is a bit too cheap (as others have pointed out). I suggest an upkeep cost of 3 energy per tick.

    A sketch of the costs of offroad remote mining to use as a baseline:

    • ignore reserver and drop miner costs since they don't change.
    • .5 energy / tick for container upkeep (not 1 as stated elsewhere).
    • 1.66 energy / tick for a 25C25M hauler up to 60 tiles travel

    The upkeep of 2 warp containers must cost more than 2.16. I'd double the upkeep to be absolutely sure hauler remote mining is more efficient. So 2.16 energy per tick for each one, but round up to 2.5 or 3.

    Keep the energyless decay where it is (needs 1 energy / tick of repair). Then players can juggle resources and repair the container spending more intents but improving energy efficiency.

    It might make sense to keep the upkeep costs low for Claimed rooms to encourage players to incorporate them into base design.


  • One suggestion that came up on slack to benefit networked warp containers without making them too powerful for remoting was to decrease the upkeep significantly in highway rooms.

    @zachiever said in Discussion: long-range logistics revamp:

    OPERATE_POWER will become useless

    The argument being that you can't use more than 50 e/tick in a room due to terminal limits? I guess you have to pair it with OPERATE_TERMINAL in this case, or use creeps/warp containers to move energy in.

  • Hi,

    I dislike these changes, but would like to know the ideas and purpose behind these changes.

    Changing two parts of the game that feel good, terminals and remote harvesting.

    What is the design idea behind these terminal changes? Is the terminal change's purpose in order to nerf terminals while being under siege by players? GCL rooms? Or just upgrading bursting? Or all the above in hopes that we use power more?

    For Terminals instead of creating a new variable 'bucket' that will limit transfers, why can't it just use cooldown. Recieving would add 10 cooldown to terminal, multiple receives would add 10 cooldown. Terminal operate can reduce by 50%. While terminal disable increase cooldown or stop cooldown countdown.

    Warp Containers seem interesting until you said they can be built in non-controlled rooms. These seem like a best solution for remote harvesting with a downside of energy maintenance, making previous solutions obsolete. With the way you decided to balance this through energy maintenance - it'll either be too good or useless due to energy. Or balancing this by not allowing it to catch dropped resources(not a big deal, literally talking about just a creep.transfer as this being balanced/unbalanced?) . This doesn't feel like it will create code diversity, and creating a "single best solution" to remote harvesting.

    By creating warp containers, what's the purpose of links now? Doesn't make links obsolete? Can't we just have operate link that makes it global? A operated link can send to any other link in any room? Or a operated link can receive from any link in any room?

    We were talking about high player sieging/fights in other posts, and I don't think a single player mention terminals as an issue, and yet here we are changing it. Due to changes in terminal you want to balance it out by breaking remote harvesting, something that I think everyone currently enjoys as is.

  • I dislike all changes mentiond on first post, especially the terminal limit looks complete garbage to me.


  • @o4kapuk "a simple fix could be prioritizing deal transactions and intra-player send transactions over other transactions. Not a complete fix, however, but at least something. If this is a problem to be fixed (I'm not sure about it either)"

    Attacking a terminal every tick by overwhelming, the counter you're suggesting is to always send materials to get priority sending.

    But it doesn't fix the problem - where I can send over and over again every tick multiple times to attack the terminal.bucket, while you send what you need. You may get what you need in, but by then I've sent 10,000's of unusable resources.

    This will make it more so I would rather attack the terminal through send than disrupt. One requires power enabling and be inside the room. The other just requires terminals. So creating a 'best' solution.

    I have done this type of attack before and while it's a hugh drain on resources, if the target player isn't active it can be effective. .