What Is Interesting About Factorio
It's probably the best game I've ever played
It's also extremely addictive to engineers.
What is so good about it?
- Programming - super fast, stable, no bugs
- Design is very satisfying
- Custom UI everywhere, which you don't even notice because it's so good
- It's wireheading, but for the part of you that wants to work, learn, and get things done.
Trust the devs
It's good enough that when learning new parts of it, I have to remember to just trust them. However they've set something up, it is probably done well. When I try a new mechanic, I'm regularly surprised at how nicely it's been done.
- Learning how belts work, and not being able to wait til you get better inserters, filter inserters, etc. The feeling when you get access to "fast inserters" and watch them working hard for you.
- Driving the car is just silly fun - something you've worked hard to get to, then it's hard to control and you keep crashing into things
- Grenades are very smoothly integrated into the physics of the game
The game really functions as a test of personality and IQ. I've noticed a few traits about myself from this:
Tendency to continue using known technology and strategy rather than invest in learning more.
When I first played, I kept using belts, which I understood, for ~50 hours, rather than spending even 5 minutes learning trains. When I finally learned how to use them, I regretted having delayed. Learning train signals was another similar blocker. I concluded from this that I'm applying known tech too often relative to learning new things - at least in this kind of protected, well-designed system.
Thinking back, it was also pretty irrational to not trust the game - what I knew about it was nearly universally well-done and worth learning, but I didn't extend that to trust the parts of it I didn't know about yet. I'm not done yet, either - I still haven't used the red/green wire system, or a few other elements.
If you don't understand how to use something, will you spend 1 minute to set up a test that will validate it? Or will you just think "oh that doesn't work / I don't understand" and then ignore it for hours? Defaulting to testing/investigating is a really good scientific way of thinking. Yudkowsky calls this the "Ugh field" - having negative emotions associated with something (in this case, a new mechanic or object you don't understand) will cause you to ignore/avoid it, sometimes for years. Spending time learning to see and overcome these is valuable. What problem do you know of which you just don't want to think about, that's a subtle weight on your shoulders?
People often play for 100+ hours without knowing keyboard shortcuts for extremely common actions. A meme on factorio's reddit is "TIL (Today I Learned) this shortcut, can you believe it?"
This isn't so much IQ as testing someone's tool usage ability. By default, regularly doing process analysis is really useful for learning - similar to having people review your go games, or just hiring a teacher for whatever you're learning rather than doing it on your own. Every 10 hours doing something you should step back and do a process analysis on it to see if you have any leaks. I've even heard of people screen-recording them programming, and then watching later, to have an external view of how they spend their time, because in the moment you can't evaluate very well.
This process of going out of your way to get feedback is common in most high achievers, and technology allows it more
- In poker, it's really common to record sessions and use automated analysis
- In go it's a long tradition to have group reviews of games, and alphago is being used similarly
- I've also heard of this in programming, since you can't tell what you need to improve in the moment.
Resistance to perfectionism.
Finding the balance between orderliness and organization, with obsessiveness, is really hard, and is also really valuable in life. Example: you deconstruct a belt with a full inventory and a low-value resource falls on the ground. It's really tempting to spend the time to pick it up; should you spend the time to go over and pick it up precisely? That will entail some inventory management. But if you keep seeing it on the ground there, won't that be distracting, too? Oh, and now you're spending time analysing a choice where both options are not very important.
Psychologically appealing elements
- Place knowledge - you create a unique physical configuration, and gradually get to know common areas of movement
- Place evolution - seeing how places and structures change over time
- Increasing order - gradually getting things straigtened out
- Progression - remembering past challenges and how easily you could overcome them now, both production and fighting
- Projecting/Quick Todo list - during play you often think "what should I do now?" and come up with a plan
- Diagnosing/bugfixing - because item production rates vary, and also because your production line has unavoidable dependencies, you often have to diagnose problems in item movement by tracing back the source of each item. This is extremely fun and satisfying
- The desire to watch working systems - once you make a change, watching the system come to equilibrium again is really fun. i.e. if I double production of green circuits, I'll watch them flow through the system and find the next choke point
- Delayed work - the feeling of having automation in place that helps you, and the joy of seeing things go like clockwork
- Mastery - things that I previously was struggling with become automatic
I've played about 10 hours of multiplayer and it's even better, for these reasons:
- You feel more productive as a team
- You can share information, and also learn from them
- Pride in things I've learned on my own
- You actually do progress faster, and it feels like you spend less time doing scutwork.
This game illustrates the principles discussed in Business Process Novelizations - books which fictionalize factory/management/automation process work and analysis.
So it's actually devops work
It's basically like working on networking/devops, but without any of the hard parts:
- You have complete ownership - no contacting/meeting with other teams
- No black box/3rd party APIs, and no confusing error messages when
- Nothing about security - everything is fully accessible
- Api interfaces can be changed unilaterally. But just like in that work, there's huge value in standardization
There are some deeper, more human themes:
- Gradual disappearance and destruction of natural elements - your initial beautiful trees and open green fields slowly die, and you are motivated to destroy them with grenades or fire to make room for expansion.
- Mankind as an imposition on the natural world; natural world as actively resisting changes from man. Similar to gaia-type environmentalist/anti-natalist views.
- But the economic worldview is very positive sum! With nothing but a pick in your hand, you can build up a massive infrastructure, without really depriving people of much
- Sculpting nature
Specifics about the game
- The map screen is not quite perfect - navigating around or switching back and forth from the standard view is not ideal
- It's a bit weird how many things you have to research using green which you won't use for a long time (as of 0.17)
- The path laying default logic isn't perfect - having a "draw mode" that automatically rotated paths seems doable
- Haven't gotten into modding - that may answer more of my questions.
Friction in factorio vs real life
What aspects of factorio have less friction (i.e. the difficulty of using and interacting with a system) vs real life?
- In factorio you can instantly rotate, delete, and redeploy buildings
- You can change what factories produce immediately.
- There are no costs for installation of components.
- You can carry much more in Factorio than in real life.
- There are no environmental, legal, political, or any other restrictions on deployments.
- Trains by default have engines which can handle all of wood, coal, rocket fuel, and nuclear fuel, and switch between them
- The human, managerial issue is
- It's now possible to see the real world as one giant factorio factory - industrial centers are fed by distant logging/mining bases, with trains and ships connecting them.
- It's an old-fashioned view of the economy, as being something designed to produce items. Modern economies target very human things more - food, companionship, fame, etc, which are ignored in factorio.
~400 hours in, here are the usability issues I still see:
- Loading locomotives with fuel every time I drop one is really manual and annoying
- The manual/automatic toggle for trains is really tedious - there should be a hotkey for this
- It would be nice to be able to assign hotkeys for individual items more easily. The quickbar system works pretty well but could be better.
What I'd like to see
- You should be able to build dams for hydroelectric power, and during the day, pump water back up behind them for storage for higher times of electricity usage. It would be awesome to be able to build dikes and raise the water level behind them.
- Landscape manipulation - cliffs are an amazingly powerful object, able to completely stop biters - but you can't create them. You should be able to do more geology modification. This part of the game is already a major, important theme - the progression from lush green forest to dead, bare concrete.
- Smarter enemies - a really evil version would have biters attack everything, not just military targets - let alone if they understood your factory and tried to make it non-functional by attacking key weak points.