Page 1 of 1
What is factorio made in?
Posted: Sun May 18, 2014 10:53 pm
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.
Re: What is factorio made in?
Posted: Sun May 18, 2014 11:26 pm
by muzzy
It's a custom engine written in c++ with allegro for graphics. Infinite worlds are quite messy with unity3d anyway.
Re: What is factorio made in?
Posted: Mon May 19, 2014 4:40 am
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.
Re: What is factorio made in?
Posted: Mon May 19, 2014 5:16 pm
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.
Re: What is factorio made in?
Posted: Mon May 19, 2014 5:29 pm
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.
Re: What is factorio made in?
Posted: Mon May 19, 2014 5:39 pm
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.
Re: What is factorio made in?
Posted: Mon May 19, 2014 10:37 pm
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.
Re: What is factorio made in?
Posted: Mon May 19, 2014 11:28 pm
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.
Re: What is factorio made in?
Posted: Tue May 20, 2014 8:55 am
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.
Re: What is factorio made in?
Posted: Tue May 20, 2014 11:15 am
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.
Re: What is factorio made in?
Posted: Wed May 21, 2014 6:48 am
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.
Re: What is factorio made in?
Posted: Wed May 21, 2014 9:18 am
by Tenebrous
As a long-time Unity user, I'd love to try a Factorio-scale game, just for the technical challenge.
Re: What is factorio made in?
Posted: Fri May 23, 2014 8:08 am
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?
Re: What is factorio made in?
Posted: Tue Apr 09, 2024 5:30 pm
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?