6 ms·
Do 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 Wit
by linkdd 6y ago
Do 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