7 ms·
This winter break I spent an embarrassing amount of time on Satisfactory on Steam, which is essentially a nicer (and probably easier) modern refresh of Factorio
by lvice 6y ago
This winter break I spent an embarrassing amount of time on Satisfactory on Steam, which is essentially a nicer (and probably easier) modern refresh of Factorio.
While I played, I came to similar conclusions to the article. Building factories in this game is very very similar conceptually to building software. I ran into exactly the same problems that I ran while I build software like:
- If I don't plan ahead enough the scope and layout of the factory, I end up with a spaghetti mess that is very difficult to rectify (technical debt)
- If I plan too much ahead, I overwhelm myself without even starting. The amount over-engineering and over-preparation becomes counterproductive and demoralizing.
- Starting new factories is fun. Maintaining and extending a factory that is starting to show serious design issues is a chore. I always tend to want to scrap the factory and start fresh.
- While designing a factory, modularization is key. You can go with a "monolithic" factory where you provide all possible materials as input, and try to build everything as output. It is very efficient transportation wise, and can centralize all management, but it can and it will become an unmaintainable mess. You can also design factories as "microservices", where each factory is a very compact, clean and scoped. It will only produce nails, or rubber, or copper wire. When you need to increase production of that item, you just duplicate the module (horizontal scaling). It seems fantastic at first, but the issue is now transportation. Dozens of micro-factories have to communicate with themselves to combine and produce more complicated items. The physical distance makes planning transportation a logistic and construction nightmare. So you have to find the right compromise between monolithic and micro-services.
I think I agree with the article that you can extract a lot of information about how good a person can be at software development by the way he plays Factorio/Satisfactory. Not so practical though :)
- zionic 6y ago+1 on this. I could never get into Factorio with the simple graphics and 2D top-down. Satisfactory is freakin incredible and it is easily the best new game I have played in the last 10 years.
- lacksconfidence 6y agoIf you enjoyed Satisfactory you might also want to try out Dyson Sphere Program. It doesn't provide the veritical building but it is a different take on the factorio/satisfactory style of gameplay.
- ericbarrett 6y agoI tried DSP, very fun game but the performance is terrible. i7-9700K and RTX2080 and I get 20 FPS before using even 1/10th of the first planet. Can't recommend it currently.
- pbhjpbhj 6y agoI've only played the demo of factorio, but on the same computer (AMD Ryzen 5, RX540) DSP runs much better for me - there's a noticeable slowdown on save now that I've covered about half my starting planet but other than that it's stutter free.
- lacksconfidence 6y agoInteresting, while i haven't built a sphere yet I have factories going on multiple planets and haven't noticed any performance issues. I'm on a a 2700k with a 970GTX. Not suggesting you don't have issues, but perhaps there is a fix?
- innocenat 6y agoI am the complete opposite of you. I could never get into Satisfactory with the 3D graphics, but I absolutely love Factorio.
- kleff 6y agoSatisfactory is really great, highly recommended from me as well. I think the verticality really adds a lot of fun over Factorio where you are restricted to keeping everything on the same level. Can make some really confusing spaghetti though...
- willis936 6y agoThe loss of 3D was one of the biggest things I missed when moving on from industrial mods for minecraft (the inspiration for factorio). I recently got an RTX card and played around with the minecraft RTX demos. I decided to look further into behavior packs, and apparently the scripting API is much more capable than it previously was. The community of people making content is basically nonexistent, but I now think it's just because people have moved on. Everything is in place to have added blocks, oregen, ticking tile entities, power generation/distribution, multiblocks, etc. It would be nice to see a behavior pack that picks up the torch of gregtech/industrialcraft. Unfortunately, most of the unofficial GT versions have lacked proper vision. That is, vision in a way that is not aligned with GT proper, and what really draws players of industrial games in. Anyway, here is a promising example. I hope to see more industrial content for minecraft for windows 10. https://mcpedl.com/advanced-machinery/?cookie_check=1 https://mcpedl.com/advanced-machinery/?cookie_check=1
- horsawlarway 6y agoYeah, I love both factorio and satisfactory, but factorio ended up being the one I dumped more hours into. Satisfactory ended up hiding too many details as you move around - the first person view and the very large structures made it really hard to untangle the mess. Satisfactory felt like writing regexes - Basically write only, hard to read and parse afterwards. That said, man the first person view is fun when you're actually doing the building. Just not nearly as fun once things have gone wrong and you need to debug.
- tomc1985 6y agoDon't know if I agree on the height issues... every machine has ladders, they give you a tower fairly early on, and you can always walk on conveyors As for debugging, I've found that planning a build on paper, keeping in mind production ratios, eliminates the need to experiment and debug, and then building simply becomes figuring out how to route conveyors I've never had issues troubleshooting by getting to a high place and looking at the big picture, but to be honest since I started planning my builds on paper it barely even comes up
- SilasX 6y agoDisclaimer: I've only played the Factorio demo. If that's the analogy, then I don't think it captures the core difficulty of software, which is unknown unknowns. That is, you write something that depends on an external system working a certain way, you follow its spec and depend on it working that way, and then it just ... doesn't, and you have to find exactly where it deviates, possibly making up some complicated kludge. To capture that, there would have to be e.g. some hidden logic about which direction the output comes out that you have to deal with and work around until you understand it.
- deleted 6y ago[deleted]
- pbhjpbhj 6y agoIANAProgrammer, to some extent I create my own GIGO issues which are like small instances of poorly defined behaviour. Sometimes you'll realise your whole world has ground to a halt and it's a conveyor backed up because one item arrived at an inserter and blocked it. I play a bit of DSP but have at least 3 different mitigations which are akin to input sanitising. However, if you just stick a filtered inserter by a conveyor to grab errant materials then it can comeback and bite you ... though I've found either I can route them back to the proper channel or I can get away with the technical debt by throwing enough storage at them and leaving it until the thing needs refactoring. You can have too much realism! I like that every green-circuit board works, rather than getting failures of systems that use that item with some random errors (that increase of your closer to the sun, say). I think that would be too frustrating.
- lvice 6y agoI think this part is captured by Satisfactory "Tier" system. As you progress in the game, you unlock Tiers which allow you to build new materials and structures. The issue often is that you optimize the hell out of your factories to build something that is needed at you current Tier, and when you unlock the next one, you suddenly have to refactor everything to build the new items, that require different ratio of materials and inputs.
- rcxdude 6y ago
- bentcorner 6y agoI haven't played Satisfactory since the water update, so I have no idea if my approach still works, but IMO the easiest way to design an efficient factory is to not bother trying to balance anything, and scale out in only one direction as needed. Feed everything along a central stack of belts, and multiplex inputs/outputs via splitters/combiners so any individual machine line will always have throughput. It doesn't make for a very exciting build, but it's very rote and dependable. Also - build the entire thing high up in the sky.
- oauea 6y agoSaying satisfactory is a nicer factorio is ignoring everything that makes factorio a good game.
- danaris 6y agoAs someone who has played a bunch of Factorio but only heard about Satisfactory: Can you elaborate on that?
- hobs 6y agoFactorio is very much like programming on a good team, automation, expansion, refactoring, tooling used to solve your problems. Satisfactory is cool, but at no point do you get the "ok so I built this entire factory and now I can just replicate it modularly" - no, just place every, single, block, by, hand. To me factorio is a rethinking of the RTS game, satisfactory is like a really nice minecraft mod.
- tomc1985 6y agoFactorio didn't have blueprints either, early on. I suspect Satisfactory will add them as it is still in early access
- hobs 6y agoI think its possible, and I might switch over my opinion if such a thing existed - it'd still be hard to optimize it to build worlds of "factorio level" complexity.
- Filligree 6y agoThey've said they won't have blueprints. Now, granted, they might change their minds -- but it's hard to imagine how blueprints would work. Factorio is played on a 2D plane, with few obstacles in general and none that can't be removed; Satisfactory is played in a 3D world with immutable obstacles. The game is tuned towards not needing blueprints. You don't need large quantities of anything, just a small amount of every item -- the complexity scales up, but the scale itself kinda doesn't. Yes, some players will attempt to turn the entire output of the map into turbo-motors, producing exactly the right amount of every ingredient, and will build their factory in the sky to avoid dealing with the terrain-- And yes, blueprints could be useful in this specific case. But that's not most players.
- colpabar 6y agoNow check out Dyson Sphere Program, it's like those games but in space ;)
- zinclozenge 6y agoI just got it recently and I enjoyed the heck out of it.
- pbhjpbhj 6y agoI've got to the "I probably need to leave my starter solar system in order to increase my DS production rate" stage, and honestly I think that's my limit. I find I can't recall where everything is (I think that can be fixed to some extent) and I'm not about to start writing documentation for a game!
- DanHulton 6y agoThe latest update in Experimental (in Early Access on April 13) adds Drones for point-to-point delivery without needing connecting belts or rails or whatever. They're pretty low-bandwidth so you can't use them to transport raw materials at any scale, but if your "microservices" are sufficiently focused at a higher tier, you can tie them all together pretty easily with Drones now. At least, in theory. Drones are T8 tech, and I'm not _quite_ there yet to start putting that theory into practice. But that's the stated intent, at least.
- kempbellt 6y agoAlso dipped my toes into Satisfactory this winter - after spending over 2,000 hours in Factorio. Games like these challenge your ability to manage complex systems. Remembering which parts of your system processes which data (aka, "materials"). Finding and addressing bottlenecks in production lines. Maintaining and upgrading components, while creating new production lines using the techniques you learn. Managing time spent refactoring old systems vs replacing them with new ones. Etc, etc, etc. Planning properly - as you mention - is extremely critical to building a good factory. However, despite over a decade of software development experience, and some time in Factorio, my first several play throughs in Satisfactory where an efficiency disaster, and even my recent ones were an ugly mess of spaghetti for the first few days of gameplay. It took several playthroughs for me to grok the mechanics well enough to build a somewhat efficient factory. If my first couple tries were reviewed in a job interview I highly doubt I'd get the job. There are strong similarities between these games and the mechanics software development, but like any new system, it takes time to create a true intuitive understanding of the mechanics and demonstrate them in front of others. If you're going to interview someone for a job, you're better off testing their ability to play the game that they'll be playing on a daily basis if they get hired: "Software Development". Software Development, the game! Want to play a game where you will never run out of new content? Where you are constantly challenged by new issues that'll haunt your dreams and make you lose sleep? Software Development is the game for you! With an ever changing landscape, where components and frameworks are updated daily! That's right, DAILY! This MASSIVE-multiplayer-online game never turns off. There are actively hundreds of thousands of players right now! And you know what the best part is? Software Development is not "Pay-to-Play" like all those other games that try to steal those valuable dollars out of your pocket. No, in Software Development YOU get PAID to play. That's right! All you have to do is find a company, nail a job interview, and enjoy playing the game you love while they hand you buckets of REAL LIFE MONEY that you can spend on other games that you have to pay to play. And also, food and rent and stuff... Download now at, the internet.
- deleted 6y ago[deleted]
- evo_9 6y agoFactorio runs on Windows, Mac and Linux; Satisfactory only runs (currently) on Windows. Factorio is the better option, though Satisfactory is a great game non-the-less.
- bcrosby95 6y agoThe major difference between Factorio and software is you can't refactor in Factorio. Your options are to spaghetti or start fresh. You can't really pick and choose good pieces of your layout because of physical restrictions and the game is a giant math equation, and you want inputs to match outputs at every step of the way - if you don't have the space to do this you don't have the space. It's like if in the software world you could greenfield, waterfall, or spaghetti. There is no agile in Factorio, which is broadly accepted as most commonly the best way to develop a piece of software.
- tomc1985 6y agoBut you can refactor... you can clear away everything and you get back 100% of materials
- bcrosby95 6y agoDemolishing your base and building a new one is not anything like refactoring.
- tomc1985 6y agoWhy not? You clear out the part you don't like, and build anew No, code refactoring does not fit perfectly in this analogy. And your ability to do so is somewhat dependent on how you build. But I think all those factors are simply part of the puzzle in refactoring a factory
- yuliyp 6y agoIt's exactly like refactoring. You can replace a component that does something with a different structure for accomplishing that. Of course, if the system was tangled, then you may need to refactor other components first (read: relocate them to give room). The structure of the base around something is going to place limits on the refactoring. If the base is so horrible that you decide to gut it entirely, it's just like a rewrite.
- 6y ago
- Iv 6y agoI think that's why I dont want to get into these games. They feel like work!
- novok 6y agoThis is the reason why I don’t like playing factorio. I’d rather make real software and get paid or build something usable vs a game version of it. I spend a lot of time already doing it as my job, and it stresses me out in a similar way.
- sixothree 6y agoThis is exactly why I don't play games like factorio or tis-100. It's too much like work for me.
- lvice 6y agoI honestly stopped after the winter holidays for this reason. At one point, it felt a bit too similar to actually working... but I enjoyed it very much until the "spaghetti factory point of no return" :)