How does the Dev team achieve such amazing things?
How does the Dev team achieve such amazing things?
So I am making a game similar in scope and feel to Factorio. Not a Factorio clone by any means but its one of my favorite games and I cant help but take some inspiration from it. As I get further along in the development process I am starting to see just how much of a masterpiece Factorio is both technically and artistically. My biggest amazement is how Factorio handles updating so many entities/objects all the time across so much space. I mean I have had some seriously huge bases with railways connecting them to very far out locations with ever expanding complexity and Factorio handles all of this without as much as a frame drop. How is this possible? How does that much information fit in memory? How do you guys handle so much going on? I am relatively new to programming but I know my way around. But what you have accomplished is absolutely mind boggling to me.
Re: How does the Dev team achieve such amazing things?
Well, modern computers run at 2 GHz, or 44 million items per tick. The art is to avoid putting too much junk between the game and the processor. 

Re: How does the Dev team achieve such amazing things?
Thank you, this could make me feel smart, but the reality, that there is just lot of work behind it.spool5520 wrote:So I am making a game similar in scope and feel to Factorio. Not a Factorio clone by any means but its one of my favorite games and I cant help but take some inspiration from it. As I get further along in the development process I am starting to see just how much of a masterpiece Factorio is both technically and artistically. My biggest amazement is how Factorio handles updating so many entities/objects all the time across so much space. I mean I have had some seriously huge bases with railways connecting them to very far out locations with ever expanding complexity and Factorio handles all of this without as much as a frame drop. How is this possible? How does that much information fit in memory? How do you guys handle so much going on? I am relatively new to programming but I know my way around. But what you have accomplished is absolutely mind boggling to me.
There were many iterations, when Factorio started to be slow, so I just simply used a performance tool, to see where is most of the time wasted, and tried to do differend kind of optimisations or tricks to make it work faster.
Sometimes, these are optimsiation of the calculation itself (better memory management, code structure etc.).
Other times, it is just they way of thinking "What is the computer doing over and over, and it clearly has no sense?" For example, empty belts were actually taking some time, even if it was clear that they don't need to update, or inserters checking empty chest over and over and things like that.
Yes, and lot of custom tricks.DaveMcW wrote:Well, modern computers run at 2 GHz, or 44 million items per tick. The art is to avoid putting too much junk between the game and the processor.
https://www.factorio.com/blog/post/fff-82
https://www.factorio.com/blog/post/fff-84
P.S. When can we play the prototype of the game? I want more games as Factorio, so I have more things to play

Re: How does the Dev team achieve such amazing things?
Oh no you don't. This Factorio obsession can only last for another 2 or 3 years and then we'll need another Factorio game out of you. Besides, think of all the improvements that can be made to existing games if you provide a Factorio mod for them! Farcry Primal, Fallout 4, No Mans Sky - they could all be improved with Factorio!P.S. When can we play the prototype of the game? I want more games as Factorio, so I have more things to play
Oh, maybe you just want to review someone's portfolio...

Re: How does the Dev team achieve such amazing things?
Thanks for the reply
Your absolutely right. There is incredibly more work behind making a video game than anyone who hasn't worked in the field realizes. And with the complexity both in game play and game art of Factorio count me as incredibly impressed. About the empty belts and chests, that is probably the type of thing that is hardest for me to spot in game development. When first writing the code that is. And when you realize it its kind of a facepalm that you didnt see it earlier. (I love those moments always make me laugh)
Well the game is in very very early development. Mostly early design and concepts being worked out with some code experiments to see if things work. Im making the whole thing myself and for the game I want it to be its a pretty big task. Thanks for taking interest in it. I will be sure to send you a demo of the first "playable" prototype.
Question about Factorio, has making it with a more hands on language like C++ and doing your scripting in Lua made it more difficult to manage the code base? As opposed to a more managed language liek C# or even Java. Doing scripting with Lua really interests me and I was just wondering how you like it as opposed to doing everything in a single language.

Well the game is in very very early development. Mostly early design and concepts being worked out with some code experiments to see if things work. Im making the whole thing myself and for the game I want it to be its a pretty big task. Thanks for taking interest in it. I will be sure to send you a demo of the first "playable" prototype.
Question about Factorio, has making it with a more hands on language like C++ and doing your scripting in Lua made it more difficult to manage the code base? As opposed to a more managed language liek C# or even Java. Doing scripting with Lua really interests me and I was just wondering how you like it as opposed to doing everything in a single language.