Workflow tips and prioritization for new players?



  • Hi @eiskalt, thanks for your response.

    Using flags sounds like a great way to get started quickly with basic automation. Thanks for the tip about using a flag as the centre/reference point. I could see how this would develop quite naturally into placing the flag prgrammtically based on certain conditions. I'll keep your words in mind regarding mineral mining too.

    I'm going to have to figure out something along the lines of a state machine or similar. At the moment, my creeps are pretty basic. I've just been writing a ton of short creep methods and composing various roles with them. The roles mostly just have a couple of states in creep memory - similar to the tutorial.

    Hopefully I can avoid loading my creeps up with too much state. Can see myself writing a lot of bugs if my creeps get too ‘clever’. But the state will have to be managed somewhere...will see.



  • Hi @deft-code thanks a lot for your in-depth response. I appreciate it.

    In short, I’m thinking much differently about my little codebase now. The amount of detail you’ve gone into is helpful and makes a lot of sense. Your comments especially around remote mining are a bit of a game changer for me right now. I’ve been spending a lot of time optimizing from RCL 1-3 so I’m glad to have this pointed out to me early on.

    All of that effort tuning my rooms was wasted as soon as I got remote mining up. Even the sloppiest implementation of remote mining will be energy positive.

    It seems so obvious when you put it that way!

    Thanks again. There are a ton of tips in your post (will certainly be refactoring my creep methods to take an ID) and lot to think about moving forward.



  • My bot was always fully automated and I never saw any use for flags, I just use Memory. Its first version only built 5 extensions close to the spawn, mined and upgraded the controller. I'm GCL 35 now and I never did remote mining, nor I intend to. This reduces complexity a lot and you never need to worry about CPU. I highly recommend that you join the next edition of the bot arena. It doesn't matter if your bot doesn't do much and doesn't last long. It's a nice way to benchmark it against other automated bots and get a lot of insights in a short amount of time. Also, you'll see how much headache and inefficiency fighting for remotes adds. One thing I regret is spending too much time with only one owned room, because I had no subscription and didn't want to run into CPU problems. I ended up with some code that was hard to adapt to multiple rooms. One last recommendation is to use sim room to test what you can (speciality auto layout) and a local private server for the rest. In the sim room, you can easily edit the terrain and instantly see how your layout adapts, using room visuals. The private server is not as convenient, but you can directly change the database to create the scenarios you want to test and save a snapshot, by simply copying a file. I don't see a benefit in having it running at all times, so I start it, test what I want, stop it, debug my code, restore snapshot, and repeat.



  • @eduter your rooms are really simple. How much CPU does it take to run all 35 rooms like that?



  • @deft-code I don't track CPU usage, but watching the CPU indicator in the UI for a while, I think my average must be between 80 and 90.



  • @eduter said in Workflow tips and prioritization for new players?:

    I'm GCL 35 now and I never did remote mining, nor I intend to.

    I did not have remotes until GCL7-ish. But adding remotes has significantly improved my economy. The difference was night-and-day, even considering my remote logic is not that fancy -- just a miner+hauler per every source, having hauler shuttle back and forth between its designated source and storage. In all honesty, I wouldn't want to go back to remote-less logic.



  • @orlet looking at your stats for the last 7 days, you've been making ~334K Control Points / GCL / day, while I'm making ~371K. So, I'm making ~11% more than you per GCL, without remotes. Maybe you're focusing on things other than GCL, I don't know. I like to pick one metric and optimize for it. The metric I picked is control points / room used. This way, my bot has a relatively low footprint, so it doesn't become a bad neighbor. Conflicts are expensive.



  • @eduter It doesn't make sense to limit yourself by not using surrounding resources, especially if you have cpu to spare. I think bot arena is valuable advice. However I think processing as many resources as your cpu will allow is the best route to growth. I would be interested if your solution improves as your GCL goes up. It may be that having as many rooms as possible is the most efficient solution so at some point neglecting remotes may be a suitable sacrifice.



  • @eduter I only have 12 rooms, and 11 out of those are at RCL8, so effectively capped at 15e/tick. There's no much way to get past that outside of boosting, and I don't boost RCL8 rooms, it's too expensive. But compare the energy harvested numbers, and how much I spend on repairs.



  • @orlet said in Workflow tips and prioritization for new players?:

    @eduter I only have 12 rooms, and 11 out of those are at RCL8, so effectively capped at 15e/tick. There's no much way to get past that outside of boosting, and I don't boost RCL8 rooms, it's too expensive.

    33 of my rooms are RCL 8 and I don't use boosting either, I just transfer energy to an RCL 6-7 room. I get an average of 16 CP/ tick / room.

    But compare the energy harvested numbers, and how much I spend on repairs.

    You're using more rooms than I am and harvesting more energy than me and yet, you only get around 1/3 of the control points I get. From my perspective (from how I decided to play Screeps), that's just inefficient. But we're clearly playing in very different ways and with different goals.

    My point was only that, for someone creating a fully automated bot, starting from scratch, I wouldn't recommend prioritizing remote mining. They may complicate things and you can do well without them for a long time. Harvesting and hauling is trivial, but automating the defense of remotes and, more specifically, the decision of when to give up on a remote, is a complex problem. The best fully automated bots I've seen, struggle with that.



  • @slowmotionghost said in Workflow tips and prioritization for new players?:

    I think processing as many resources as your cpu will allow is the best route to growth.

    To grow as fast as possible, absolutely. I went for simplicity and low maintenance.

    I would be interested if your solution improves as your GCL goes up. It may be that having as many rooms as possible is the most efficient solution so at some point neglecting remotes may be a suitable sacrifice.

    Based on my current CPU usage and the assumption that it would scale linearly on the number of rooms, if I had GCL 115 and managed to claim 115 2-sourced rooms, I would be the 1st in the expansion rank. It would take ages for that to happen, though.



  • @eduter Good things come to those who wait



  • @orlet

    @orlet said in Workflow tips and prioritization for new players?:

    so effectively capped at 15e/tick. There's no much way to get past that outside of boosting

    Why don't you make a prayer room?



  • I have only 18 rooms w/ remotes. I boost my upgraders as much as possible and I'm generally overloaded with energy. I think my rooms are more GCL / room efficient than either orlet or eduter. But I don't know if my CPU can scale up to my full GCL.

    I think eduter might be on to something: at huge GCL numbers remotes are less cpu efficient than claimed rooms. However, I'd wager that Temple Rooms are far more efficient than self sufficient claimed rooms.

    Which means I need to do 1 of 4 things to be a good citizen (e.g. don't hog rooms I don't need).

    • build a temple room
    • start processing power
    • drop some remotes
    • become a warlord and use the extra energy and CPU to cut YP in half from west to east(1).

    (1) OK, not really. Overlords has a NAP with YP. Someday I'll get bored and either leave the alliance or get the NAP dissolved.



  • @deft-code said in Workflow tips and prioritization for new players?:

    I think eduter might be on to something: at huge GCL numbers remotes are less cpu efficient than claimed rooms. However, I'd wager that Temple Rooms are far more efficient than self sufficient claimed rooms.

    Eduter is only focusing on a single aspect of the game, increasing their GCL. I've looked at his rooms and they have almost no defense. I would also wager their military code is extremely lacking. I'm sure their praising code is probably pretty good though.

    Remotes are needed to increase the capabilities of a room, be that praising, defending/attacking, and processing power or minerals. They are a vital part to experience everything the game has to offer. Focusing on one aspect and eschewing the rest is not usually a good thing in a sandbox style game.



  • @slowmotionghost it's on the todo list, but right now I don't have the GCL to throw around willy-nilly. I'd rather have a full-fledged proper room. Right now my priorities are more at developing my code functionality rather than farming GCL.