11 ms·
I think the biggest hook for Factorio is that it's an _actual_ visual programming language. So much of what we do day to day ignores this (dominant!) mode of pe
by percentcer 6y ago
I think the biggest hook for Factorio is that it's an _actual_ visual programming language. So much of what we do day to day ignores this (dominant!) mode of perception. It's extremely refreshing to be able to simply look at a system to reason about it.
(as an aside, I think this is also why the Zachtronics games are so effective)
- Polylactic_acid 6y agoI seriously struggle with factorio, You have to have a seriously good planning ability to create something that doesn't instantly turn in to a spaghetti. I always end up having to scale up things and then having no room. I find text based programming to be much much simpler. If I need to add more somewhere, I can, my text editor will push everything else out of the way.
- tasogare 6y agoTrue. But much like you can use external libraries in your game, you can search and copy (or take inspiration from) designs posted online.
- TheDong 6y agoFactorio is artificially limited to make it more interesting. Real visual programming languages allow building and collapsing abstractions and don't add space constraints. You could just as easily say "text coding is so hard because if I realize I missed a character I have to start the entire file again; it would be nice if I were using something other than 'cat > file.c <<EOF', like visual blocks that could be rearranged later.
- Arnavion 6y agoGet yourself a mod that starts you off with construction robots, like FasterStart [1]. That plus ghost images plus blueprints allows you to plan your factory, and cut-paste it when you need to. Also, you can persist blueprints across games, so you don't have to re-invent a working factory layout in a new game if you don't need to. As a bonus, FasterStart also takes away the grind of cutting trees by hand. I use it just for that. Few things annoy me more than having to take a break from building a factory to mindlessly holding right-click and pressing movement keys for a while because RNGesus decided to put a rainforest in the way of my expansion. It's the video-game equivalent of being broken out of a programming flow to sit in a pointless 2-hour meeting. Another option is to use a mod like Factorissimo2 [2] which lets you put factories inside a building and move the entire building around. Buildings can also be nested so that you can group, say, all buildings related to iron ore -> iron plates inside one outer building. ( * ) Factorissimo2 was invaluable when I played a game with Angel's mods, because with Angel's the process of getting iron plates from iron ore starts off as a one-stage process but eventually becomes like a ten-stage process. There was no way I was going to lay that out on ground level while still accounting for future expansion. [1]: https://mods.factorio.com/mod/FasterStart https://mods.factorio.com/mod/FasterStart [2]: https://mods.factorio.com/mod/Factorissimo2 https://mods.factorio.com/mod/Factorissimo2 ( * ) IIRC this is disabled by default because people think it's unrealistic. I just pretend a nested building is an upper floor in the third dimension and the belt connections are freight elevators.
- kccqzy 6y ago> have a seriously good planning ability to create something that doesn't instantly turn in to a spaghetti If you only design factories from scratch by yourself, that's akin to being handed an assembler programming manual as your only reading material and building up every programming abstraction yourself. You likely won't discover the best abstractions. After a while playing factorio I decided to watch experts play the game on YouTube, and that's like a programming novice watching an expert. They know how to create well-known patterns (especially with belt mechanics) and deploy them readily. Watching these videos is like someone handing you a library of programming abstractions your can put into your own code.
- waynesonfire 6y agoat least on the initial play through, i think that would ruin the game for me. i personally would prefer to discover the patterns on my own, or at least to the best of my ability. it's tempting, but i've become aware that reaching for the strategy guide tends to be a huge spoiler. I picked up Pillars of Eternity a while back and couldn't get past the character creation screen without looking up strategies for character building. I couldn't get through the "it doesn't matter just pick something that sounds good" block. Bad experience for me, ended up dropping the game very quickly even though it has great ratings.
- Faark 6y agoTotally get that. In RPGs I still sometimes have the habit of reloading if things don't go as planned and feel like this ruins the fun for me. Getting rid of engrained habits is hard :/ On the other hand, I really like having spaghetti factories. Having the same few pattern repeat a bazillion times just looks boring. Would love to stumble over my first saves, since those were the most organically grown. But back then I believe saves were stored in the install dir and i most certainly have uninstalled my "non-steam version" since. Thankfully, by now I mostly internalized that planning the perfect factory will actually take me more time than just building something good enough and upgrading/replacing it later.
- diegoperini 6y agoIt's really hard to play a hardcore CRPG[0] like PoE if you haven't been playing some similar games lately. PoE gives you everything the moment you launch the game, then leaves you alone. This is intentional and really fun if you already have the muscle memory for theorycrafting[1]. I find RPGs which let you rebuild your characters in the middle of the game very approachable. They are good gateway drugs to get some familiarity with the genre. Divinity: Original Sin 1/2 are good examples, I highly recommend them. Any ARPG[2] will also do since they ask for less number crunching and more reflex building. Many of them never allow you to set your character before you progress in the game. Some JRPGs[3] are like that too (i.e Pokemon games). Find me on Steam if you need some good RPG recommendations: https://steamcommunity.com/id/diegoperini https://steamcommunity.com/id/diegoperini [0] https://www.urbandictionary.com/define.php?term=CRPG https://www.urbandictionary.com/define.php?term=CRPG [1] https://en.wikipedia.org/wiki/Theorycraft https://en.wikipedia.org/wiki/Theorycraft [2] https://en.wikipedia.org/wiki/Action_role-playing_game https://en.wikipedia.org/wiki/Action_role-playing_game [3] https://en.wiktionary.org/wiki/JRPG https://en.wiktionary.org/wiki/JRPG
- spyckie2 6y agoThis is what I love about it - it's actually hard to do things elegantly. It has a skill curve where playing at a high level is something you learn over a long period of time. It gives it immense replayability to delight in the opportunity to build something slightly more robust or scalable. If you derive enjoyment from the learning part and set your expectations appropriately (so you don't feel frustrated expecting more from yourself than your skill level), it becomes really addicting. PS: https://factorioprints.com/ https://factorioprints.com/ is a great inspiration if you just don't have time to figure out things yourself.
- vorpalhex 6y agoFactorio lets you rip apart factories and rebuild them (for no cost) for this reason, and even as a seasoned player while I have my go-to strategies, I still end up rebuilding sections. That's not failure it's just part of the gameplay! There are a few mods that can make your life a bit easier though - check out Factorissimo which lets you make self-contained buildings.
- pavon 6y agoHah, and that is my biggest complaint about real visual programming languages, like LabView. They are fine for writing simple software from scratch, and the dataflow aspects have some neat features like trivial parallelization. But man are they a pain to maintain software in. You either spend massive amounts of time rearranging blocks, and rerouting wires, or your code becomes visual spaghetti.
- melvinroest 6y agoThe other thing is that it goes at a speed that we can comprehend. If I type for (let i = 1; i <= 10; i++) console.log(`Round ${i}`) And you run that in your console, it happens in the blink of an eye. Not with Factorio, it's fast, but we can still follow it. We can still see the individual materials being inserted or taken out. That makes me think of a project idea: create an environment that executes fast but not at the speed of a computer (like Factorio).
- lonelappde 6y agoMIT Scratch.
- pbhjpbhj 6y agoYou can run in a debugger that steps through and shows variable values, has a pointer, etc..
- TOGoS 6y agoI've long thought it would be neat to make a Factorio mod that lets you represent pieces of data as items that can be passed around and processed by different steps. For multithreaded, message-based programs it could really help one spot problems as the thing runs, e.g. messages never being responded to because someone's output buffer got full.