How does the Dev team achieve such amazing things?

Post all other topics which do not belong to any other category.
Post Reply
spool5520
Manual Inserter
Manual Inserter
Posts: 3
Joined: Fri Mar 04, 2016 5:01 am
Contact:

How does the Dev team achieve such amazing things?

Post by spool5520 »

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.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3700
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: How does the Dev team achieve such amazing things?

Post by DaveMcW »

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. :)

kovarex
Factorio Staff
Factorio Staff
Posts: 8078
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: How does the Dev team achieve such amazing things?

Post by kovarex »

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.
Thank you, this could make me feel smart, but the reality, that there is just lot of work behind it.
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.
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. :)
Yes, and lot of custom tricks.

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 :)

User avatar
DerivePi
Filter Inserter
Filter Inserter
Posts: 505
Joined: Thu May 29, 2014 4:51 pm
Contact:

Re: How does the Dev team achieve such amazing things?

Post by DerivePi »

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 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!

Oh, maybe you just want to review someone's portfolio... :geek:

spool5520
Manual Inserter
Manual Inserter
Posts: 3
Joined: Fri Mar 04, 2016 5:01 am
Contact:

Re: How does the Dev team achieve such amazing things?

Post by spool5520 »

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.

Post Reply

Return to “General discussion”