Speedrunning design tips and other ideas
3 years ago

I thought I'd share some useful tips here for designing a speedrun. In order to cut down on notifications, I'll periodically edit this post with a timestamp rather than adding message if I come up with new ideas. So do check back if you're interested.

If there are mods or techniques you use, please share!

Console commands below are accessed via using tilde ~ You can learn more about them here - https://wiki.factorio.com/Console

One in particular is really heavily useful, and it's hard to imagine not using it for designing a run and that is the clone tool in /editor.

https://wiki.factorio.com/Map_editor

By using clone, you can copy / paste areas of a map and this allows you to segment your runs when designing the layout and keep it all together one map.

Using the creative mod is good as well as it provides so many useful tools for experimenting and editing. Obviously important to keep in mind what you'll have available for layout at that point in the run. Also, you need to factor in what you'll have in chests / belts / inventory.

This technique works especially well for runs with imported blueprint layouts.

For example, I'm working on rocket rush and I have about 12 copies of the set of ore patches / water I'll be building around. Each has an incremental copy of the blueprint that get applied in sequence in order to be optimal for bots. Without clone, this is near impossible to manage because you are constantly refactoring blueprints early on which can't be done through the blueprint interface.

You can also place different factories on the same map to keep different ideas organized. I use the lab tile over a large swath of chunks to do this.

Creative mode also has useful cheats (icon -> cheats -> team/personal cheats), such as resetting technology and instant research to switch to different phases of the tech tree. Switching between instant blueprint and turning it off when experimenting with bots is useful.

It also has useful loaders (dupe chest + super loader). These can be used when working in reverse from a goal, to get a sense of end run scale of certain speed running puzzles.

Editor extensions is another good mod, and has speed inserters which are useful. In general, I find having all three very useful as they all have different benefits (/editor, CM, editor extensions)

I use /c game.player.zoom=0.1 to zoom out when managing all of this. With all the cloned areas, it can be difficult to manage them on one map unless you use the console zoom out. Strategically placing radar + creative mod electrical energy source (the last tab on crafting when using creative mod) + 1 power pole allows you to use map mode (m) when editing everything.

You still probably also want to use load/save for running segments. Eg, the first 5 minutes can be one run, the next 5 minutes another. Starting over from the beginning can be very time wasteful when you have that segment perfected already.

Another useful technique is /c game.speed=0.5 (or whatever)

Using this to slow down the game when designing a keystroke sequence the first time is helpful. Gradually ramping it up as you perfect your technique works fairly well too.

I've written some lua code here you can paste into the console: https://forums.factorio.com/viewtopic.php?f=25&t=92936&p=527055#p527055

After pasting it, just use /c cost_tech('construction-robotics') or something similar. It will print out info on that tech

It also generates a file called techs.txt in your C:\Users\blazespin\AppData\Roaming\Factorio\script-output directory with a summary of the info. eg:

construction-robotics Total Resources: iron:15142.5 copper:6327.5 coal:525 stone:0 oil:13461.7 steel:350 plastic:1050 sulfur:175 gears:4052.5 coil:9495 greenc:2465 inserter:1415 belts:1415 engines:350 pipes:700 redc:525 Total: (en:604.58333333333) Automation(Red) - 1580 Logistic(Green) - 1415 Chemical(Blue) - 350 Production(Purple) - 0 Utility(Yellow) - 0 Military(Black) - 0

en is lab time in minutes required for the run to that tech. Lab time is calculated as total over each tech ( science * seconds needed for that tech / 60). One lab outputs 1 lab minute per minute.

So, 604 lab minutes requires 604 labs if you do all your research in one minute. Not very efficient, so using the gauss function to calculate your lab requirements is useful here. More info on that in this post: https://forums.factorio.com/viewtopic.php?p=528025#p528025

Read the post for more info, but basically you want to solve LabsPerPeriod x PeriodInMinutes x (N x (N+1)/2) = lab minutes, where labs per period are the number of labs in a set you can ably add in PeriodInMinutes. N is the number of times you'll add a set. The total time of the run is N * PeriodInMinutes.

Wolfram can be useful for this if you don't want to do the algebra. Playing with different values can give you an idea of what you can do.

Similar calculations can be done for other things, such as RCUs / lds / jet fuel.

Obviously, these are all impacted by such things as modules and beacons, but you can average things out there a bit or use a spreadsheet to calculate the sequence.

There are a few useful links to use as well:

gold standard cost per minute calculator: https://kirkmcdonald.github.io/calc.html

cost of a bp in resources: https://burnysc2.github.io/Factorio/Tools/GetMaterialCost/

tech tree https://davemcw.com/factorio/tech-tree/

future stuff:

I'm hoping that wube adds a feature to allow for blueprint clobbering. One of the issues right now with blueprint speedrunning is that pasting incremental blueprints can't replace previous entities.

Eg, splitting off coal. If you're interested in this type of thing, check out this thread and add your interest: https://forums.factorio.com/viewtopic.php?f=6&t=59554 It would be extremely useful, open up pretty much a new category of game play, and theoretically be rather easy to implement. Maybe a tiny bit of a performance hit when you use that mode as it'd have to find and do some logic wherever the entity changes.

jan 2/21 - https://forums.factorio.com/viewtopic.php?f=202&t=93856 Very useful fast hack for balancing ratios. Tips like this are useful as they save large amounts of time.

jan 8/21 - two post bot tips:

incremental blueprints (same blueprint + few more entities) can allow for significantly better production curves. See here - https://forums.factorio.com/viewtopic.php?f=5&t=90012 Also some discussion below

bot travel time is a very significant issue to optimize on. A bot that travels from center of a roboport range to the edge (55 tiles), places 1 entity, and then back travels for a total of 110 tiles. In the same amount of time, that bot could have placed up to 25 entities if placement locations are centered around a logistics chest.

Edited by the author 3 years ago
Germany

How people plan and what tools they use is as individual and subjective as everything in Factorio. I find it very disrespectful to other techniques and even misleading that you present these tools as "the (only) one/the best" solution, including advertising your own. I'd appreciate it if you could at least give the advantages of the tools you list over other tools. I'll do so for what I use below, while giving even more tools that are available.

I personally vastly prefer the map editor and the built-in infinite/creative entities over creative mod due to its better intergration into the vanilla game and improved performance over anything mods can do. Another planning option is the Editor Extensions mod or the vanilla sandbox scenario, and various other creative-mode style mods.

More to the map editor advantages over "creative mod": Tick-perfect time forwarding also via keybinds, instant research and unreasearching techs all within the tech tree, expanded zoom without console commands.

Another option for incremental builds is using the surfaces. The map editor provides keyboard shortcuts to allow to easily switch between them, and you don't have to tax your perfomance by zooming out beyond normal/map editor limits.

Regarding saves for segmented practice, something that is a bit hidden is that you can save in replays - so you can take your PB run, replay it to where you want to start to practice, make a save and play that save from there. For making sure you always have replays on: ctrl + alt + click on "settings" -> "the rest" -> ctrl + F "replay" -> check the "check-enable-replay-checkbox" option (1.1+ only), this will check the enable replay checkbox by default. For mods that aid segmented practice, give this search a go: https://mods.factorio.com/query/speedrun?version=any

For tech calculations, an easy way is to use one of the spreadsheets for techs that is flying around, e.g. the any% cheatsheet linked in https://www.speedrun.com/Factorio/resources. The linked resources also link to other resources, e.g. the "cheat sheet" links to multiple other calculators, including science/lab calculators. There is no need to reinvent the wheel when others already provide very accessible tools :)

For blueprint resource/item calculations I use BlueprintBot (should be familiar from Discord, message it !help to see all the useful commands beyond blueprint rendering) because I can rely on it always being up to date. It breaks down items to the last handcraftable component (e.g. steel or engines) instead of completely down to ore, this can be seen as both an advantage and a disadvantage. It also has some general counting of buildings function which can be useful to compare different setups, like different smelting layouts, by item count.

Some people may no longer consider kirkmcdonald the gold standard calculator (partially due to still being on 1.0 right now), so I want to link https://factoriolab.github.io/ as a possible replacement. Like I said above, more links to caculators can be found in the cheat sheet linked in the resources section. Choice of calculator usually depends on invidiual requirements and uses, so I really recommend to also take a look at the other calculators linked in the cheat sheet and also mods like max rate calculator, factory planner, helmod, and more.

". I find it very disrespectful to other techniques and even misleading that you present these tools as "the (only) one/the best" solutio"

That is a truly trez bizarre interpretation.

Did you miss the "If there are mods or techniques you use, please share!" ? It's, like, a standalone sentence in the second paragraph.

Anyways, you did attempt to share information, which is great for new folks (which, btw, was my actual agenda here), so I'll try to give you the benefit of the doubt beyond that totally wild intro.

/editor is very awesome. It's why I gave it headline attention and linked to the wiki page for it.

And perhaps I need to learn the /editor mode more. I honestly did try to give it a go when I migrated to 1.1 and didn't migrate the CM mod, but there were too many deal breakers I couldn't figure out a way past.

For example, the unsorted tab is more than a bit underwhelming with all the ? icons in the creative tab and a very limited selection.

There are a lot of handy entities in the creative tab of CM mod, not sure what the equivalent in /editor is:

Super substation - like substation, but massive range Super roboport - massive range roboport Super radar - massive range void chest - for dumping off stuff Super loader - for compressing a blue belt

And some others, but those are the ones that I can't really live without.

I couldn't figure out how to get undo to work like in CM which does instant blueprint. Very likely I'm missing something tho. Any hints you can give here would help.

I also find /editor mode a bit jarring without the player character to anchor myself. I keep on having to double check if I have play turned on. Not sure that's a blocker tho.

Having to switch in and out of /editor mode for certain things though is really a bit of a pain, I have to admit. I like how with CM I can configure my reach distance but keep everything else the same. I have used that frequently for testing out certain speedrun / handcrafting builds.

CM has the magic wand, which is handy. I didn't see an equivalent in /editor for that. Seems like I need to switch modes in order to use it in /editor. Again, not a super blocker.

Multiple surfaces is very nice, though not really how I personally like to consume UI. Spatially, my brain finds the everything on one map metaphor of Factorio optimal and pleasant.

Also, I dislike flipping back and forth between things if there is a way to see two or more things side by side. This is likely a matter of taste and preference, however, and it's great that you suggested the option.

I was using editor extensions + creative mod in 1.1. Yes, it's very useful, and also has some even more nice entities similar to creative mod. I don't see how to have the player mode that I get with CM tho. But could be missing something.

Macros spreadsheet is great. I've frequently referenced it in other places. I don't use it, as I don't know how to easily get a total cost summary of a particular tech level. If you can explain how to do that, I'll certainly remember to include those instructions when I talk it up as I've done several times in the past.

Also, I think there is a rather huge lacking is proper time estimation techniques, similar to the cost code and gauss function I discuss above. Given your response, I'm skeptical that you took any serious time to read anything that I wrote, but I hope you will (not particularly optimistic, tho).

I honestly haven't seen a better time estimation technique. I'm very interested in any serious attempts anyone made here, though.

You are however right about the kirkmcdonald calculator, I will give you that. I guess modules changed in 1.1

I'll ping kirk and ask him to update. Should be a minor change.

I looked this list here - https://mods.factorio.com/query/speedrun?version=any

And couldn't find the mod you are referring to? Hint?

Other than that, hope you can see your way to having a more positive outlook towards strangers.

Edited by the author 3 years ago
Germany

I don't think it is useful to tear apart wording of individual sentences. Once you have read my post completely and followed the links, perhaps compare my description of tools and listing of alternatives to your own post listing only one tool for the job and giving no advantages/disadvantages of the tools over others, like I suggest in my first paragraph.

Edited by the author 3 years ago

Uhm, seriously?

Maybe you want to re-read what you wrote at the top there a few times. I am simply stunned by how you could possibly arrive at that conclusion about my goals and motives.

Anyways, I'll post more via edit.

edit: I added some detailed comments above.

One comment, however - you didn't really share any speedrunning design techniques, which is the actual goal of this thread. Is designing speedruns something that you are actively doing? If so, it'd be great to hear your workflow.

That said, your feedback on the tools was nice, so I'll give you a pass there in case running isn't something you're particularly into these days. :)

Edited by the author 3 years ago
Germany

It is not clear to me how the techniques that I described are not speedrun design techniques. They are techniques I've used to plan speedruns, so they are speedrun design techniques. I do have some more info on techniques for planning rough guidelines/general structure of speedruns though:

You can find the gist of how the main MP team does speedrun planning here: https://factorio.com/blog/post/fff-344. From what I can see from a quick glance, Nefrums follows a similar "target time, subtarget times, assembler calc, initial plan, (run, iterate)" technique in this (older) speedrun guide, Nefrums' target time calculations are shown in the spreadsheet linked in the video description. The "any% cheatsheet" by macros that is linked in the resources section shows similar target time calculations for science packs. This technique is also what we used for the botless any% duo plan, modified to have much earlier and more frequent iterations - we already started running and iterating the plan when red&green science builds were set up instead of waiting until we got to the rocket with the planning save layout. I think this is a very individual modification to make, but it worked well with our personal planning strengths.

I think that beyond that, it's mostly experience. (Factorio) speedrunning is a lot like learning a language: You can learn grammar theory and vocabulary all you want, to get a feeling for the language and get really good you have to practice it. So, speedrunning is a lot of practice and iteration of plans. As an example for how much a group of people can iterate a plan, the any% mp run linked in the FFF above was in April. We practiced that run and iterated the plan over and over to get sub 1h in in July.

To sum up, in my personal opinion, the theoretical time estimation techniques presented by you will never get better results than human experts trying and iterating a plan in practice. Theory-focussed time estimation when refined may be useful to improve the initial plan that is iterated on, however I am already satisfied with the quality of my initial plans.

It is also unclear to me why you say you "will give me a pass" on potentially lacking run submissions, considering that you haven't submitted a single speedrun. The outside perspective is not a good position from which to judge speedrun activity. But if you must, you can find my run submissions on my profile as usual.

Edited by the author 3 years ago

"To sum up, in my personal opinion, the theoretical time estimation techniques presented by you will never get better results than human experts trying and iterating a plan in practice"

Yeah, I like to argue by tautologic as well. Beats thinking. Unfortunate though that you totally (intentionally?) misread what I wrote and are trying to argue something I didn't even say.

There's a lot of projected anger here in your comments and I'm just going to skip getting caught up in the drama.

It's very obvious by your ignoring my very valid questions about your statements above, your wild mis-readings, and lack of contributed reasoning and insight, even as refutation, you have zero intention of having a real dialogue.

I recommend that perhaps you reflect on yourself and why you are saying such things or bothering at all. This sort of small mindedness can really eat away at a person.

Thanks for the link, though - https://factorio.com/blog/post/fff-344 very useful and interesting.

However, let me extend an olive branch to anyone with a sincere desire to share and contribute here.

Question - iterating on runs is a technique that has been mentioned several times before.

What variables do you iterate on? Simply trying to build faster is only going to get you so far. How do you know a particular build can be improved? What parameters do you like to look at?

Edited by the author 3 years ago
Germany

For the any% duo botless plan, we iterated on size of builds, timing of builds, build arrangements, handcrafting queue, resource distribution between players and more. Usually, it's about finding the bottleneck/problem and fixing it. But I want to give a concrete example, using the saves linked here so that it's easier to follow: first complete run with the plan, latest complete run with the plan.

In the first run, you can see that we have some extra mini-smelting used to provide the pipes and gears for engines for chemical science. This smelting is removed in the latest run and the engines are fed from the mall iron. This was done because we found that the mall was overproducing and the mini-smelting was complicated to build and messed up the arrangment of the whole lower drill + smelting area. So, the iron and gears for the engines were moved up into the mall and build to buffer much earlier than in the lower area, so that we could still use them for handcrafting. This change had a rather big impact because it allowed us to rearrange the entire lower half of the base to be much easier to build (alignment, amount of complicated spaghetti) and reduce some of the hand-feeding for electric engines.

Another bottleneck in the first runs was that the rocket control unit build needed a ton of time to be built while we already had the ingredients for the RCUs, meaning it was late. So we switched to handfed RCUs with its lower setup time but requirement to be babied after setup. Practice had shown that I had the time to do the handfeeding, but the initial setup was too late, so this solved that bottleneck. Similar thing with switching the northern green circuit smelting + steel expansion to be handfed coal instead of belted coal - faster setup for a build that was always late with the tradeoff of some extra time spent later when it was available.

Often, these bottlenecks or problems only matter once build times are consistent(ly fast) and mistakes are reduced to a minimum. Before that, the mistakes/placement time variations are the bottlenecks and small build adjustments not worth worrying about. I think this is very well illustrated by the any% runs that are based on Nefrums guide (like mine): I started off with a 3:47 time, heavily limited by my knowledge of the plan (=mistakes and bad placement speed). So the fact that the plan is not optimal per se does not matter yet. My latest run has a 2:43 time, which is partially limited by blue science being low in the end. So the non-optimal plan partially limited that run.

Edited by the author 3 years ago
Sweden

In factorio it is all about expansion rate. Apm is not the deciding factor thou still important early game. As factorio is a game about automation everything can be used to increase your effective "apm". As soon as you start automating things you free up time to do other things.

There is a maximum theoretical expansion rate in factorio. It is approximately x2 every 5-6min. If you dedicate your entire factory to expanding the factory. Example. One belt of plates is 900/min. Making a factory to mine, smelt and make useful items out of that costs around 5k plates. So it can produce enough materials to double itself in 5-6 min. This is of course only materials, acctualy placing the new factory can also be limiting. This gives a interesting equation to try to maximize.

  1. For how long should you keep expanding the factory factory and when should you focus on the goal instead?
  2. How fast can you acctualy expand the factory even if you have all materials?

The first one depends on the end goal. Launching a rocket needs about 300k plates in tech and another 100k for the rocket. So how long should you spend doubling your expansion rate before switching to progressing towards rocket?

This is all made more complex by that you need to progress down the tech tree to be able to automate more efficiently and faster. Stuff like bots, modules etc require a small investment in tech but can greatly affect your expansion rate afterwards. So this need to be added into the equation.

Edit: My reasoning is colored by doing runs to rocket, in shorter runs you can expand faster by not automating, as you do early game in all runs. This is another thing to add to the equation. At what point is it more beneficial to automate things fully instead of handfeeding etc. Short term burners are quicker to expand but long term you loose time if you need to manually maintain your builds.

Edited by the author 3 years ago
blazespinnaker and Vbjakka like this

"There is a maximum theoretical expansion rate in factorio. It is approximately x2 every 5-6min"

I won't claim your maxim is wrong until I prove it with a concrete example, but I think you are neglecting to mention incremental growth that you can get with incremental blueprints and careful use of bots.

The doubling time I believe is (1+r)^n > 2, where r is the % of infra you can build in one minute. Or even more, if you can do lay it out faster than per minute. eg, (1+r)^2n where r is the rate of growth per 30 seconds.

For example, let's say I could (theoretically) build 10% of my infra in 30 seconds (which matches your 5 minutes above, btw), than (1+.1)^2*7.2 ~ 2, so about 3.6 minutes to doubling time. In 10 minutes, you have about 6.7x increase.

If you were able to start off with a reasonable amount of production (say, you started a smelting farm very early on that you'd save up for when you hit bots), you could be multiplying 6.7 * a very reasonable amount of miners, giving you near max production rates in 10 minutes.

So then it really becomes a question of how much you can save up via smelting farm, and how many bots you can have coming out of the gate when you hit construction robotics, how fast you can grow those bots, and how intelligently you can utilize bots.

I'm obviously skating over some details there, but in general this approach can be used (more or probably less) to optimize for lower fundamental times and I certainly do so with imported blueprints in analogous ways.

It's quite possible that with non imported blueprints, this gets too hard, but I don't think it's out of the question. I didn't believe 22 minutes for GOTLAP was possible.

I've written a bunch of lua snippets that I will share eventually that measure cost of such things as # of entities and average bot flying distance in blueprints. it helps optimize for faster printing.

Edited by the author 3 years ago
Centre, France

Increments can only do so much. You can prove mathematically that if a build can double every period of time T, without incremental build, the growth with infinitesimally incremental building is in exp (t/T), in other words, your factory grows in size by 2.71 every period T, or equivalently doubles every 0.69T.

The 5-6 minutes of Nef to double are consistent with what I remember computing for electric drilling, steam electricity stone smelters and assembler1, accounting for incremental growth. If I do compute it again, I'll try to make it clean and clear and will notify you as I bet you'd be interested.

Bots do not accelerate this exponential growth, quite the oppposite. This doubling every 5-6 minutes assumes building time is free. Beyond a certain growth rate, you can no longer assume building time is free and this is where bots come in, with there own cost. In short, Bots don't accelerate exponential growth, they allows the growth to be exponential for far more longer than could otherwise possible, albeit a slower exponential growth than when building time was negligible.

Edited by the author 3 years ago

Hmm, well, no.

Your math doesn't quite add up, or at least it's reaching the same conclusion I am, but then for some reason discounting the significant gains. 6.7x is significantly better than 4x. You could even improve that to 7x with faster printing. If you started with say 10kpm, that would be the difference of 70kpm versus 40kpm. Over the next 10 minutes after that, assuming you stop expanding production, that's a difference of 700k plates versus 400k plates. You can do a lot with 300k plates.

Also, if you stretched it out to 15 minutes of expansion, it's the difference of 8x versus 18x. I know I like to talk about sub 60 as my goal, but let's face it, sub 70 minutes would be pretty awesome too.

For incremental blueprints, I encourage you to try it first before commenting further. If you give it a sincere attempt, you'll quickly see that incremental blueprints are very very powerful in their ability to deliver a superior productive curve.

You can read my wave defense post for further hints on how it works as well as some detailed results of experiments - https://forums.factorio.com/viewtopic.php?f=5&t=90012

When I get some time, I'll do a quick demo for everyone. Let me say that the reason why it likely didn't occur to folks here is because they don't deal with imported blueprints mostly where it's much easier to implement and appreciate.

As for bots, they have huge untapped potential that have not yet been considered or at least properly exploited. Think of it like this, a bot that travels to the edge of a roboport range from the middle, can place 1 entity and then return. The same bot, when placing entities near its logistic chest, can place up to 25x in the same amount of time.

Much of what I'm talking about here is obviously much easier to realize via imported blueprints. It deserves repeating.

I think another issue going on here, is the genetic algorithm aspect of all this. Getting the top rank is just a matter of beating the previous #1 player by 1 second. This leads to borrowing large sequences and making very incremental improvements. There is little incentive to making dramatic improvements in time, especially if they result in spending large portions of time off the leaderboard.

And of course, if you do make dramatic improvements in time, there is very little to keep someone from simply copying everything you've done and improving on that by one second.

I suppose you could hoard as much as possible and not share what you've done (blueprints, ideas, analysis techniques, etc) to slow people down, but where is the fun in that?

For these reasons, I find run submitting not to be particularly useful motivation from a speedrunning point of view.

One way to solve this problem, is to create more categories in the speedrun which break up the entire run into segments (with certain assumptions) and encourage folk to attack them with the goal that we'll put everything together and get the ultimate speedrun.

It would be a team effort, for sure, but I think a very interesting and fun one.

Edited by the author 3 years ago
Sweden

My example completely discounted placement time. What i was trying to illustrate is that you can't place items faster than you can produce them. And item production rather than placement speed is the limiting factor for most of the run.

4xel likes this
Centre, France

It's possibly reaching the same conclusion as you, indeed. I'm not saying incremental building isn't powerful, it certainly is. A 0.69 factor in time is huge and that's only comparing incremental build to doubling up every now and then, there are less incremental things to compare to.

What I'm saying is that building incrementally has diminishing return and can be totally accounted for in the computing of the theoretical fastest possible growth.

"You could even improve that to 7x with faster printing". And if you just ignore the printing cost and latency, you still get an upper bound of the maximum growth rate (bigger than the actual growth rate with printing, however fast it is). Printing speed does matter, but again, it can 'easily' be taken into account.

"a bot that travels to the edge of a roboport range from the middle, can place 1 entity and then return. The same bot, when placing entities near its logistic chest, can place up to 25x in the same amount of time." That sounds like a genius idea. I haven't speedrun myself enough to tell if it can make a big difference in any%, but it definitely could in 100% at the very least. Definitely worth adding to the opening post once tested and documented. You still have to move the machines from where they are produced to where they are placed though, in a way better than by bots. were you thinking of moving items by hands into cleverly placed chests?

I can agree to some extent with the everyone copy each other issue, but top runners tend to try to differentiate themselves, with some success (their build is suited to their strength and they make breakthrough on occasion). There are like 3 or 4 different seeds in the top 5 of any%, Anti used to use gun turret in default setting whereas Nefrums used to use Laser turrets, Nefrums uses giga buses of red belts for 100% whereas Warger uses trains (the longer the run the starker the differences), etc. Spending large amount of time off the leader board and coming up with crazy ideas and breaking the meta is exactly what Rain usually does (ok, his incentive is not driven by speedrun.com, but it doesn't really matter IMO).

I'm not sure how segmented runs would help the matter. segments are arbitrary, and hinting new runners at a single road to follow does the opposite of fostering variety (but if newcomer do needd that sort of guidance they can already choose one of the top runner to copy cat). Besides, factorio runs are not really segmentable, precisely because they are incremental: when you do red science, you're already building up resource to help you build green science. Your constantly chasing and preparing for several goals at a time.

The segmented runs are unlikely to happen for several reasons, however it doesn't make sense worrying or talking about that. The puzzle is interesting enough, tbh. Much like a crossword puzzle or anything else.

There are many different ways to ensuring that materials are close at hand for bots, from hand feeding to underground belts to proper placement of mini-malls. It requires quite a bit of thinking and tinkering with layout plans for post bot part of the run.

Btw, I'd like to take some issue with the 5K cost for compressing a 15p/s belt with plates. I believe that cost is somewhat design dependent.

For the mining op, fundamentally, it it costs ~1K plates. 30 miners (30 * 0.5=15ore p/s) + underground + belts + poles = ~1K plates. https://kirkmcdonald.github.io/calc.html#data=1-0-0&items=electric-mining-drill:r:30,underground-belt:r:14,transport-belt:r:15,small-electric-pole:r:8

For the furnace side, it takes roughly about another 1000 plates, assuming 48 stone furnaces, 96 inserters, plus at least 4*48 belts. That's about 800 plates, but you may need more to move stuff around to deal with a compressed belt. Stone I find isn't really an issue as you can just set aside a few miners early on pointing DI at some assemblers and you'll have about 5K of them by the time you need them.

That's about 2000 / 15, or 133s. Or just over 2 minutes to produce what is required.

Assembly for miners, inserters, underground and belts though is required and is an interesting problem. And it gets obviously complex here. If your goal is to handle a compressed belt, than I estimate you need about 4 or 5 assemblers. Optimizing assembler usage here is something you'll want to do, for example, one compressed belt could be dedicated to inserters/belts, another to miners. Belting in copper is something that needs to be considered.

Bottom line though, assembly may not have to be that expensive. And in order to produce about half of what is required in every 2 minutes, will probably take just another 500 plates or so. That comes to 2500 plates.

Even if you add some error, and make it 3K plates total, that is still a very very large speedup over the 5K above. We are now talking about 30% increase every minute, or 15% increase every 30 seconds. That can result in 16x increase in production over 10 minutes.

High level, I believe maxing out local ore resource production in 10 minutes is perhaps a possibility, assuming a reasonable smelting farm created at the beginning of the run. Perhaps getting to 90kp/m in 10 minutes on a good map.

That would, of course, require 100 compressed belts. I'll admit I've yet to find a map that would be ideal for that, but I keep looking.

To tech up and launch a rocket, you need less than 700k plates. This doesn't include assemblers/labs/bots/oil tho, which will get expensive. 200k plates might not be enough to do it all in 10 minutes, but it's a start.

I admit these goals are all quite aggressive, but I don't think totally unrealistic.

Edited by the author 3 years ago
Sweden

You're missing the power and fuel in your calculations. But i agree that the estimate i made is probably to high.

blazespinnaker likes this

Ah, good point. I guess that's about another 35iron or so per 10 miners? I'm not entirely sure the exact coal cost for smelting, but I believe it's fairly marginal. Assemblers / inserters should be too bad. I'll try to do a test sometime soon and see the total cost.