What is factorio made in?

Post all other topics which do not belong to any other category.
Yendor
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun May 18, 2014 10:50 pm
Contact:

What is factorio made in?

Post by Yendor »

As an indy game dev myself I'm curious what engine / framework is factorio built in?
It really looks like its built in unity3d but I cant find any logos or references to unity anywhere.
Also the fact that the alpha is available for mac pc and linux leads me to think this.

muzzy
Fast Inserter
Fast Inserter
Posts: 187
Joined: Sat Nov 23, 2013 7:17 am
Contact:

Re: What is factorio made in?

Post by muzzy »

It's a custom engine written in c++ with allegro for graphics. Infinite worlds are quite messy with unity3d anyway.

chainedlupine
Inserter
Inserter
Posts: 48
Joined: Mon May 19, 2014 4:35 am
Contact:

Re: What is factorio made in?

Post by chainedlupine »

Allegro! Woo! I used to be a big Allegro user, back in the day. And by "back in the day" I mean "writing 32-bit MS-DOS games." :)

Factorio also uses Lua for its scripting backend. Good choice, I love Lua. It's so easy to integrate into any larger code base. It gets a little messy with C++ bindings, but toss in to_lua++ and you don't have to think too much about that.

krux02
Inserter
Inserter
Posts: 48
Joined: Tue May 06, 2014 2:45 pm
Contact:

Re: What is factorio made in?

Post by krux02 »

what does you make think that it is unity? I mean there came out a lot for unity game engine recently, but many really good games don't use unitiy at all.

muzzy
Fast Inserter
Fast Inserter
Posts: 187
Joined: Sat Nov 23, 2013 7:17 am
Contact:

Re: What is factorio made in?

Post by muzzy »

krux02 wrote:what does you make think that it is unity? I mean there came out a lot for unity game engine recently, but many really good games don't use unitiy at all.
Probably just the fact that it supports multiple platforms. Indie developers with custom engines usually only target Windows because of the extra work needed to support Mac and Linux.

migizi
Burner Inserter
Burner Inserter
Posts: 5
Joined: Mon May 19, 2014 5:03 pm
Contact:

Re: What is factorio made in?

Post by migizi »

muzzy wrote: Probably just the fact that it supports multiple platforms. Indie developers with custom engines usually only target Windows because of the extra work needed to support Mac and Linux.
I wouldn't say that. The problem is people don't understand the platforms or tools. I use cmake, and currently SFML (will probably go back to GLFW), that makes cross compiling pretty easy. You just have to watch what your dependencies are. I also do all my work in Linux so moving to Windows is usually pretty trivial with mingw. I don't own a Mac so I don't know about that one.

Unity gets the attention because it's so easy to make a game, you don't really have to know a lot. You toss out efficient code for ease of use. A lot of people I know call it an artist engine, not a developer engine.

Oh and there is the fact that people idolized DirectX and XNA, which pretty much ties you to Windows. XNA was killed by Microsoft and people are porting things to Monogame (cross platform). You could also take into account the market share of Linux and Mac and determine if the cost is worth development.

But that is all my two cents. Linux will always be priority for me.

CobraA1
Inserter
Inserter
Posts: 30
Joined: Sun May 04, 2014 4:31 am
Contact:

Re: What is factorio made in?

Post by CobraA1 »

muzzy wrote:
krux02 wrote:what does you make think that it is unity? I mean there came out a lot for unity game engine recently, but many really good games don't use unitiy at all.
Probably just the fact that it supports multiple platforms. Indie developers with custom engines usually only target Windows because of the extra work needed to support Mac and Linux.
Nah.

C/C++ has always been cross-platform, and libraries like Allegro are specifically cross-platform. In fact, Allegro is older than Unity in that respect. Cross-platform has been a staple of C/C++ for a long time. Engines like Unity are actually more about making tools that abstract away the messy stuff to make it easier to create higher quality games. Being cross-platform is a side effect of that abstraction.

muzzy
Fast Inserter
Fast Inserter
Posts: 187
Joined: Sat Nov 23, 2013 7:17 am
Contact:

Re: What is factorio made in?

Post by muzzy »

CobraA1 wrote:libraries like Allegro are specifically cross-platform.
As long as you only use cross platform libraries, sure. But eventually you're going to need some functionality that you can't find a library for, such as deciding where to store savegame files. You might also want to support some platform specific features on each platform, perhaps platform specific configuration settings, etc.

Plenty of indie devs have written their custom engines directly on top of DirectX (for some reason most of the games I've been interested in recently have done this). Implementing another rendering backend would be serious amount of work on top of that. I have no idea why they do that instead of using OpenGL though.

SilverWarior
Filter Inserter
Filter Inserter
Posts: 559
Joined: Mon Mar 04, 2013 9:23 am
Contact:

Re: What is factorio made in?

Post by SilverWarior »

migizi wrote:Unity gets the attention because it's so easy to make a game, you don't really have to know a lot. You toss out efficient code for ease of use. A lot of people I know call it an artist engine, not a developer engine.
Actually Unity is so popular becouse it alows you to quickly develop a game prototype. But later you qickly figure out that if you wanna make more serious game you would have to redo many Unity functionality becouse it is either now os well implemented and thus has poor performance or it doesent fir nicely with your game design.
I'm tracking many indie games and most of those who base on Unity have undergo large refactoring where developers had replaced lots of default Unity functionality. And those games who didn't undergo this refactoring are greatly being limited by the Unity engine itself.
For athleast one game I can say that developers are actually sorry that they started developing it with Unity becouse they reached a point where the Unity is preventing further development of their game in desired direction due to its limits and switching game engines at this point would requirea whole lot of work since the game is aready being developed for few years.

slpwnd
Factorio Staff
Factorio Staff
Posts: 1835
Joined: Sun Feb 03, 2013 2:51 pm
Contact:

Re: What is factorio made in?

Post by slpwnd »

SilverWarior wrote:
migizi wrote:Unity gets the attention because it's so easy to make a game, you don't really have to know a lot. You toss out efficient code for ease of use. A lot of people I know call it an artist engine, not a developer engine.
Actually Unity is so popular becouse it alows you to quickly develop a game prototype. But later you qickly figure out that if you wanna make more serious game you would have to redo many Unity functionality becouse it is either now os well implemented and thus has poor performance or it doesent fir nicely with your game design.
I'm tracking many indie games and most of those who base on Unity have undergo large refactoring where developers had replaced lots of default Unity functionality. And those games who didn't undergo this refactoring are greatly being limited by the Unity engine itself.
For athleast one game I can say that developers are actually sorry that they started developing it with Unity becouse they reached a point where the Unity is preventing further development of their game in desired direction due to its limits and switching game engines at this point would requirea whole lot of work since the game is aready being developed for few years.
Interesting. We don't have any experience with Unity but we have discussed how it would have been if we started using it. Now we believe we made a good choice we used lightweight libraries and build the core engine ourselves. Often it is a PITA (especially for "trivial" things like Gui), but the flexibility and performance IMHO pays off for game like Factorio.

chainedlupine
Inserter
Inserter
Posts: 48
Joined: Mon May 19, 2014 4:35 am
Contact:

Re: What is factorio made in?

Post by chainedlupine »

slpwnd wrote: Interesting. We don't have any experience with Unity but we have discussed how it would have been if we started using it. Now we believe we made a good choice we used lightweight libraries and build the core engine ourselves. Often it is a PITA (especially for "trivial" things like Gui), but the flexibility and performance IMHO pays off for game like Factorio.
You couldn't do a game like Factorio in Unity*.

Unity is safe only if you know your game's limits beforehand and you are sure not to exceed what the Unity engine offers.

*You probably could if you did tons of C++ external coding via plugins but at that point you might as well make a game engine that fits your needs versus shoehorning something else into that spot.

Tenebrous
Long Handed Inserter
Long Handed Inserter
Posts: 50
Joined: Mon May 05, 2014 8:06 am
Contact:

Re: What is factorio made in?

Post by Tenebrous »

As a long-time Unity user, I'd love to try a Factorio-scale game, just for the technical challenge.

Johnman
Burner Inserter
Burner Inserter
Posts: 7
Joined: Thu May 22, 2014 4:34 pm
Contact:

Re: What is factorio made in?

Post by Johnman »

I'm surprised nobody has mentioned SDL 2 in here yet. I tried it out a few days ago and was very pleased to see it moving forward.

Another very favourite game of mine, Cortex Command, is made using Allegro, but I never got into it myself. How does it compare to SDL 1.2, SDL 2 and SFML?

osan7788
Manual Inserter
Manual Inserter
Posts: 1
Joined: Tue Jun 11, 2019 3:49 pm
Contact:

Re: What is factorio made in?

Post by osan7788 »

Hi everybody
I'll play the demo. As far as I understand, you coded the kernel in C++. My question is, how many years of experience did you have to reach this point?

I've been working with unity engine for 2 years and I have some programming background (only oop for example c#).

Frankly, I want to go a little deeper, but I need to know whether this path will take 1 or 2 years or much more.Because with my current programming knowledge, this job seems extremely scary. I need a road map.
Would you share your comments?

Post Reply

Return to “General discussion”