blazespinnaker2 years ago

Very impressive. I didn't think it could be improved on.

It'd be very cool if there was some addition to the description about what was improved. I tried watching it, but I couldn't see what was done. Was it just a more flawless execution of keystrokes?

I'd also really like to understand why we don't split this into pre bots and post bots.

I assume everyone agrees that once you get bots, the theoretical potential for minimum times is quite significant. Bots let you go into parallel building mode and there is a vast universe there of different approaches.

If we have people focusing on post bots and pre bot runs, we could probably figure out some great times. This would require more community collaboration tho.

blazespinnaker2 years ago

This might be applicable to the other runs, not sure, but definitely I think for the 100%.

The core of the idea is this: One track with trains as belt is sorta the same as 40 different theoretical sides of a belt, amiright? Imagine the simplicity. Screw belt weaving.. Plus you've got random access belt sides! No side switching required.

So you use miner -> wagon direct insert and long trains instead of belts and zero chests. Via DI You fill each wagon with enough copper/iron/coal/stone by rotating them around patches for an appropriate amount of time. To keep things simple, the rotation never cross so there is never an intersection to deal with (see the clockwork design I discuss on this thread -

Basically rotate enough for 15 * each science in raw resources in each wagon. So each wagon has all the resources required, doesn't need anything from another wagon (except fluids). Perhaps a bit less science as you may need extra coal for furnaces if you're not using electric ones. I dunno the exact numbers, but it's somewhere around 10-15. Depends on module usages as well.

Once the trains have got their raw resources after clockworking around the patches, they then come back to the processing factory where it removes the raw from the wagons and replace them with intermediates. No chests, no belts, just pull resource from wagon and replace back into the wagon.

And then the train moves onto the next processing steps: plates, gc, gears, belts, inserters, red science, green science, steel, pipes, rc, engines, sulfur, blue science, sticks, rails, modules, bricks, furnaces, violet science, bc, red engines, batteries, frames, lds, yellow science. rcu. jetfuel is all fluid so mabye not train fed. white science you'll want to pull and deliver to the labs like any other science. Again, no funky belts required as you have 40 different spots to put stuff.

Red inserters not required, you can probably use some very very basic assembler patterns. Just up and down.

You could lay out the factory horizontally for the steps and expand vertically downwards as you add more patches for production and trains.

With 100% megapatches though, you wouldn't need as many patches and you could use longer trains.

The advantage to this approach I think would be the very minimal amount of actions and infrastructure to lay it out and the very easy expandability. Obv you want to be processing as many wagons in parallel as possible. You're going to end up with a lot of trains running by the end here.

Filter inserters are pretty handy. You can fit about 6 steel furnaces per wagon, but electric furnaces can utilize modules. 4 assemblers per wagon, some use of inter assembler DI might be advisable.

Fluids would be done separately of course. Doesn't make sense to train that around.

blazespinnaker3 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 -

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.

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:

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:

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:

cost of a bp in resources:

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: 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 - 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 - 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.

blazespinnaker3 years ago

In order to cut down on notifications (bilka finds them annoying), I'll periodically edit this message with timestamps if I see new runs that are interesting, so do check back periodically if so inclined.

Just saw this. It's like a single uber construction / logistics bot run. With handfeeding capability.

I'm looking for speed run records on things like rocket rush, death world, wave defense, or anything else for that matter. If you know of any links, please post.

blazespinnaker3 years ago

Not sure if it's purposeful bit masking/shifting or their PRNG is really really awful, but by making small changes in the seed you can adjust the layout of the map.

Some examples: 1-340 all seem to be the same, with different patches 341 has the same geography, but trees instead of desert 342 changes the geography.

The bit twiddling behind this is unclear. 341 to 342 just changes the right most two bits. If you find anything interesting, please post. Anything to reduce spending time in preview :)

AyumuKobayashi likes this
blazespinnaker3 years ago

In order to cut down on notifications, I'll periodically edit this post with a timestamp rather than adding messages if I come up with any new designs, so check back periodically if you're interested.

blazespinnaker3 years ago

As an addendum - using critical path method, once you've identified a particular atomic critical path to it's lowest possible amount, that is likely your optimal run time.

eg: For wave defense with its small copper patches, copper becomes a critical path - even with speed modules in the miners. Even if you max out miners at the beginning, lowest possible theoretical time is likely around 20 to 30 minutes as RCU/LDS requires a lot of copper.

See here for more discussion:

blazespinnaker3 years ago

Made it to bots in 40 with 67 red engines and 33 frames. Didn't totally hand feed my way as I originally intended. I do a lot of direct insert gears/gc/coil factories from burner -> furnace -> assembler factories (very few belts except to help optimize walking distance.). The first factory I create is a burner/furnace one, which produces up to 35 burners per minute.

This lets me spam a coal patch as well as burners everywhere. It will also solve the long term smelting problem I hope. Feel free to use these ideas.

My biggest challenge by far really was getting the oil setup, but I found a map where it's super close to where I build everything. I broke down and memorized / practiced the pipe placement separately. I even use shortcuts for this. :p I try avoid such things as I'm not really a speedrunner per se, just wanted to get to bots in 40 and was close except for that.

I have zero doubt a GOTLAP top #1 runner could do it five minutes faster. Those guys are cray cray I don't even think a keyboad macro replayer could do it faster than what the current top guy does

I'd upload a video, but only for entertainment value. you have no idea how slow before bots I am, at least relative to you guys.

Speaking of bots -> Next goal is rocket launch in 20 minutes.

Fortunately, I am actually pretty good with blueprints, componentizing them for reuse, and doing optimal things with robots - frankly far more skilled than I am as a keyboard speedrunner. I think I ended up spending 99% of my time in map mode in my longest factorio game. Much more confident about this part than I was about getting to bots in 40 minutes.

Looking at the current speedrun videos, I see so many huge areas for improvement, but it was always after you guys get to bots :) Before bots, I was only amazed at the talent.

Anwyways, yes, I get it, you're doubtful. You ask - but what about all that smelting to be done? How does bot wizardry fix that? 200k iron 200k copper?

Well I can have a large iron/copper smelting op to start out with at least near the beginning.

Remember that burner/furnace factory and coal spam? After a few minutes in I can very easily spam about as many burners/furnaces as I want. I have a near infinite supply as far as that goes and enough coal to feed them.

I'll have to spend a couple of minutes or so setting them up and a little bit extra refueling during the run. But I think I can shave 2 or 3 minutes off my 40 minute run to compensate. I'm sure someone could do even better. Just need to practice my inserter / power technique a bit more. I tried burner inserters, but they use too much min coal.

The burner->furnace->inserter->chest combo I am using is 12 sq meters and produces ~20 iron per minute. On a 32 by 32 patch, that's about 86 sets, and 70K plates per chunk after 40 minutes. I believe the burner refuel is every 300 or so or every 25k total.. Furnaces need to refuel at around 60k?

Shift craft Inventory hack for infinite carry supply, with a few science in between so I can offload :) Grenade tech is very handy and must have for this. If they nerf that, I'm screwed of course. To make sure they don't, I asked them on the forums to nerf it. heh :) WEll, if they do, I'll have to robot deconstruct stuff and belt it out I guess. Not a terrible idea to do anyways. Coal carrying will be a set back tho, but not life ending.

Steel, I'll leave as an exercise for the reader. It's rather important though as I'll obviously need to build a crap load of assembler2 when I go for rocket launch after bots. Perhaps more important than plates themselves.

Anyways, progress.

blazespinnaker3 years ago

Apologies if I've broken etiquette here, but as no one has submitted any runs for NG+ I thought I'd go ahead anyways.

I have some sub 2 hour launches I was going to submit, but I use the ghostplacer express mod (the only mod). It lets you mouse over ghosted builds and it will auto-pull from your inventory so you don't have to select the object. You do need to be in standard placing range of the ghosted object for it to builld.

I am too old, too slow, no talent to quickly slide my mouse and stroke out the keys to place objects and all the extra keyboard work is tiring on my poor wrists. However, I think my blueprints and crafting order are pretty innovative and have some impressive ideas in terms of optimization and speed.

This to my mind is what NG+ is all about, the most efficient blueprints imaginable.

A fork of NG+ is fine as well or "custom category" designation. Don't really need to be on the leaderboard, Just looking for a central place folks with likeminded interest (sharing and proving out the best blueprints) can gather.

About blazespinnaker
3 years ago
2 years ago
Games followed
Last visit 2 years ago