The biter pathfinding issues Nilaus is experiencing in his Death World playthrough on YouTube seem pretty rough, I don't have specific knowledge about if fixes to that issue are making it into 1.1, but I hope so.
Generally, I very much enjoy watching other people play Factorio, I myself don't have the time to do it in a way I'd consider "right".
I experience that feeling too after watching other people play. It's hard not to compare my current progress with folks that have mastered various aspects or who have been playing for years.
That said - my first 100 hours or so were without outside influence and were pure fun.
Factorio combines all the fun parts of my day job (algorithms, simple maths, tackling solvable problems) with a fairly quick reward cycle.
It has some very fun scaling challenges at every level of play. For anyone interested in trying it out they have a free and feature rich demo available (either through their site or steam).
I absolutely love that there is no cost to relocating your constructions other than the time you spend doing it. This means you can iterate, try different designs, and refactor.
No pain akin to many other games' setup where you "sell" a structure for less than for what you "bought" it for.
Totally agree. I bought the game after the 1.0 release and unlearning my hesitancy to do a first janky build took a while, but it was very rewarding once I got used to it.
There's an implicit cost. Time is a factor for the alien evolution. So if you'll spend too much time relocating your constructions, you might fall behind aliens and will spend lots of resources to defend your base. That'll slow down your research and you'll fall behind more. Actually that's the only thing that I don't like in this game, I wish developers would rebalance the game with 0 time contribution to evolution, as I really love to spend lots of time thinking and rebuilding things and I hate that feeling that I need to move faster. I know that it's easy to change coefficients in the game creation screen, but for some reason I don't like this approach and prefer to play the game with built-in presets (also, I think, achievements are disabled with custom game presets).
Only four achievements care about the settings. And two of those are speedrun achievements. And the only settings that matter are turning on peaceful mode or reducing the number of starting enemy bases.
The 100% achievement speedrun involves setting numerous biter related settings to 0, including both the time and pollution evolution factors. I don't remember all the settings which are changed, but it's a substantial list. Biters are not disabled completely, (one of the achievements involve aggroing the biters with pollution) but they're turned down enough such that they do not actually attack the base. To get them to aggro for that one achievement, you have to actually construct stuff inside of one of their cells.
As a non-programmer who occasionally has to write terrible scripts to make my job a little easier, this game is the PERFECT manifestation of why my code ends up looking the way it does.
Step one: solve a small problem with a script
Step two: scale the solution to the problem to make it repeatable
Step three: optimize a part of the solution to improve the process
Step four: scratch head at why problem is no longer solved after attempted optimizations
Step five: isolate the changes and fix the problem in isolation
Step six: put changes into original solution to try and fix what I broke
Step seven: Google for answer as to why I can’t get it to work
Step eight: copy and paste solution only to make things worse
Step ???: remove all changes and get angry that nothing is working anymore
I think in the factorio 1.0 release thread awhile back there was a comment about it being weird that the game is fun when it's a lot like the kind of (less fun) work they do in their actual job, or something like that.
This made me think about my actual job (software developer at a large tech company), and why is it that it's not as fun as factorio? What's the difference?
I think a big part of it is visibility. If factorio were like my job, I'd only see my own small corner of the map. The rest of the megabase would be continuously refactored by thousands of other players, and largely hidden from view.
Occasionally problems would arise; sorry, no more red circuits this month, but here's some iron and copper and plastic. We've doubled our rocket control module quota. Various incompatible versions of schematics would be emailed back and forth and posted on wikis, and using them in your own situation would always require some sort of belt spaghetti because their setup is just a little bit different than yours. There'd be occasional high-level directives from senior executives explaining what goal everyone is working towards. Our competitors are launching their rockets on time. Logistics bots would go AWOL periodically. Random objects would show up on the wrong belt occasionally, no one really knows why. How did this fish get here? Every team would have their own opinions about the most aesthetically pleasing way to arrange power poles.
At least I can be thankful that my day job doesn't require flame turrets, artillery wagons, and occasional nukes. I wouldn't mind driving a spidertron to work, though (once the pandemic is over and "driving to work" is a thing again).
Meaning this in the nicest way possible, but is there more to this game than spending hours at a time micromanaging? I do that at work anyways, don't want to bring that into a hobby.
This game is kind of the opposite of micromanaging, though I can understand why it would seem like it is.
There's an old joke about golf "The goal of the game is to play as little of it as possible," which is also very true for factorio.
As you advance through the tech tree, previous things you did manually you'll automate more. There's an achievement called "Lazy Bastard" that forces you to do a bare minimum amount of manual work.
well not exactly minimum amount of manual work, just a limited amount of handcrafting. you still have to lay out and place things down yourself (until you get robots)
I believe that's true of all the achievements -- I'd guess that's why they're "achievements" (although I believe some games include normal game milestones as achievements just for the dopamine hit)
One my very first bosses noted the reason he felt I was an exceptional programmer was that I had managed to automate everything at the office from time reporting to doing performance reviews.
Out of curiosity as I too would like to automate the tedium of things like a perf. review - how exactly do you automate those 'one-off' per year tasks that fall more in line with spending more time maintaining the code for that task than time saved automating.
I have had some success with certain tasks in the very high-frequency category, but almost no successes with anything that has a cadence higher than a month (always relevant.. https://xkcd.com/1205/)
> how exactly do you automate those 'one-off' per year tasks
These were quarterly reviews. Basically I had it copy/paste verbatim the BS from the previous review. This worked for everything except accomplishments. These were 'completed' tasks (from my time reporting) for the reporting period copied into that section.
I partially automated performance reviews at one place.
I wrote weekly status updates, important accomplishments I marked with asterisks. For the annual reviews I just had a script that loaded a TeX template from the past review then populated it from the flagged entries in my weeky reports. Then I'd just edit it down a bit, tweak the language and sent it out. In theory I could have probably gotten away with sending the autogenerated one at least after I'd refined the usage some.
I did it this way because it's always hard to start writing a performance review. But I found it a lot easier to start with a bunch of stuff I did and restrict it down to the relevant stuff.
I was tickled when they later updated the job description for my role and used the text from my performance review. I guess since I didn't have to spend much time populating it I managed to completely optimize the level of corporate-speak in my narrative. :)
It feels more like iterative problem solving. Once you get part of your factory working, you can entirely shift your attention to the next problem. Existing regions of the factory require surprisingly little attention until they become a bottleneck (thereby presenting a new problem to solve).
It's programming, but stripped down to the essentials. You don't have to spend hours reading documentation to find the function you want, or googling for stack overflow answers for some build error.
In particular, its being able to build a complex distributed system with extremely high visibility to discover the bottlenecks and overflows that need to be resolved. With some Chaos Monkey thrown in as random biter attacks.
oil refining is much simpler now. it's easy enough to figure out through trial and error.
for me the only time when I'm always checking the docs is when I'm trying to supply enough water to a nuclear plant. the pressure loss over distance for a pipe almost never matters, but it really does for a nuclear plant. if you don't have a very short run of pipes or lots of pumps along the way, you will never achieve the full potential of your nuclear plant. this can be quite disastrous if you make assumptions about how much power the plant will make. I wish they would add something to the UI to make it a bit more clear when pipe runs are too long.
I mean yes, but also no. I was skeptical that I could get into the game after reading about it, but I played the free demo [1] and got hooked. After "beating" it about 80 hours in I've lost a bit of interest because it seemed a bit more like work than play to really scale things, but the 80 hours of enjoyment was worth it. Might come back to it at some point and try to make a megabase or try some mods.
I don't view it as micromanaging. I view it as building foundations in good and scalable ways. At the beginning when the map is empty (analogous to a green field project with no files yet) it may seem like micromanaging. But if you do it right, you quickly grow out of that phase and start operating at a scale the new order of magnitude up. This cycle repeats a few times and before you know it (because you accidentally stayed up all night playing the game) you're copy-pasting massive factories around and having armies of robots build it for you. You no longer care about minor details and micro-optimizations, you care about the next order of magnitude.
The fact that belt building wasn't done in line (and not possible to do in line) was actually one of my big pet peeves[1]. In a game done with so much attention to detail, this always felt like a big omission.
[1] Before I stopped playing due to it taking so much time
Would be nice if they had a setting that was like "straight lines only in spidertron." By the time I've got a spider, then I'm usually laying buses down via blueprints
Pro tip: to build in a line before 1.1, click to place a belt and then move the character in a cardinal direction with one of W/S/A/D while holding the mouse button down. You can lay a straight line of any item this way (including e.g. pipe, etc)
there's a gif that illustrates the issue in the linked article.
but belts, like any other entity in factorio, have their orientation set before they are placed. so if you have an up belt and you click and drag left-to-right, you get a long line of parallel belts that don't connect. this is useful when you're trying to create a parallel bus, but very annoying when you just wanted to make a long belt.
the new behavior is that the game will ignore any mouse movement that's perpendicular to the direction of the belt being placed.
Factorio is one of a handful of games I really wish I could play more but 1) I don’t spend enough time at my desktop to actually play it and 2) Could work very well on a tablet so it could be played anywher. Fortunately a lot of games on that list (Civilization VI, Prison Architect, FTL, etc) have been ported to tablets, but I’m really waiting on Factorio and Rimworld.
I know these small developers don’t have an infinite budget so I don’t expect anything of them unless it makes sense for their team, but unfortunately it does mean I’m less likely to play them. Which is a big shame because I’m pretty sure I would love Factorio.
There's no way a Tablet can give a good Factorio experience.
Fundamentally, the user-interface is baked into the game. Every button-click, every key, has a purpose. Lets list the things that you must do in Factorio:
1. Move the avatar -- WASD keys + shoot + weapon select. The combat system includes grenades of various types, auto-firing machineguns, and deployment of various "combat bots".
Given the typical tablet gestures (click, click-and-hold, two-finger press, etc. etc.), there's simply not enough gestures to handle all movement and battle commands.
2. Building -- Even in combat, building items is common. I often build power-poles + electric turrets as part of my combat push into biter-land. Buildings can be rotated (4-rotations), shadow-built (you don't place a real building: just a shadow of one. Then a bot places a real one at a later time), or copy/pasted.
Given the typical tablet gestures (click, click-and-hold, two-finger press, etc. etc.), there's simply not enough gestures to handle all building commands.
3. Advanced UIs -- #1 and #2 give you an idea of how detailed the controls of Factorio are. But this extends dramatically to all entities in the game. Editing an inserter? That's a custom GUI (inserter filters, inserter stack sizes, inserter direction, inserter-rotation). Building a train-track? Custom GUI. Combinator logic? Custom GUI. Train-scheduling? Custom GUI.
-----
Maybe a Factorio could be rebuilt from scratch on the Tablet form factor. But I severely doubt it. Almost every key on the keyboard is bound to a command, all mouse buttons (zoom, scroll, right-click, left click, and more) are bound to commands.
And there are even "vi-like" hotkeys for the shortcut bar, allowing you to swap custom items into your toolbelt because we still don't have enough buttons to do things in Factorio.
A hypothetical "Tablet Factorio" would have to grossly simplify mechanics, and reduce the number of "modes" the game has. Its hard to tell that all these modes exist in Factorio, because the UI just so naturally teaches you the hotkeys and the buttons to push in all circumstances. But when you break it down, there's "too many modes" to really cram into a GUI.
And mind you: unlike Civilization, Factorio is Realtime. Biters are FAR faster than the player in the early game, they bum-rush you and block your movement. Every fraction of a second you waste with controls is another biter that comes up to start nom-noming you. Touch-screen interfaces are just too slow for combat.
-------
EDIT: And all of these GUIs interact with each other in "logical" ways. If you want to drive a tank (or even a train) while ordering bots to deploy blueprinted Laser Turrets, you can do that in Factorio.
But maybe the biter swarm was stronger than you expected, so you're going to retreat. You disable your personal roboport, swap out for some exoskeletons (+Speed), exit the tank, load a nuclear bomb into the rocket launcher, then run back to your base while nuking the biters who are chasing you.
You can seamlessly transition between situations, realtime. All the GUIs of Factorio interact with each other seamlessly.
Imagine hooking up a MadZuri loader (Arithmetic Combinator "output = input / -Size". Input is sum_of_chests (Green Wire, isolated to input-side). Output is also Green-wire (isolated to output-side). A 2nd network built out of red-wires on each inserter connected to its private chest, calculating "output - myChest >= 0??").)
Configuring such a setup would be... terrible, through touch. No matter how I think of it.
--------
With keyboard + mouse, I shift-right click to copy settings, then run down the line to shift-left paste settings across every inserter. But that's because the keyboard has many, many buttons that can map to useful hotkeys.
Touch provides... maybe 3 or 4 gestures that work while touching an object? (Touch, touch-and-hold, pinch-zoom, pinch-zoom out, multi-finger touch, multi-finger touch and hold). Between select, settings, rotate, zoom... I think we're already out of gestures before we even got to copy/paste settings (vs copy/paste blueprints vs copy/paste ghost objects).
The precision needed to hook up the Madzuri loader would be hell alone on an imprecise touch-screen. Its already kinda difficult with a mouse, even at full zoom-in.
there are modes and mods that allow you to remove the character entirely, and you would then play the game entirely with bots from a "god" point of view. i think it would be clunky to port to touch screen but not impossible. I would agree that its an inferior experience, but maybe someone people value the portability of the tablet versus the efficiency of a mouse and keyboard. Also I would say the game doesnt really teach you the short cuts. I found the self discovery not to be great, and i defaulted to looking to guides to understand a lot of the nuanced features. Things have gotten a lot better since the 1.0 launch, but there are still a few tricks like launching artillery on drag instead of click that only extreme power users know about that normal users would probably like.
You should try GeForce Now (NVIDIA’s cloud gaming service). It’s $5/month and I’ve got nothing but good things to say about it. It’s perfect for games like Factorio. It used to be perfect for Civ too, but 2K decided that you shouldn’t be able to play their games on unapproved computers, despite buying them on Steam.
fwiw I play exclusively on my couch using the Steam controller. Not sure if it’d work with a tablet but it works almost perfectly. The only issue I have is with steering the tank.
A LOT of people will say it’s not possible with a controller.
If I can make a recommendation for folks who like this game. I have been playing a game called Dual Universe and I think it fits this exact crowd. It has a heavy industry component where you can build a simple amount of machines or hundreds of them. More so I think the folks of this site would enjoy some of the realism of space flight. While some rules are bent, you need to do actual physics calcs to get your ship flying into space to escape gravity depending on weight etc. Still in beta but reminds me a lot of factorio and I think it will move closer and closer towards it. Warning that if you are into sci-fi and problem solving that Dual Universe will be a time sink.
That appears to be a Windows-only game using a fairly pricey subscription model. Looking at gameplay of it, it seems to have potential, but it also looks very janky and unfinished. Maybe after a few more years of development.
Haha, as I wrote that comment I was thinking of Josh from Let's Game It Out.
I'm 34 and not super into YouTube but the guy is smart and legitimately hilarious (to me, an adult, not to 12 year old gamers). I've watched through more of his backcatalog than I'd like to admit.
The first couple days of beta were awful. I can tell you I was ready to give up and then they completely turned it around. Still beta style issues but it’s pretty cool.
I've looked at that game hoping it would be like a more polished space engineers, but a major dealbreaker for me is the combat mechanics. the rpg combat model and the lack of player-made weapons seems like a missed opportunity when you have voxels and a physics simulation. I guess I can see why they did this. allowing players to create arbitrary weapons out of physics props systems could cause a lot of balance problems for an mmo. not everyone is willing to program their own missile guidance system. unfortunate though, one of my favorite parts of space engineers is designing complicated weapons and enjoying the chaos that ensues.
Fair points - if you watch interviews by the creator, it’s pretty amazing to hear what they have coming. All that stuff is coming, and they have demonstrated a lot less scope creep then games like star citizen. I am thoroughly impressed with the beta and to think a team of 50 people was able to do that in ~4 years!
I'm far beyond the point of having any shame about the fact that I have about 2500 hours in this game.
This game only starts when you launch your first rocket.
Building huge Megabases is where the real fun lies for me, and that's probably true for most players.
Trying for a target such as consumption of 10K science packs per minute, sustained. The size of that kind of factory is beyond anything, but it is awesome.
Unfortunately, I'm discovering that my DDR3 era PC can't cope with such large bases, I need faster gear...
In that case still threadripper for more memory channels, but specifically a low-core version?
But in that case you can do even better than building your own. The OEM-only WX line has 8-channel memory, and the cheapest one is a reasonable 12 cores.
Only 1500 here. Although I enjoy the early game very much, I agree that making a base as big as possible is where it’s at. One thing I notice is that most players talk in terms of SPM. I find this curious because I find it hard to get excited about the infinite science sinks, so I think in terms of launches per minute. I guess those numbers don’t sound as impressive?
I think there's a bit of history involved; there's also quite a bit of added complexity from the different science packs vs just launching rockets (though I've barely planed any unmodded since the current science pack recipes came out).
SPM and launches per minute are just different ways of saying the same thing unless you are launching so many rockets that space science is no longer the bottleneck for research. I haven't gone super far into the endgame, but in my experience this is pretty uncommon.
also personally, I find rocket launches to be too abstract to care about as a goal. I get where you're coming from with the infinite science, but I find it a lot more satisfying when every new tier tangibly improves the efficiency of my factory.
I see what you mean, but the SPM number is very easy to track, those rocket launches, much less so. Maybe with a mod, there was one but it died with the new Factorio upgrades a long time ago.
I enjoy Factorio for the trains, so I go for the train focused map and disable the critters. Why disable the critters? I'm just in it for the building and it's one less thing I want to fuss with after a long day.
Yes, the train network is a very important part of the overall fun. I love trains and OpenTTD (although I don't play that anymore).
I'm really waiting for an update where train stations will have queue's. This prevents 10+ trains racing en masse to that one single active/open station. It was in the works, hope it's in 1.1
> Unfortunately, I'm discovering that my DDR3 era PC can't cope with such large bases, I need faster gear...
This is really unfortunate. "Fortunately" it seems to be a result of the simulation engine using only a single core- there is the opportunity for the developers to get a 2-8x speedup from switching to a multithreaded simulation engine.
I imagine there's fairly loose coupling between, for instance, fluid calculations, biter pathing, and on-belt entities, which tend to require dedicated strategies for mitigating their outsized performance impacts. (to include using console commands to simply delete the biters) Those sound like fairly low hanging fruit for splitting off into three threads if there's no plan to completely multi-threadify the sim engine.
The game also allows multiplayer (I've seen 500+ players on a server). That requires some really strong consistency guarantees that you loose by adding threads.
Multi-threaded programming is in no way incompatible with utterly deterministic bit identical execution with sequential code.
Factorio is already written in a deterministic way.
The developers main argument is that they cannot get much speedup from concurrency because their software is primarily memory bandwidth bottlenecked and at least on consumer hardware using more cores doesn't substantially gain you access to more memory bandwidth.
I sort of hope that eventually there will be official assembly plant, miner, smelter upgrades that can help reduce UPS issues. I always feel like once you can progress to tier 2 things (blue assembler, red belts etc) you can get to end-game upgrades quite quickly.
Yes, at some point, building a megabase is just stamping a blueprint of a green circuits factory until green circuits are no longer a bottleneck, and things like that.
There is no vertical upgrade path beyond the rocket. And that is too bad.
Hm. I guess different people just like different things.
I've kind of lost interest after building out all the non-infinite sciences. Scaling for the sake of scaling just doesn't appeal to me a lot.
(To be clear to people who haven't played it: Finishing out all the sciences is something that cannot happen until after launching a rocket which is the nominal 'win the game' condition. I thought factorio was tremendous fun, and it ate up all my free time for a week until I got a rocket launched.)
A lot of what I found interesting was these emergent challenges like train throughput being poor because of chests becoming unequally full and blocking the train with slow unloading... which can be resolved by using the logic control. I really liked setting up advanced oil processing to not block on overproduction. Stuff like that.
In some sense I think the logistic bots kind of break the game-- they eliminate most logistic challenges, but on the other hand they're also the only way to both reasonable scale up capacity and also to handle minutia and worry about larger scale things.
I guess I would have liked to see a parallel track of other technology which is harder to use that you could work on exploiting for those of us who don't find merely scaling up for the scale of scaling up that interesting.
E.g. I think it would be neat if there were advanced chemical processes that required writing PID controllers to effectively drive, or resources scattered on the landscape that you needed to program autonomous tanks to go gather. Different enemies that require different strategies to defend against, etc.
Maybe some of this stuff exists in mods, I haven't really looked at those.
> The infinite scaling doesn't matter. It's about building out the factory itself, if that doesn't motivate you, it's just not for you.
Oh, I liked building a factory, in order to unlock then figure out the new mechanisms or defend against the bugs.
If I didn't I wouldn't have played through completing all the science.
But for me the game ended at that point because after that it was just more of the same with little more to discover.
I can see how some people enjoy cranking it to 11, but that part isn't for me.
Maybe I'm missing some of the challenge, but I feel like I could mostly scale to arbitrary size (I think my game currently keeps one rocket port with prod modules saturated) now by simply copy/pasting factory chunks and letting the bots replicate them. I guess I would find automatically furnishing long range construction with construction supplies kinda interesting to do... but I dunno why I'd want to try. :)
I love this game and have 1k+ hours in it. But version 1.0 is a mature, fully realized game. It's a great game, and enough. Out of pure selfishness I'd like to see this brilliant team call it done, and start on their next big thing.
My secret wish is that they start working on Factorio 2 with a new item state-memoizing game engine. Let me explain.
Conway's game of life organisms' different states can be memoized. Starting the simulation slowly, an engine can memoize the following computations. This is what Hashlife [1] does. Quoting from Wikipedia: "the rapid increase in speed is often described as "exploding"."
That sounds interesting, but what is the game here? Fractal factories where you build the internals, it memoizes a series of states, and then you can use that as a black box when building the layer above? Actually that does sound pretty cool.
SpaceChem had a similar version of this. You started by building individual factories and later puzzles had you assembling multiple factories together. You could choose to try to cram several steps into few, complex factories, or spread out simple steps over many factories.
I think SpaceChem is similar to Factorio, in that there is no single solution. The designer of SpaceChem said he just tried to create interesting problems, but didn't spend too much time going through possible solutions. Factorio is similar, in that there are set recipes, but how you move from one to another is completely up to you.
Anecdote: I was just last night trying to debug a relatively complex nuclear power plant blueprint [1].
Nuclear plants can be complicated in the game because they will consume their (expensive!) fuel even if it's not necessary, so people have constructed sophisticated logic systems to only feed fuel to the power plants when it's actually required.
For some reason, the blueprint I copied wouldn't feed new fuel into the power plants, and my factory ground to a halt for lack of power!
Not being fluent in Factorio's logic networks, I spent a couple hours trying to understand the logic connections and operations that made this system work.
And just as I write this, I find that a modified copy [2] (don't call it a fork :p) of the blueprint calls out my issue explicitly: if there is no fuel available to refuel, the system will wedge itself and effectively need to be rebooted!
The whole experience was amusingly similar to my job ^^;
There's a pretty simple solution to the power problem:
You can measure the flow of steam in the system by dropping two tanks in series in the pipe and finding their difference in level--the difference is proportional to the amount of steam being consumed. After some experimentation in creative mode, I found the difference level that corresponds to the need to enable another reactor. Then I set up the inserters to each plant to only take in new fuel cells when the steam draw exceeds the relevant threshold.
This does have some waste in that it doesn't count for hysteresis, and it doesn't try to prevent the reactors from filling up, but at the level of megabase I had, that level of waste wasn't an issue for me.
I set up my steam turbines to only turn on if an accumulator fell below 20% and then stay on until the accumulator is above 90%. Then I set up my nuclear plants to only be fueled if they're not currently fueled and my steam supply is under a certain level and then stay on until it's above a certain amount.
Right, usually the plant keeps running for a while after I decide to stop putting fuel in, and I don't want it to ever be running while my steam tanks are all full because that would be a waste.
The good news is nuclear fuel isn't expensive, so any complications are only needed if you just personally want to have fun with designing and debugging them, which is of course fine.
The biggest time where you want to avoid consuming nuclear fuel is likely to be the initial setup of the factory, where Kovarex enrichment hasn't bootstrapped enough U-235 for nuclear fuel. Once you get the bootstrap U-235, then you don't need the throttling as much, unless you have a massively overbuilt nuclear plant.
(I designed my system when I moved from 3 separate 2×2 nuclear plants to one large 2×6 system, and, as you say, even then it was mostly because I wanted to design such a system, and I didn't want to worry about power ever again).
I just put enough steam tanks for two fulings worth of production, then setup logic so that an inserter fires once to insert fuel in each reactor when the amount crosses under a bit under half remaining (and becomes retriggerable at a bit over half remaining).
In theory, since my turbines are slightly oversized for the reactors, under very high load it could possibly never get back above my reinsert level. But I've never had that happen and I have a siren set to go off if the steam tanks get under 25% and a constant combinator button I can press to insert fuel manually if that ever happens.
of course, by the time I got that going, I also had the breeder reactors working fine and with them in place the nuclear cells are really hardly expensive anymore.
It’s such an addictive game, I’m starting to worry that the developers themselves have become addicted to developing it - literally any other dev team would have declared it finished years ago and moved on to making Factorio 2. We are very lucky they have such commitment to quality.
Didn’t see this before posting my sibling comment, so I edited it to replace the Free download link https://anuke.itch.io/mindustry with a paid Steam one :)
(not affiliated, just biased to “shill” Free software :))
While Empire Earth never seemed to get quite as big as many other rts games, I think certain macro-management aspects of gameplay flew under the radar. For example:
1-click to set units to explore; when multiple units were selected they would fan out to decrease fog of war.
Multi unit formation setting, to dictate the spread factor between units when moving and fighting.
Setting indefinite patrol loops (although I think I recall other games having this?).
It’s been a while since I’ve played the genre, and it seems like factorio’s really nailed the set and forget - but allow tinkering - for base management. What I want is similar automation for army control, that’s always the piece that gets tiresome with, for example, Starcraft for me.
Ultimately, I want to write a script for my civilization and be able to step into the fold to take over manual control as necessary. And then update my script. If that’s too much, being able to just define action buttons that execute scripts for selections of a certain composition.
And of course to run it in a a competitive environment against other people and see what we can all come up with :)
123 comments
[ 1.7 ms ] story [ 178 ms ] threadGenerally, I very much enjoy watching other people play Factorio, I myself don't have the time to do it in a way I'd consider "right".
That said - my first 100 hours or so were without outside influence and were pure fun.
Factorio combines all the fun parts of my day job (algorithms, simple maths, tackling solvable problems) with a fairly quick reward cycle.
It has some very fun scaling challenges at every level of play. For anyone interested in trying it out they have a free and feature rich demo available (either through their site or steam).
No pain akin to many other games' setup where you "sell" a structure for less than for what you "bought" it for.
Once I get good at building bases fast, I'll try with enemies to see how I like it.
Step one: solve a small problem with a script
Step two: scale the solution to the problem to make it repeatable
Step three: optimize a part of the solution to improve the process
Step four: scratch head at why problem is no longer solved after attempted optimizations
Step five: isolate the changes and fix the problem in isolation
Step six: put changes into original solution to try and fix what I broke
Step seven: Google for answer as to why I can’t get it to work
Step eight: copy and paste solution only to make things worse
Step ???: remove all changes and get angry that nothing is working anymore
Restart
This made me think about my actual job (software developer at a large tech company), and why is it that it's not as fun as factorio? What's the difference?
I think a big part of it is visibility. If factorio were like my job, I'd only see my own small corner of the map. The rest of the megabase would be continuously refactored by thousands of other players, and largely hidden from view.
Occasionally problems would arise; sorry, no more red circuits this month, but here's some iron and copper and plastic. We've doubled our rocket control module quota. Various incompatible versions of schematics would be emailed back and forth and posted on wikis, and using them in your own situation would always require some sort of belt spaghetti because their setup is just a little bit different than yours. There'd be occasional high-level directives from senior executives explaining what goal everyone is working towards. Our competitors are launching their rockets on time. Logistics bots would go AWOL periodically. Random objects would show up on the wrong belt occasionally, no one really knows why. How did this fish get here? Every team would have their own opinions about the most aesthetically pleasing way to arrange power poles.
At least I can be thankful that my day job doesn't require flame turrets, artillery wagons, and occasional nukes. I wouldn't mind driving a spidertron to work, though (once the pandemic is over and "driving to work" is a thing again).
There's an old joke about golf "The goal of the game is to play as little of it as possible," which is also very true for factorio.
As you advance through the tech tree, previous things you did manually you'll automate more. There's an achievement called "Lazy Bastard" that forces you to do a bare minimum amount of manual work.
One my very first bosses noted the reason he felt I was an exceptional programmer was that I had managed to automate everything at the office from time reporting to doing performance reviews.
I have had some success with certain tasks in the very high-frequency category, but almost no successes with anything that has a cadence higher than a month (always relevant.. https://xkcd.com/1205/)
These were quarterly reviews. Basically I had it copy/paste verbatim the BS from the previous review. This worked for everything except accomplishments. These were 'completed' tasks (from my time reporting) for the reporting period copied into that section.
I wrote weekly status updates, important accomplishments I marked with asterisks. For the annual reviews I just had a script that loaded a TeX template from the past review then populated it from the flagged entries in my weeky reports. Then I'd just edit it down a bit, tweak the language and sent it out. In theory I could have probably gotten away with sending the autogenerated one at least after I'd refined the usage some.
I did it this way because it's always hard to start writing a performance review. But I found it a lot easier to start with a bunch of stuff I did and restrict it down to the relevant stuff.
I was tickled when they later updated the job description for my role and used the text from my performance review. I guess since I didn't have to spend much time populating it I managed to completely optimize the level of corporate-speak in my narrative. :)
In particular, its being able to build a complex distributed system with extremely high visibility to discover the bottlenecks and overflows that need to be resolved. With some Chaos Monkey thrown in as random biter attacks.
...until you start messing with fluid system and oil cracking
for me the only time when I'm always checking the docs is when I'm trying to supply enough water to a nuclear plant. the pressure loss over distance for a pipe almost never matters, but it really does for a nuclear plant. if you don't have a very short run of pipes or lots of pumps along the way, you will never achieve the full potential of your nuclear plant. this can be quite disastrous if you make assumptions about how much power the plant will make. I wish they would add something to the UI to make it a bit more clear when pipe runs are too long.
[1] https://factorio.com/download
[1] Before I stopped playing due to it taking so much time
but belts, like any other entity in factorio, have their orientation set before they are placed. so if you have an up belt and you click and drag left-to-right, you get a long line of parallel belts that don't connect. this is useful when you're trying to create a parallel bus, but very annoying when you just wanted to make a long belt.
the new behavior is that the game will ignore any mouse movement that's perpendicular to the direction of the belt being placed.
I know these small developers don’t have an infinite budget so I don’t expect anything of them unless it makes sense for their team, but unfortunately it does mean I’m less likely to play them. Which is a big shame because I’m pretty sure I would love Factorio.
Fundamentally, the user-interface is baked into the game. Every button-click, every key, has a purpose. Lets list the things that you must do in Factorio:
1. Move the avatar -- WASD keys + shoot + weapon select. The combat system includes grenades of various types, auto-firing machineguns, and deployment of various "combat bots".
Given the typical tablet gestures (click, click-and-hold, two-finger press, etc. etc.), there's simply not enough gestures to handle all movement and battle commands.
2. Building -- Even in combat, building items is common. I often build power-poles + electric turrets as part of my combat push into biter-land. Buildings can be rotated (4-rotations), shadow-built (you don't place a real building: just a shadow of one. Then a bot places a real one at a later time), or copy/pasted.
Given the typical tablet gestures (click, click-and-hold, two-finger press, etc. etc.), there's simply not enough gestures to handle all building commands.
3. Advanced UIs -- #1 and #2 give you an idea of how detailed the controls of Factorio are. But this extends dramatically to all entities in the game. Editing an inserter? That's a custom GUI (inserter filters, inserter stack sizes, inserter direction, inserter-rotation). Building a train-track? Custom GUI. Combinator logic? Custom GUI. Train-scheduling? Custom GUI.
-----
Maybe a Factorio could be rebuilt from scratch on the Tablet form factor. But I severely doubt it. Almost every key on the keyboard is bound to a command, all mouse buttons (zoom, scroll, right-click, left click, and more) are bound to commands.
And there are even "vi-like" hotkeys for the shortcut bar, allowing you to swap custom items into your toolbelt because we still don't have enough buttons to do things in Factorio.
A hypothetical "Tablet Factorio" would have to grossly simplify mechanics, and reduce the number of "modes" the game has. Its hard to tell that all these modes exist in Factorio, because the UI just so naturally teaches you the hotkeys and the buttons to push in all circumstances. But when you break it down, there's "too many modes" to really cram into a GUI.
And mind you: unlike Civilization, Factorio is Realtime. Biters are FAR faster than the player in the early game, they bum-rush you and block your movement. Every fraction of a second you waste with controls is another biter that comes up to start nom-noming you. Touch-screen interfaces are just too slow for combat.
-------
EDIT: And all of these GUIs interact with each other in "logical" ways. If you want to drive a tank (or even a train) while ordering bots to deploy blueprinted Laser Turrets, you can do that in Factorio.
But maybe the biter swarm was stronger than you expected, so you're going to retreat. You disable your personal roboport, swap out for some exoskeletons (+Speed), exit the tank, load a nuclear bomb into the rocket launcher, then run back to your base while nuking the biters who are chasing you.
You can seamlessly transition between situations, realtime. All the GUIs of Factorio interact with each other seamlessly.
https://i.imgur.com/yZeqpuo.png
Imagine hooking up a MadZuri loader (Arithmetic Combinator "output = input / -Size". Input is sum_of_chests (Green Wire, isolated to input-side). Output is also Green-wire (isolated to output-side). A 2nd network built out of red-wires on each inserter connected to its private chest, calculating "output - myChest >= 0??").)
Configuring such a setup would be... terrible, through touch. No matter how I think of it.
--------
With keyboard + mouse, I shift-right click to copy settings, then run down the line to shift-left paste settings across every inserter. But that's because the keyboard has many, many buttons that can map to useful hotkeys.
Touch provides... maybe 3 or 4 gestures that work while touching an object? (Touch, touch-and-hold, pinch-zoom, pinch-zoom out, multi-finger touch, multi-finger touch and hold). Between select, settings, rotate, zoom... I think we're already out of gestures before we even got to copy/paste settings (vs copy/paste blueprints vs copy/paste ghost objects).
The precision needed to hook up the Madzuri loader would be hell alone on an imprecise touch-screen. Its already kinda difficult with a mouse, even at full zoom-in.
https://apps.apple.com/us/app/ftl-faster-than-light/id833951...
A LOT of people will say it’s not possible with a controller.
"Satisfactory" is also really good for people who like this kind of game and are looking to lose 80+ hours.
I'm 34 and not super into YouTube but the guy is smart and legitimately hilarious (to me, an adult, not to 12 year old gamers). I've watched through more of his backcatalog than I'd like to admit.
This game only starts when you launch your first rocket.
Building huge Megabases is where the real fun lies for me, and that's probably true for most players.
Trying for a target such as consumption of 10K science packs per minute, sustained. The size of that kind of factory is beyond anything, but it is awesome.
Unfortunately, I'm discovering that my DDR3 era PC can't cope with such large bases, I need faster gear...
You aren't serious about factorio until you are measuring your case for a threadripper mobo.
But in that case you can do even better than building your own. The OEM-only WX line has 8-channel memory, and the cheapest one is a reasonable 12 cores.
also personally, I find rocket launches to be too abstract to care about as a goal. I get where you're coming from with the infinite science, but I find it a lot more satisfying when every new tier tangibly improves the efficiency of my factory.
I'm really waiting for an update where train stations will have queue's. This prevents 10+ trains racing en masse to that one single active/open station. It was in the works, hope it's in 1.1
This is really unfortunate. "Fortunately" it seems to be a result of the simulation engine using only a single core- there is the opportunity for the developers to get a 2-8x speedup from switching to a multithreaded simulation engine.
I imagine there's fairly loose coupling between, for instance, fluid calculations, biter pathing, and on-belt entities, which tend to require dedicated strategies for mitigating their outsized performance impacts. (to include using console commands to simply delete the biters) Those sound like fairly low hanging fruit for splitting off into three threads if there's no plan to completely multi-threadify the sim engine.
Factorio is already written in a deterministic way.
The developers main argument is that they cannot get much speedup from concurrency because their software is primarily memory bandwidth bottlenecked and at least on consumer hardware using more cores doesn't substantially gain you access to more memory bandwidth.
If you want to know more, they were very open about the development process so they will have a blogpost about this.
There is no vertical upgrade path beyond the rocket. And that is too bad.
I've kind of lost interest after building out all the non-infinite sciences. Scaling for the sake of scaling just doesn't appeal to me a lot.
(To be clear to people who haven't played it: Finishing out all the sciences is something that cannot happen until after launching a rocket which is the nominal 'win the game' condition. I thought factorio was tremendous fun, and it ate up all my free time for a week until I got a rocket launched.)
A lot of what I found interesting was these emergent challenges like train throughput being poor because of chests becoming unequally full and blocking the train with slow unloading... which can be resolved by using the logic control. I really liked setting up advanced oil processing to not block on overproduction. Stuff like that.
In some sense I think the logistic bots kind of break the game-- they eliminate most logistic challenges, but on the other hand they're also the only way to both reasonable scale up capacity and also to handle minutia and worry about larger scale things.
I guess I would have liked to see a parallel track of other technology which is harder to use that you could work on exploiting for those of us who don't find merely scaling up for the scale of scaling up that interesting.
E.g. I think it would be neat if there were advanced chemical processes that required writing PID controllers to effectively drive, or resources scattered on the landscape that you needed to program autonomous tanks to go gather. Different enemies that require different strategies to defend against, etc.
Maybe some of this stuff exists in mods, I haven't really looked at those.
The infinite scaling doesn't matter. It's about building out the factory itself, if that doesn't motivate you, it's just not for you.
Regarding PID controllers, I've done that for real-life applications (hobby) so no desire to do that in a game.
https://github.com/louwrentius/storagefancontrol
Oh, I liked building a factory, in order to unlock then figure out the new mechanisms or defend against the bugs.
If I didn't I wouldn't have played through completing all the science.
But for me the game ended at that point because after that it was just more of the same with little more to discover.
I can see how some people enjoy cranking it to 11, but that part isn't for me.
Maybe I'm missing some of the challenge, but I feel like I could mostly scale to arbitrary size (I think my game currently keeps one rocket port with prod modules saturated) now by simply copy/pasting factory chunks and letting the bots replicate them. I guess I would find automatically furnishing long range construction with construction supplies kinda interesting to do... but I dunno why I'd want to try. :)
Conway's game of life organisms' different states can be memoized. Starting the simulation slowly, an engine can memoize the following computations. This is what Hashlife [1] does. Quoting from Wikipedia: "the rapid increase in speed is often described as "exploding"."
So much so that this kind of thing is possible: https://www.youtube.com/watch?v=xP5-iIeKXE8
Simulating the next ticks just entail looking up the future. Except for things the users touch.
Since Factorio is a game about reaching the next scale of automation, I believe this is a worthy follow-up to Factorio 1.
[1] https://en.wikipedia.org/wiki/Hashlife
I think SpaceChem is similar to Factorio, in that there is no single solution. The designer of SpaceChem said he just tried to create interesting problems, but didn't spend too much time going through possible solutions. Factorio is similar, in that there are set recipes, but how you move from one to another is completely up to you.
Nuclear plants can be complicated in the game because they will consume their (expensive!) fuel even if it's not necessary, so people have constructed sophisticated logic systems to only feed fuel to the power plants when it's actually required.
For some reason, the blueprint I copied wouldn't feed new fuel into the power plants, and my factory ground to a halt for lack of power!
Not being fluent in Factorio's logic networks, I spent a couple hours trying to understand the logic connections and operations that made this system work.
And just as I write this, I find that a modified copy [2] (don't call it a fork :p) of the blueprint calls out my issue explicitly: if there is no fuel available to refuel, the system will wedge itself and effectively need to be rebooted!
The whole experience was amusingly similar to my job ^^;
[1] https://www.factorio.school/view/-LGzh1rL3S0dU-eJHfcr
[2] https://www.factorio.school/view/-La0aDEtd6Y4XlrpCfgW
You can measure the flow of steam in the system by dropping two tanks in series in the pipe and finding their difference in level--the difference is proportional to the amount of steam being consumed. After some experimentation in creative mode, I found the difference level that corresponds to the need to enable another reactor. Then I set up the inserters to each plant to only take in new fuel cells when the steam draw exceeds the relevant threshold.
This does have some waste in that it doesn't count for hysteresis, and it doesn't try to prevent the reactors from filling up, but at the level of megabase I had, that level of waste wasn't an issue for me.
I presume that certain amount leaves enough headroom for steam generated by a full fuel cell cycle (ie worst case scenario) ?
(I designed my system when I moved from 3 separate 2×2 nuclear plants to one large 2×6 system, and, as you say, even then it was mostly because I wanted to design such a system, and I didn't want to worry about power ever again).
Komrade, clearly there is nothing wrong with the design. You just forgot to press the AZ-5 button.
In theory, since my turbines are slightly oversized for the reactors, under very high load it could possibly never get back above my reinsert level. But I've never had that happen and I have a siren set to go off if the steam tanks get under 25% and a constant combinator button I can press to insert fuel manually if that ever happens.
of course, by the time I got that going, I also had the breeder reactors working fine and with them in place the nuclear cells are really hardly expensive anymore.
(not affiliated, just biased to “shill” Free software :))
While Empire Earth never seemed to get quite as big as many other rts games, I think certain macro-management aspects of gameplay flew under the radar. For example:
1-click to set units to explore; when multiple units were selected they would fan out to decrease fog of war.
Multi unit formation setting, to dictate the spread factor between units when moving and fighting.
Setting indefinite patrol loops (although I think I recall other games having this?).
It’s been a while since I’ve played the genre, and it seems like factorio’s really nailed the set and forget - but allow tinkering - for base management. What I want is similar automation for army control, that’s always the piece that gets tiresome with, for example, Starcraft for me.
Ultimately, I want to write a script for my civilization and be able to step into the fold to take over manual control as necessary. And then update my script. If that’s too much, being able to just define action buttons that execute scripts for selections of a certain composition.
And of course to run it in a a competitive environment against other people and see what we can all come up with :)