16 ms·
Menu simulation, Spidertron, Ghost building, Confirm button
- db48x 6y ago"less flawless than intended" is a good way to think about it. Factorio is a good game, but what makes it great is just how flawless it is. You can grow your factory for hundreds of hours before you run into any performance limitations, and it will never ever crash or glitch or desync. They've spent years making it as flawless as possible.
- royletron 6y agoHear hear! Factorio is exceptional - if it was more accessible it would be held up as the greatest game ever. But then, if it was more accessible, it wouldn't be the greatest game ever... scream!
- rochak 6y agoI would say that this game is a Software Engineering marvel.
- anoncake 6y agoI hope they make the source code public one day.
- aequitas 6y agoI think this is party true due to how well their test setup is. Being able to automated regression test every feature of the game[0]. Having a comprehensive test suite also helps you as a developer to dive into the code and refactor away with confidence that you don't break functionality. Thus allowing for more aggressive and efficient refactoring and experimentation. At the end, it's not the code that is your application, its the features. Code can flow into many different ways from these features. [0] https://www.youtube.com/watch?v=ivLFP2eApto https://www.youtube.com/watch?v=ivLFP2eApto
- Cthulhu_ 6y agoThat's really impressive. I'm not into the game industry at all but I get the impression that automated testing isn't so much of a thing with a lot of games, and they depend on manual testing a lot, either with armies of game testers or a community (for early access games), especially for games with a lot of randomness and "emergent" behaviour. But for an indie game like Factorio with so much development, features, interactions, etc it's almost mandatory. I'm sure most games have a big automated testing suite though, there's too much in there nowadays to warrant manual testing.
- tpxl 6y agoGiven how weak some AAA titles are regarding bugs (Bethesda, Horizon Zero Dawn) I highly doubt there is _any_ automatic testing being done in most AAA games, let alone indies.
- aequitas 6y agoGuerrilla games actually does some extensive testing on their game[0]. Like AI bots playing the game continuously to uncover bugs. But they are a Sony first party game studio which means they have a lot of experience to gain regarding the PC platform which is more diverse than a console and requires an even more extensive testing setups. Also, a lot of these kind of games are also highly driven by art style. Which is really hard to capture in automated test suites. Add to that the complexity of a 3D world and all its interactions and associated math. [0] https://www.youtube.com/watch?v=2VDlX3Dqm0w https://www.youtube.com/watch?v=2VDlX3Dqm0w
- tpxl 6y agoThey released a game for 50€ that regularly crashes. That is not something a good studio does. Sure, they don't have experience with the PC, but that doesn't excuse the buggy release, and I'll dare call their testing for PC garbage if it let those kinds of bugs through. >Also, a lot of these kind of games are also highly driven by art style. Which is really hard to capture in automated test suites. Add to that the complexity of a 3D world and all its interactions and associated math. To be honest I wouldn't know where to start testing the art stuff, but the crashes should be doable automatically relatively easily.
- moritonal 6y agoAn insane bit is that it's a custom game-engine, written in C++, and yet it runs on Mac, Windows and Linux. That better cross-compatibility than most Unity games written in C#!
- pta2002 6y agoI thought it used Alegro? Did they change that?
- Acur 6y agoThey replaced it with a custom renderer: https://www.factorio.com/blog/post/fff-230 https://www.factorio.com/blog/post/fff-230
- jayjader 6y agoThey used Alegro until a couple years ago, when they did a complete graphical rework of their interfaces & at the same time wrote their own GUI code to replace what Alegro was being used for.
- moritonal 6y agoPeter Molyneux, designer of Black and White (an old god-game) said that he wanted to make a game that he could look over someone's shoulder playing it, and know them better than if he'd spent an hour talking. Few games give you enough creative choice to materialise how your head works in a game. A lot either over-prescribe the optimal way of doing it, or the meta just forces your hand. Factorio lets you use rules to express yourself within a space they made for us. I play it for the same reason I first coding.
- vanderZwan 6y ago> a game that he could look over someone's shoulder playing it, and know them better than if he'd spent an hour talking. If I think back at how my various friends played The Sims back in the day, I think that's a pretty high contender of meeting that goal.
- rhn_mk1 6y ago> I play it for the same reason I first coding. I'll go on a bit of a tangent and say that I don't play Factorio for the same reason that I keep coding. The gameplay gives you creative choices and sets of rules, and a satisfaction of working within those rules to get things going by reflecting your head inside it, much like programming. I bounced off of it after a few short hours, with a deep sense of lost time. If what I do in the game is the same I would do for work or as side projects, then why am I choosing the game, which has no outcome in the real world? I went back to my side project, and never played Factorio again.
- robbiep 6y agoI had a similar experience, I loved it, I had a great 20 odd hours several years ago, but experienced the realisation that the greater ‘game’ out there was a better use time and have not gone back (compared to civ or stellaris, or prison architect, which I give 10 hours to a couple times a year) The game is great, I just can’t spend that much time... psychologically... repeating the same motion ad infinitum
- TaupeRanger 6y ago
- fabian2k 6y agoThe Factorio developers have spent a very impressive amount of effort optimizing the game. Here's a few more Friday Facts about how they optimized specific aspects of the game: - Friday Facts #82 - Optimisations: https://www.factorio.com/blog/post/fff-82 https://www.factorio.com/blog/post/fff-82 - Friday Facts #117 - Path Finder Optimisation I: https://www.factorio.com/blog/post/fff-117 https://www.factorio.com/blog/post/fff-117 - Friday Facts #176 - Belts optimization for 0.15: https://www.factorio.com/blog/post/fff-176 https://www.factorio.com/blog/post/fff-176 - Friday Facts #204 - Another day, another optimisation: https://www.factorio.com/blog/post/fff-204 https://www.factorio.com/blog/post/fff-204 - Friday Facts #209 - Optimisation is a way of life: https://factorio.com/blog/post/fff-209 https://factorio.com/blog/post/fff-209 - Friday Facts #281 - For a Few Frames More: https://factorio.com/blog/post/fff-281 https://factorio.com/blog/post/fff-281
- oblio 6y agohttps://www.reddit.com/r/factorio/comments/jizq1b/i_programmed_factorio_from_scratch_multithreaded/ https://www.reddit.com/r/factorio/comments/jizq1b/i_programm...
- dmix 6y agoInteresting 4 month project. You can tell a ton of programmers play Factorio from that thread alone.
- BlueTemplar 6y agoHoly crap !
- tgb 6y agoI was wondering, what's the "right" way to run a Factorio-like simulation, algorithmic ally speaking? I.e. You have conveyor belts bringing items to/from producer/consumer objects. A conveyor can only move its item forward if the next conveyor tile is empty (or is moving its current item off). Can you do this in a single pass over conveyor tiles and/or items? It feels like there should be an elegant solution.
- amelius 6y agoI suspect the answer can be found in how more general physics engines work. https://en.wikipedia.org/wiki/Physics_engine https://en.wikipedia.org/wiki/Physics_engine
- tgb 6y agoI'm imagining a discrete system here, like a tile-based map. I haven't actually played Factorio, so I'm just assuming that's how it works (seems like it from the link a sibling post gave). As such, I'm not sure physics engine share much in common here.
- duskwuff 6y agoIt's not as simple as a tile-based map. Structures are built on a square tile grid, but objects on belts move at a much finer resolution, and have a bunch of specific behaviors (moving in two lanes, being picked up or dropped onto belts by inserters, belts merging into other belts, etc). Older versions of the game actually used an even more flexible physics engine for objects on belt (not restricted to two lanes), but that was deemed unnecessarily complex -- and the current model is much more performant.
- skitter 6y agoNot quite what you were asking for, but Factorio updates only segnebts of belts (made of multiple tiles) wuthout touching the items: https://www.factorio.com/blog/post/fff-176 https://www.factorio.com/blog/post/fff-176
- jcranmer 6y ago
- BlueTemplar 6y agoDamn, if only I still had time for Factorio... TT
- krzyk 6y agoYou need to ask yourself a question: how much sleep do you really need :)
- joshstrange 6y agoThe powerline fix (dragging and it not placing the last pole) is awesome, it's a bug that always bothered me even though I understood exactly what "edge case" (not that "edge" but still) it was hitting. Also wires in blueprints/ghosts is nice. I'll have to play with the ghost fast replace but I think this will be very nice once I re-train myself to trust the expected way you want that to work (vs knowing it doesn't work normally and adjusting for it). Overall I continue to be impressed by the Factorio team and consider it some of the best money I've ever spent on a video game. In terms of return on investment (time-wise) I think it's got every game beat expect maybe Skyrim for me. (especially if you exclude my video game time from before I went to college and cut back drastically)
- mmastrac 6y agoFactorio is awesome, but I found that I needed to enable infinite ores/oil and disable evolution to really enjoy it given my time constraints. Adding the nesting factories mod (can't recall the name) was also a QoL improvement for me. If you find the regular game tough to get into, try playing with some basic mods.
- cwkoss 6y ago> Adding the nesting factories mod (can't recall the name) Factorissimo or Factorissimo2
- buzzerbetrayed 6y agoI got really in to Factorio for a while. Then I beat it (Launched the rocket in to space), and ever since then I have no desire to go back. I think it just feels too much like work for me now. I think the fact that Factorio feels so much like programming both makes the game great, and makes the game exhausting. Nowadays, after a full day programming, I just want to relax with games that don't require refactoring. That being said, it's a great game and would still recommend it to anyone that hasn't played through it.
- mrmuagi 6y agoIf you want to add some replayability, I'd suggest you try Bob's mods. Other than that, I share the same feeling, low replayability contrasted by its high playability.
- cwkoss 6y agoSpace Exploration mod adds a wonderful "new game plus" type experience: launching the rocket is just the first step towards building a galactic empire. You actually ride the rocket up into orbit and there are many new space-only buildings and sciences. It's amazing how powerful the mod system is. FNEI is a great in-game directory of resources/recipes that I'd recommend with any new mods you're trying. SpaceEx add a whole new 'navigation satellite' mode that lets your remotely configure buildings and an interface for selecting planets and stars (in addition to the standard new buildings/recipes/vehicles of most mods). Factorissimo (building that can be entered and contain more land than their footprint) and Recursive blueprints (automated blueprint usage) also add tons of potential depth.
- rkuykendall-com 6y agoAn alternative to the "add more complexity" of Bobs & Angels is to push for more throughput. I find the base game you described pretty boring, and had much more fun building a mega-base (1,000 science per minute production / consumption). My design limited me around there, and now I'm dreaming about major structural changes to get my next base over 2k.