Moving the boosting mechanic into the spawning mechanic
@mrfaul Doing it right is a challenge. Everyone can code a transporter creep that puts it in labs, and some code to boost a creep. But optimizing it can be a real challenge. But i can assume that you can hold attacks for days without any problems, fully automated?
Everyone can code a transporter creep that puts it in labs, and some code to boost a creep.
That is exactly the problem that I'm pointing out, the lab requirement.
Boosting should not be bound to the lab since it is a refinement facility.
Have you ever heard of someone who is driving his car to the tire manufacture to get new tires fitted?
The spawn is the instants that handles creeps and it is inconsistent that it doesn't handle boosting.
@mrfaul I think it makes sense.. But i was talking about this: "The problem with boosts is that the current mechanic is complex but not really a challenge." please show me your rooms where you have nailed the entire boosting process, if not you still have some challenges to solve
@gimmecookies ^^ sure you can optimize things to death in this game but if you are at this level you are definitely not a intermediate player anymore.
I worry about the people who struggle simply keeping their colony alive while they still learning the games nuances.
Not giving them the same tools to defend them self as the ones attacking them is frustrating, just knowing to have the same options gives hope.
Unlike the mindset "I will always be beaten by that"
Alright. Let's say they do it like you proposed. What's next? Limiting YOUR energy cap to reflect your neightbours? I also don't understand how it will solve the problem you are sketching.. Yes a player can boost with lower RCL, but you are still limited with bodypart count (i.e your boosts are useless)
Boosting at low levels can accelerate your development much more that at high level.
Using boosts with small screeps gives you very high returns if you are not able to build bigger ones.
Just boosting move t1 allows you to build bigger creeps otherwise not possible with the limited space for energy.
And this change is mainly intended to balance a bit the tremendous power gap between RCL levels.
And energy doesn't need a cap it has already one 5~20E/tick per normal room.
Also by allowing less creeps to do more work the server load also may improve,
and don't come with BS arguments like "that is a insignificant improvement" every improvement counts regardless of how big it is.
That should be especially be true for the people playing this very game...
Tigga last edited by
I don't think it's neccesarily to improve low RCL rooms even if you're right regarding boosts (which I'm not sure you are). Low RCL room survival comes from assistance by high RCL rooms and safe modes.
Unless we're talking shortly after respawn, in which case IMO that's a much too narrow window for such a sigificant change and you're not going to have boosts anyway.
wtfrank last edited by
It is a breaking change. (but that probably will root out a lot of inactive players and NCPs)
Rooting out a lot of inactive players is a terrible idea and doesn't mitigate a breaking change. Ideally their code will carry on running so that if/when they pop back into the game they still have some skin in it and don't have to start again. Having to start again from scratch will make some returning players completely switch off.
@wtfrank It is a side effect not a intention to do so, also If they are turned off by loosing their colony for not tending to it I really couldn't care less.
I think that boosting with the lab is inconsistent also annoying since you have to micromanage their contents.
Boosting in low RCLs allows to build fairly sturdy and useful outpost without the need to pump it up to full RCL8 if you are able to secure a supply route.
This opens up a lot of new Gameplay opportunities and IMO it is worth it.
wtfrank last edited by wtfrank
I really couldn't care less.
I care, because an important part of the survival of any online game is player retention. In games with RPG/progress mechanics, if you carelessly destroy people's progress, you lose players.
This should be obvious and should not need to be spelt out.
Well yeah, but isn't that what GCL and GPL supposed to be?
aka: https://docs.screeps.com/respawn.html ?
Xenofix last edited by
Nontheless, we've had a breaking change with
RoomPositionbefore. So a nonbreaking change would be, that a spawn can boost creeps and labs also can boost creeps.
Smokeman last edited by
The majority of the difficulty in Screeps is the logistics. Structures that store materials in any quantities cannot beam resources to other structures that perform work with those resources. You must manage that with a network of interstitial elements (creeps) that have carry, movement, and CPU cost limitations. This also introduces the concept of managing an asynchronous system, you must move the creep to the source, load the creep, move the creep to the destination, unload the creep as individual atoms of code that cannot operate as consecutive calls in a single function. .
Conversely, throwing a store on the spawns with enough capacity to store enough boosts to be effective will also trivialize the learning curve as the spawn would just become a level 1 storage. This would also trivialize the body size constraints creeps face with low level rooms.
Boosting, in my opinion, needs some help, but that has nothing to do with spawns. The wall of difficulty that is labs + terminal + market all at once needs some help, but that has nothing to do with spawns either.
I do not intend to throw a "secondary" store on the spawn/extensions, it has to share available space with the energy like the CARRY part.
And I think this makes logistic much more complex at lower RCL.
Saruss last edited by
@xenofix I had 1.6 MB of code when the RoomPosition change came, and i didn´t need to change one line because of it. All worked as before. I would not call that a breaking change. So switching boosting to Spawn would be a different thing, I totally agree with @Smokeman that changing boosting with labs would only make screeps "more boring" by making the logistics simpler.
wtfrank last edited by
it was a breaking change because it now validates the values you put into the x/y coordinates, whereas before it would accept anything. Code that worked before no longer works. Thus breaking change.
You can argue that you should never put an invalid value into a RoomPosition, nonetheless, some people have been doing this for various reasons (e.g. find the space to the left of the current space by reducing pos.x by 1, then check afterwards if it's < 0).
It's broken several people's code.
Saruss last edited by
Doing Things not intended can break Code ofc. Like that memory hack for not destringify memory that i use, too. But i would not call a change breaking, cause its clear its not the documented use case.
Xenofix last edited by
Ok, I agree that boosting by spawns would make the game more simple. I just wanted to take away the "breaking change" argument against MrFauls idea.
The memory hack is different. If something is changed there, then it's ok to break code, because
RawMemory._parsedis not documented.
But RoomPosition was documented and everyone works with it. It was expected to be an intermediate class to work with, with simple fields, not checked properties. Such an object should not be packed, cpu is more important here. So this change was very unexpected.
The point is, this was just an example that breaking changes seem to be acceptable if not all players will be affected. And again, if labs are still working, then MrFauls idea wouldn't be a breaking change.
The argument of Smokeman was, that logistics is difficult and boosting would be too simple with this change. And while I kind of agree with this, I'm not sure if boosting should be so difficult. Yes, everyone who masters logistics doesn't want to loose their advantage, but the difficulty for new players is already raising with power creeps and regional resources. Maybe we should consider some ideas to decrease this difficulty.
Leaving aside the comments on breaking changes, I disagree on the concept of this idea.
A player can use 3 labs from RCL 6, which means with the simplest of manual market interaction, a player can be making and applying T1 boosts as they also gain access to the extractor at this RCL.
If the spawn applied boosts, how would it work? Does the player need to remove the boost they have made from a lab, and move it into a spawn? The spawning method then gains a new parameter stating how much boost should be used? This sounds like more complexity, not less.
- What interaction would this have with renewing creeps? How would I be able to spawn (say) an attack force, have them all renew to the same TTL, and then boost?
- This will add more complexity regarding spawn locations, as a creep will need to be spawned in a spawn that has the correct boosts.
- How many boosts, and how much of each can a spawn store? A creep can be using many types of boost at once, after all.
Even if I agreed with your idea, it is insufficiently detailed.
As mentioned my idea means shared storage space, not different "containers" for each one, this makes balancing your spawn storage much more engaging.
But I agree it may be a good idea to leave boosting to be a separate function with the benefit of boosting all available minerals with one operation.
Also I really dislike the term "breaking change" it is normal for games to reevaluate its rules to adapt to new situations.(And so should its players)
I really don't get the fuss about API changes it shows only that the game is cared for.
The mineral mechanic was introduced as "higher lvl" experience but that isn't so much important now with the rise of PCs
The entire intention behind this change is to make the game more consistent (aka: Spawn handles all Creep related stuff, Lab does stuff with minerals)
and accessible for new and upcoming players.
Simplifying a bit the rules also makes things more complex there is a reason why Go took a cutting edge AI.