Comments
thread: Factorio
blazespinnaker4 years ago

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

thread: Factorio
blazespinnaker4 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?

thread: Factorio
blazespinnaker4 years ago

I'm going to ignore the drama, because it's a tad boring. Also, I really don't wish to poke you as you're contributing in a positive way that I admire.

Let's just say that we agree to disagree on what I've said. Let me also say that none of it was a knee jerk response, but rather one crafted over time and with very very careful consideration. Not sure I can say likewise to some of the responses here.

Let me also be very clear, cause this seems to get very weirdly ignored over and over again - the GOTLAP runners are ubermen. I have no idea on how to significantly improve on what they've done, and I've spent some serious cycles analyzing it.

Yes, obviously Dave's math was off base, but his general ballpark absolutely was not. It most definitely is an exponential production curve when you eliminate reach + walking speed.

As for the rest, I don't disagree, and have said as much in several different places. But just because the solution to f(x) != A but rather f(x) = B/A, doesn't make A any less important or necessary.

I'm glad there are folks here working on B, cause I suck at B, though TAS there will probably be interesting there at some late point.

A, however, I don't think anyone is working on in any serious way that I've seen and I believe it to be very interesting and welcome contributions / refutations / anything serious really.

TBH, I imagine a big disconnect here is that everyone on this forum is overly focused on the record / best time. What's wrong with speedrunning just for speedrunning? I don't really fall for the ego thing I guess (it's a game, people, fun should be the goal), and no interest in youtube views.

4xel likes this
thread: Factorio
blazespinnaker4 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. :)

thread: Factorio
blazespinnaker4 years ago

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

thread: Factorio
blazespinnaker4 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.

thread: Factorio
blazespinnaker4 years ago

I think a part of the issue here is there a huge lack of information on factorio speedrunning in this forum. The guides really only scratch the surface. If everyone could share what they know, it'd probably would help fill in the gaps quickly and you'd see a lot fewer posts from me.

I'll try to use edit more (not getting notifications for that, are you?) so as to keep all my information in one post that doesn't notify.

thread: Factorio
blazespinnaker4 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.

thread: Factorio
blazespinnaker4 years ago

Hey, wow, what a great post.

https://forums.factorio.com/viewtopic.php?p=529528#p529528

Thanks Nefrums, much appreciated. I'll put some effort into my reply, so may take some time.

thread: Factorio
blazespinnaker4 years ago

"And that it is quite clear that we will never find the most optimal path."

Nah, it's doable within some reasonable error margin. Far harder problems than this.

If you do respond tho, please stick to the math. APM, resource costs, etc. ad hominems reasoning like the above will just be ignored with an 'lol'.

thread: Factorio
blazespinnaker4 years ago

I think you need to take a step back and project less. The reason why I (and likely others) don't submit runs, is because I'm more interested in the collaboration and joining with a community in tackling to a very difficult problem rather than the boast of "WR".

Also, nefrums, maybe try thinking about all the folks you've taken ideas from in your runs. It's rather interesting how you think because you memorized the keystrokes, you get to claim credit for it all.

Factorio is a wonderfully complex game. It deserves to be respected as such. One person can not solve this alone.

In fact, it's all a bit reverse of what you implied above. It is actually you who are underestimating the effort required to finding the optimal run by not enjoining more openly collaborative efforts.

Worse, actively discouraging discussion is I think an admin approach that would have been beneath you.

thread: Factorio
blazespinnaker4 years ago

"claim it is very easy to beat every record"

Come on nefrums, you're better than that.

-> "I was looking at gotlap, but the runners there are pretty impossible to beat. I don't see much slack in those times.

Your statement was self evidently false. Hope you don't apply the same flawed logic in your runs.

Anyways, feel free to share your reasoning why you think your runs are fundamentally optimal. I am very open to being convinced that I'm wrong.

I've shared some reasoning here - https://forums.factorio.com/viewtopic.php?f=5&t=92439

The idea is that the search space for optimal deployment in post bots is much more vast than folks are giving credit to. You can reason it out very simply - each bot allows for an increase in APM (actions per minute) which is limited only by its speed, distance to logistic chests and deployed print.

A blueprint can be infinitely (practically speaking) complex. Copy / paste functionality allows for constructing arbitrarily large blueprints in time O(logN).

  • simply put, I can double a blueprint every action.

Pre bots, you are limited by your keystroke speed.

With bots, you can print bot making factories. This + above effectively leads to exponentially increasing APM.

Agreed, there are some rate limiting issues post bots (bot construction time), but I don't see any reason why they can't be overcome. Feel free to explain why though, I may have missed something there. That'd be annoying :)

To continue, the gotlap ubermench can do things that are quite astonishing. You should check it out. To extrapolate that they could hit bots in < 35 minutes is not a stretch. Please explain why that's not possible, though.

Bots at 35 + exponentially increasing APM. Sounds like rocket launch in sub 60 to me.

thread: Factorio
blazespinnaker4 years ago

Here's the string I'm using which has the various settings, in case that's relevant:

eNp1Ur1LQlEUPyc1zSAahAjCHFwNsoaG8N6CiIj6G/LjCYL65 KlDNeTgWLS01JJri1tDmxT0AQVSU5vR0lBhFLUEdu577z6frzpwf u93z/e59yEg9IMbSCocgDOfO6nGswANLtWfVAsFRYuommI3DyS1c kqJqJneYCWv5NYjiXiRgisMdKkwX0ZT884KnmJJzfdaSpqiFI1EQ wfLWjyfKeecuYAqkr8a1LWzBaFORyixFnUUClghoEiySfEks5l0G iA0RzovGiDiZqC++LCxx9CImeAmaZuWRkJaliRZ5f+6wpJM2+pM6 fJuI0bTErUwo3y8SwxnVTgRd16Oa1/nzRh+H73driTWGE4uBF7b0 XqMnF6xZ58FB/tCTuQqIGu2mOm6Z3hzLeSZoUdkBATwGYLGsgtwe IhYbZsgNAZytJgsE+CY1uVTbvIoyR1z7kEXMSuKBwVcCtAbWpOhQ fkuRz4uvaPdEMqPgn2GVHfDK9n2zNbfMcjvh7Dv4bCE+R/P4BcNU xY8uaxp6D6bXnnihxxdgoioD7IZJ/3nM0sZ32GuX7cLutJmMBI5v fgB8sOilg==<<<

Some further info here -- https://wiki.factorio.com/Map_exchange_string_format

thread: Factorio
blazespinnaker4 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
thread: Factorio
blazespinnaker4 years ago

Yeah, I think rocket rush is a very interesting speedrun category. It's the one I'm doing now, with imported blueprints. I was looking at gotlap, but the runners there are pretty impossible to beat. I don't see much slack in those times. The any% looks pretty loose and easy to beat, tho, which is why I'm looking at rocket rush (wube should add a leaderboard)

To be honest, I've sort of given up on this community (except the forums), at least in terms of advocating things to it's admins. The focus, categories and rules are silly, imho. My guess is the admins are over involved in youtube / twitch views and that's pretty much where their mindset is. Optimal factorio for the sake of optimal factorio isn't really a thing around here.

Though, honestly if it's about popularity and views, I'd suggest they try to up their visual entertaining / comic reaction game. Take some cues from markiplier and his millions of factorio views:

Monotonic comments about technique is probably only interesting to a rather niche audience.

Anyways, hopefully we can get some folks here interested in speedrunning for the fun of speedrunning. Be nice if they had a forum on factorio for it, but there's only a scattering of folks talking about it there.

thread: Factorio
blazespinnaker4 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.

https://forums.factorio.com/viewtopic.php?f=202&t=93308&p=528184#p528184

thread: Factorio
blazespinnaker4 years ago

https://forums.factorio.com/viewtopic.php?p=528025#p528025

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:

https://hbr.org/1963/09/the-abcs-of-the-critical-path-method https://www.speedrun.com/factorio/thread/xg6w1

thread: Factorio
blazespinnaker4 years ago

Yeah, I can get to ad oil by m30 with just using 54 iron furnaces and 28 copper. Had to slow it down to .75 though, but it's a first run through. There was quite a bit of slack in the run, too. Tried again and got in 28m. The useful thing bout handfeeding is that it's easy to simulate and write down the order of movements.

thread: Factorio
blazespinnaker4 years ago

Hmm might be able to improve on gotlap as well, though it's a bit of distraction from my goal.

About blazespinnaker
Joined
4 years ago
Online
3 years ago
Runs
0
Games followed
Factorio
Factorio
Last visit 3 years ago
1,290
visits