11 ms·
Factorio is such a high quality game. Not just the gameplay, but the entire development process where every alpha release is actually really stable and playable
by sdfjkl 6y ago
Factorio is such a high quality game. Not just the gameplay, but the entire development process where every alpha release is actually really stable and playable, certainly more stable and playable than most big-budget games are on release day.
- linkdd 6y agoI don't think both kind of games are on the same complexity level. The gameplay is simple (aka: it requires few kind of user interactions), and the physic engine (source of most bugs in big budget open-world games) is far far far simpler as well.
- serhatozgel 6y agoI believe you are mistaken, Factorio is an incredibly complex game.
- linkdd 6y agoDo you really think a 2D physic engine is comparable to a 3D physic engine in terms of complexity? Yes Factorio is complex. No it's not more complex than a Witcher/Skyrim/Cyberpunk/whatever big budget game you can think of. When i say complex, I talk about code, architecture, gameplay mechanics. Not play time...
- BorisTheBrave 6y agoI think it is more complex in most dimensions, except for render pipeline and asset size. Physics engines are off the shelf, even in AAA games, they're not really where the bulk of time is spent coding. Not to mention all the games you described have fixed maps and no multiplayer. Really, most of the budget of AAA is spent on art and level design. They have sophisticated tech, but often it is not on an unreachable level.
- js8 6y agoI have to agree with the OP, Factorio code is actually pretty complex. Lots of it comes from polish and creating the seamless player experience. It might not be as technically complex as 3D engine, but no AAA developer would care about optimizing the fluid or belt system to behave in a scalable way. It's really well thought out. (Also, there is a saying that it takes a genius to do something in a simple way. So even if the resulting code might be simple, arriving to that point can be actually pretty complex endeavor.)
- sleepybrett 6y agoI think it's probably as technically complex as a 3d game engine. Just differently complex.
- maccard 6y agoI really really don't think so. In my experience, 3d games are orders of magnitude more complicated than 2d games.
- username90 6y agoMost 3d action games have extremely few gameplay programmers, they just pick an off the shelf engine and then most of the technical work is optimizing the graphics pipeline.
- maccard 6y agoIve worked on AAA games for the last 8 years, and I made my own 2d games for 5 years before it. My current project has something in the region of 60-70 gameplay programmers, and has been this scale for the last 3 years. Writing gameplay code and engine code are two very different experiences with different constraints. There is plenty of technical work in writing good gameplay code.
- scotty79 6y agoPlay Factorio in multiplayer on a megabase map. And imagine how much insight you need to keep so many such complex game mechanics to be kept in sync and performant for even hundreds of players on same map. Compare this to average bug ridden AAA game that has half of game mechanics falling apart in visible ways in single player spawning and despawning stuff randomly in failed hopes of keeping an illusion that the systems are sort of working! A lot of triple A studios are havening trouble of implementing inventory game mechanics without introducing few item duplication glitches. Guys who are building Factorio are on another level they really made implementing game mechanics their core priority. For triple As their core priority is how to budget for making tons of assets and cramming them into the game.
- rkangel 6y agoSpecifically, think of one particular optimisation that most 3D games can make that Factorio can't: don't process stuff you can't see. Factorio is of course continually running the entire factory, regardless of which bit of it you are looking. I am amazed it is as reliably performant as it is.
- maxfurman 6y agoMost 3D games don't _render_ objects that you can't see. They still must simulate their actions each tick so that they will be in the right place when you can see them.
- rkangel 6y agoThey might if they're just off camera. They don't if they're in the next town.
- Sohcahtoa82 6y agoDepends on the game. I imagine Grand Theft Auto doesn't simulate any cars that are more than slightly farther than the render distance. I've seen videos showing that Cyberpunk 2077 will even not simulate things just because they left your view. People and cars will just disappear after you turn around for a second.
- loup-vaillant 6y agoThe only thing physical about Factorio are vehicles and particle effects. That's not where the difficulty comes from. It's more about optimisation: their entity system minimises memory use (and caches misses), many things are special cased for speed… Think about the sheer scale of a 10 rocket per minute megabase. The amount of inserters, robots, belts, factories, the pollution involved, the number of biters attacking the base constantly… The number of entities on such a base is enormous, yet they still manage to compute it all in real time at 60 ticks per seconds. That feat of engineering is just as impressive as a 3D physics engine — perhaps even a 3D rendering engine. (Of course, a AAA game is more than just a physics/rendering engine.)
- LaGrange 6y ago> Yes Factorio is complex. No it's not more complex than a Witcher/Skyrim/Cyberpunk/whatever big budget game you can think of. Than Skyrim, easily. Crowd mechanics in Witcher/Cyberpunk give me a pause, but still probably more complex than those. Popular "simulation" games like Factorio, Rimworld, Dwarf Fortress and Kerbal Space Program are deceptively heavy.
- DonHopkins 6y agoIf you like swarming crowd simulations, check out "They Are Billions", a massive zombie hoard survival real time strategy game. https://store.steampowered.com/app/644930/They_Are_Billions/ https://store.steampowered.com/app/644930/They_Are_Billions/ It's easy to deal with a few zombies, since they're very slow and stupid, but as you get more and more of them all over the place, and then huge swarming waves of them, it's insanely challenging! I love this game, but it's incredibly difficult, even on the easiest setting. They Are Billions Gameplay - Zombie Defense Post Apocalyptic City Building https://www.youtube.com/watch?v=DmVx_OMojSY&ab_channel=SplatterCatGaming https://www.youtube.com/watch?v=DmVx_OMojSY&ab_channel=Splat... It's fun to use cheats and sandbox mode to play around with the swarming simulation in extreme situations: 1 TRILLION ZOMBIES - They Are Billions https://www.youtube.com/watch?v=xeczMg3lMdQ&ab_channel=SergiuHellDragoonHQ https://www.youtube.com/watch?v=xeczMg3lMdQ&ab_channel=Sergi... Check out the dynamics of how the waves of different kinds of zombies interact: It unleashes and mixes layers of different kinds of zombies with different abilities and attacks. (@ 43:00) The lighter ranged spell casting zombies are maintaining a distance, but then holes form in their layer, and phalanxes of darker hand-to-hand melee zombies squirt through and fill in the gap. (@ 45:00) At 1:18:30 he admits that it's obvious the zombie waves will never end, so he lets them win! It reminds me of slime mold hunting an oat flake. https://www.youtube.com/watch?v=elqwn7k2Wwk&ab_channel=JourneytotheMicrocosmos https://www.youtube.com/watch?v=elqwn7k2Wwk&ab_channel=Journ... I'd love to play SimSlimeMold.
- ashtonkem 6y agoMost games at that scale begin to simplify individual objects into statistical averages. Factorio can’t do that, so every single object is tracked meticulously on one thread. Even down to the position of the arms on each loader, since where they are in their cycle affects the game overall.
- munificent 6y agoYes, I think Factorio's engine is more complex and difficult to implement well than a typical AAA game with rich graphics and "realistic" physics. In Factorio, you have a very large number of active objects with very dense, complex, time-critical and deterministic interactions. In most other games, you have relatively few active entities. The game gives you the illusion of a rich living world, but a lot of the graphical bits floating around can't actually be interacted with. The physics system is a complex bit of math but is fairly isolated from the rest of the engine and has relatively few entities to process. If it gets things "wrong" in minor ways, the player is unlikely to tell. Also, many AAA game physics and graphics engines work the same enough that engines can even be reused. There's a relatively small amount of bespoke system design. It's just following the same well-tread paths. Factorio's gameplay has enough novelty that the engine has to solve challenging somewhat unique problems. Source: Senior software engineer at EA for eight years and wrote a best-selling book on software architecture for games.
- maccard 6y ago> Yes, I think Factorio's engine is more complex and difficult to implement well than a typical AAA game with rich graphics and "realistic" physics. I think this is maybe true, but it's not a fair comparison. The real comparison is how much effort would go into making factorio with all of its polish in a 3d world rather than a 2d world. Factorio's technical impressiveness (?) Comes from how well it's designed and implemented. The limitations that it imposes are part of the reason it runs so well, and also what make it such a great game. > The physics system is a complex bit of math but is fairly isolated from the rest of the engine and has relatively few entities to process. If it gets things "wrong" in minor ways, the player is unlikely to tell. The difference between doing the above for physics and graphics is orders of magnitude in how expensive they are, and how complicated they are to implement. You're right that most people don't notice when they go slightly wrong, but they often go catastrophicly wrong. (Much more often in 3d than in 2d). Factorio skirts around this by not running a general purpose physics sim for the game logic, and constraining the problem space (which to me is even more impressive than getting a 3d physics engine right)
- 6y ago
- 0-_-0 6y agoYou're talking about the user perpective, while GP is talking about the programmer perspective.
- est31 6y agoYeah a point & shoot game where you can choose your own clothing with various 3D rendering goodies that works at good enough FPS is way more complex implementation wise than a factorio clone with its 2D graphics. For gameplay, it's the other way round. There is a good xkcd for this: https://xkcd.com/1425/ https://xkcd.com/1425/
- dkersten 6y agoYeah, Factorio’s complexity isn’t in the graphics, it’s in the simulation.
- bombcar 6y agoFactorio is a lot like Dwarf Fortress - the graphics are a very small part of the gameplay. Interacting with the simulation is the majority of the gameplay - and the majority of the simulation is spent on that. The thing that is interesting about Factorio is it is entirely deterministic (similar to old games that could "record demos" such as Doom or the original Starcraft) - this simplifies some things and complicates others.
- fastball 6y agoRight, but the simulation isn't as complex as simulating rain in a 3D game or whatever. Nobody is arguing that Factorio doesn't have complexity. But do you really think a one-man team could create Cyberpunk 2077? A one-man team built Minecraft which includes Redstone, which allows for some amazing complexity. But that doesn't make it more complex (dev time wise) than an AAA FPS.
- josephg 6y ago> Right, but the simulation isn't as complex as simulating rain in a 3D game or whatever I think a naive implementation of factorio would be reasonably straightforward. But that implementation would have no chance to scale to the size of bases factorio manages. The complexity of factorio’s implementation comes from its simulation’s optimizations, particularly in the face of its hard determinism requirement. (Something most physics engines and rain shaders never need to think about.) Making a good rain shader takes expertise but probably not a lot of time when you know what you’re doing (months not years). Making a game like factorio probably doesn’t take more specialised expertise than many devs here have, but even with all the requisite knowledge it would still take me years to implement something as feature rich, correct and performant as factorio’s simulator.
- slightwinder 6y agoThe gameplay is complex, but that does not mean the software must be complex. Take for example the ancient game of Go. It's a bunch of very simple rules with some stones, yet it's a highly complex game that could not be beaten with traditional software-solutions.
- newswasboring 6y agoIt is also being worked upon by only 17 people as opposed to the 500+ dev teams for AAA games.
- linkdd 6y agoI'm not sure to understand your point. More devs does not mean less bugs, it does not mean faster development, in fact, it does not mean anything. An AAA game may need 500+ games, because that's what the technological constraint requires in terms of brain matter. If big studio could launch an AAA game with only 10 devs, they would do it.
- newswasboring 6y agoYes they don't do it with 10 devs because the complexity is high. You don't think you need a larger team to handle complexity? Or you think the 500+ team normalized to complexity actually tell that AAA are understaffed.
- linkdd 6y agoI do think you need more dev to handle more complexity. But more dev to have less bugs, or to develop faster is like saying that with 9 pregnant women, you can deliver a baby in 1 month.
- newswasboring 6y agoSo you are saying in a large complex project there are no impact on bugs by number of devs? I'm not saying there is a linear relationship but it's naive to say that having a large team does not help you handle bugs.
- sleepybrett 6y agoI imagine at one of these 500+ companies the majority of those are in the art department. I'm thinking about say DICE. DICE has made essentially the same game (battlefield/battlefront) about 10 times. The 3d engine does get upgraded game to game, but clearly the majority of the delta between games is simply the art.
- Vvector 6y agoBut complexity =/= fun. Factorio shows that "simple gameplay" can lead to massive fun. IMO, the AAA titles would be better if less time was spent on a bleeding edge physics system, and more time spent on other aspects.
- nip180 6y agoPhysics engines and graphics engines take a lot of resources. Games that invest enough resources to develop their own highly detailed physics/graphics engines are almost by definition AAA. So what you’re suggesting is that AAA games should spend less time/money on the thing that makes them a AAA game. It’s okay that AAA games exist, because there is still room in the market for games like Factorio, which has experienced a long and successful life.
- SketchySeaBeast 6y agoThere's a place for both I think. We've seen a lot of lo-fi successes as of late, but inevitably some of the reliably biggest selling games are the annual big budget updated graphics FPS and sports titles. I don't know if FIFA 2K22 would have as much draw if they sold it as a sprite-based title.
- Qwertious 6y ago"Simple" is a great source of endless discussion, because it has so many meanings that nobody can agree on what's simple.
- munificent 6y ago> IMO, the AAA titles would be better if less time was spent on a bleeding edge physics system, and more time spent on other aspects. They would be better games but wouldn't sell as well. Video game sales are driven heavily by screenshots, trailers, and "Let's Play" videos. Graphics and physics look good in those media, actual personal fun experiences less so. There's probably some higher level business principle here that products end up designed to optimize for the property that most heavily constrains sales instead of the properties that maximize customer satisfaction. See also: Hollywood movies, book covers, synthesizer presets, house flippers, car interior widgets, etc.
- sandworm101 6y ago> The gameplay is simple No. Very no. It isn't a graphical game, but that means nothing to complexity. The number of objects and behaviors that the game engine must track, and track perfectly every clock tick, blows away most graphics engines. There is no room for the trickery that graphics/physics engines use to determine which objects need to be tracked. Factorio must track everything always, whether it is on screen or not. Each of those objects is also interactable. The character builds and maintains bespoke systems layered atop each other ad infinitum. The network of possible behaviors may be more akin to a giant excel document than a minecraft world, but that doesn't make it any less complex. See also Prison Architect. Cartoonish 2d graphics, reminiscent of SouthPark imho, but nevertheless a very complex game. Even after a thousand hours with it, Prison Architect's AI still surprises me every time I play.
- linkdd 6y agoAnd yet, the gameplay is just: - move your character - mine stuff - craft buildings - place buildings And a small bit of combat for the aliens. I insist, the gameplay IS simple, the content allows for very complex designs. Similar to programming languages, Assembly IS simple.
- maxZZzzz 6y agoThe network model is lockstep. Which means everything that changes gamestate needs to be deterministic. Keeping that alone bug free is quite the achievement.
- sandworm101 6y ago>> move your character - mine stuff - craft buildings - place buildings Have you played the game? That is, maybe, the first hour of a game that lasts many many dozens even hundreds of hours. Mining only happens in the first five or ten minutes. There are a host of other interactions, from tweaking object settings, optimizing pathing layouts, planning, direction of bots, to deployment of the factorio equivalent of Redstone circuitry. And mods. As with KSP or minecraft, a greater number of possible interactions comes from the modding community rather than the stock game.
- Retric 6y agoComplexity isn’t simply the number of lines of code. Where individual shaders are adding linear complexity subtle interactions between different parts of a simulation can easily end reaching full factorial complexity. As such AAA games favor independent systems which add as close to linear complexity as they can achieve. 3D models are a great example where extreme detail is largely irrelevant to every other part of the game. That said, depending on what you’re measuring AAA games end up having wildly different levels of complexity.
- xfer 6y agoYou vastly underestimate efficient implementation of simulating and rendering so many entities at the same time. A lot of big name games crawl if there are 50 units doing their thing.
- SignalNotSecure 6y agoIt is obvious that you never used the logistic systems and built anything interesting using circuit networks
- m463 6y agoI think AAA games gain complexity from grafting many technologies together. Yes a 3D engine and GPU stuff adds complexity that factorio sidesteps. And also, to many folks here they see the complexity of factorio because they are exposed to it, while AAA games hide the game mechanics from the user. However Factorio seems to have done everything from scratch. the game engine, the UI, etc. And don't forget the (non-technical) complexity of developing out in the open with their blog and alpha testers.
- mbrodersen 6y agoYou clearly have very little experience developing commercial games. The less you know the simpler you think it is. Physics is easy compared with the complexity of Factoroid. You are like somebody saying “Putting a man on the moon is EASY - just build a rocket, put him on top and boom you are done! Don’t know why it took so long for NASA”.
- gcoguiec 6y agoTheir codebase is also covered by unit tests [0] and integration tests [1]. [0]: https://factorio.com/blog/post/fff-60 https://factorio.com/blog/post/fff-60 [1]: https://youtu.be/LXnyTZBmfXM https://youtu.be/LXnyTZBmfXM
- mrlala 6y agoIf there's one game that should have an infinite number of tests, it's this one.
- rozab 6y agoWhat always strikes me when I read Factorio blog posts is how they really approach game development like engineering (moreso than most software engineers). I'm very pessimistic about software, and it does give me a lot of hope.
- scrumbledober 6y agoThe factorio development blog is one of the best development blogs out there
- fastball 6y agoKinda dumb though. Isn't the point of an "alpha" to release something before it is stable? Otherwise it's just called a release. You can have a rapid release schedule and still release stable software.
- simonbw 6y agoWhile having people find bugs might be one reason for an alpha release, it's not the only reason, or even necessarily the main reason. You might also want to see if people like a new feature, if the feature is well balanced, if it interacts with other systems well, etc. This is all useful information to gather before releasing a polished version to the general public. If your alpha release is full of bugs, the type of feedback you'll be getting from users of the alpha is "this thing doesn't work" rather than "this thing is too easy/hard".