





🌟 Special thanks to our amazing supporters:
✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]
Hello, another year has come and gone.
We know this year we were very sparse with any details about the expansion, and it is what you all really want to hear about. Trust me we really want to tell you about it, and in time we will. There are still major sections of the gameplay being changed and adjusted, and if we tell you about them now, the information would quickly become outdated and inaccurate.
For now, we can offer this Christmas postcard Albert has made, which has a sneak peek of some new item icons.
As well, we do have some other topics we can discuss, on our website.
Changelog for 1.1.73 and 1.1.74
Hello, engineers! I'm a newer face at Wube and have been mainly working on expansion content for about one year now. Today, I'm here to share some exciting non-expansion news for our Mac players.
Read the full blog post on our website.
Changelog for versions 1.1.71 and 1.1.72
We have a long history of trying to bring Factorio to other platforms, including consoles and mobile phones (not including April Fools). We even worked with some external companies, but the projects never even got to the point where they would run technically, let alone the complicated part of making the game playable using controllers or touch screen. After all the attempts, we even had a Friday Facts prepared that was going to say something along the lines of "we don't plan to bring Factorio to other platforms".
However that turns out to me not the case, and we also have an update about the progress on the expansion. Read the full blog post on our website.
Changelog of versions 1.1.61 to 1.1.67
Changelog for versions 1.1.60 and 1.1.61
Changelog from version 1.1.54 to 1.1.57
No doubt you have heard about NFTs, the latest Blockchain innovation. With some big gaming companies exploring NFTs, where does Factorio stand?
Read the full blog post on our website.
We are a games company based in the Czech Republic. Russia's invasion of Ukraine affects us directly. We have team members there, we have friends there, and we get information first hand. There is no excuse for the actions of the Russian army, they have little regard for civilians including children.
We support Ukraine and have made contributions to relief efforts.
We support Russians that stand against the actions of the Russian government.
You can help too, even if it is just with your voice. World leaders are listening: every voice counts.
The Czech National museum, which has bullet scars from the Russian invasion of Czechoslovakia in 1968.
Please, keep the discussions about the world events (if you can't help it) specifically in threads related to this post, as we want to keep the rest of the content on topic.
Hello,
Today is actually the 6 year anniversary of Factorio launching on Steam, and just recently too we passed 3 million total sales (and we're even past 3.1 million at this point), so it is quite a milestone. It is great for us that the game is still selling consistently year on year, even though we never take part in sales or bundles.
Read the full blog post on our website.
Hello, long time no talk, we've got some catching up to do...
Almost 1 year ago we said "we don't think that [the expansion] will take less than a year to develop". Well it has been less than a year and it is not finished, so we kept our word on that :).
But while it might not be finished, there is a still a lot we have done so far.
Read the full blog post on our website.
Hello,
long time no see :)
We obviously have a lot to talk about when it comes to the game changes we recently did, or plan to do, but we don't want to share any of it yet.
Yet, there is currently a topic very relevant to us and we can share it without revealing any specific changes to the game. Today's post will be quite technical and related to programming, so if you just came for the game news, you can safely skip this one.
You can read the full blog post on our website:
https://factorio.com/blog/post/fff-366
Hello,
the 1.1 release is the final release of the vanilla game. It will be maintained, so bugfixes, simple modding interface additions, or minor tweaks can happen, but that's about it.
So what's next?
We have a new blog post on our website detailing our future plans,
You can read it on our website.
Hello, we have a stable version!
Check out the full details on our latest blog post: Friday Facts #364 - 1.1 stable
Your game will/should auto-update to 1.1.19 if you are not opted-in to any betas.
The changelog with all the changes from 1.0.0 will show when you first load the new update.
If you want to go back to the 1.0.0 you can do so in the betas menu.
Its been 2 months since the 1.1.0 release, so most mods should have been updated. Please check the in-game mod updater.
Hello, your votes have helped to nominate use for the 'Sit back and relax' Steam award, thank you all so much!
Now the voting for the Winner of the category is open, so be sure to make your voice heard and vote!
Hello, Last week we have started the experimental cycle of 1.1 update releases. We have fixed the most game breaking and save corrupting issues, but the update is not quite stable yet. This means you have to opt into it using Steam's beta feature. But beware: blueprint library and save files are not backwards compatible, so once blueprint library gets migrated to 1.1 or you save a map in 1.1 you won't be able to load them in stable 1.0. Furthermore not all mods have been updated to 1.1 yet and modders might not keep up with changes in future patches, so expect things to break from time to time if you play a heavily modded game. If you don't want to deal with a less stable game or your mods breaking, consider staying on the stable version 1.0 for the time being. And please, if you find any bugs, report them on the bug forum.
Hello,
We have just published a new Friday facts post on out website,
You can read all about it here: https://factorio.com/blog/post/fff-363
Let us know what you think at the usual places!
Hello, we have a new FFF blog post, discussing upcoming changes to Spiders, Ghosts, the main menu, and more.
Unfortunately due to limitations in the Steam blog formatting, the blog would look terrible on Steam, we have lots of nice .mp4 gifs which we just can't show properly on Steam. Therefore we will just be linking to the blog posts instead of rewriting them here.
Please read the full blog article on our website:
https://factorio.com/blog/post/fff-362
Hello, we finished with the regular Friday Facts series, and yet, there is still so much we want to talk about. I want to clarify, that we are not going to release FFF every week, but there are a few of them coming in the near future.
Read this post on our website. Hello, the atmosphere in the last week was kind of special. We experienced the feeling of the final release being on the horizon many times. And we were shown that it isn't the case time and time again. So it feels very special when it is actually becoming reality. We were trying to be especially careful with any last minute changes to make sure that we don't introduce major bugs into our precious 1.0 release. The image of all the players having the game crash on some simple stupid bug is horrifying.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website. We've been updating, reworking and redesigning many graphics, and the majority of entities have had high resolution for a while now. With 1.0 we're trying to be as "complete" as feasible.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, today we have some big news.
This is update contains large amount of potentially mod breaking changes. If you play heavily modded game, you may want to select 0.18.26 beta branch explicitly for couple of days until your mods get updated. We apologize for your inconvenience.
Read this post on our website. It's been over 4 years since we planned the infamous GUI update. If all goes well, next week the game will get the last big GUI update for 1.0. While the state of the GUI is not close to our crazy plans we recently had for the GUI, it's above what we initially planned 4 years ago. The update you will see next week includes:
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website. As stated in previous FFF's we will be making some changes to the demo and tutorial content in the game. I wanted to clarify exactly what is being removed and what it is being replaced with, as this content is almost ready for release. If you would like to catch up on the topic, you can read Kovarex's piece in FFF-327, but I will also summarize it here. Right now the NPE/Introduction is the scenario that is used as the demo (0.17) and as the tutorial in the full game (0.17 stable, 0.18 experimental). If anyone has played the tutorial in the last 12 months, this is probably what you have played. The First steps campaign was a series of three levels which used to make up the demo and tutorial in 0.16 and earlier. They were introduced in 2014. We have been working on revamping these levels to bring them up to 0.18 standards. Very soon the NPE/Introduction will be removed and the First Steps campaign will be reinstated, both as the full game tutorial and the demo.
Read this post on our website.
Read this post on our website.
Read this post on our website. The beacon is one of the last entities left to convert to HR. As always, before 'just re-rendering' we take the chance to re-think the concept and modernize it. This post will try to go a bit deeper in the process of redesigning such an entity.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, We released 0.18.4 this week, same old same old, more bugfixes, more bugs, more changes. At this stage of development, not many interesting things are happening, we are just polishing what we have.
Read this post on our website. Hello, We released 0.18.2 and 0.18.3 this week. In terms of major releases, this one has very few bugs, so we haven't had a lot of pressure to crank out the releases at lightning speed.
Join our community hosted Massive multiplayer test
Find it in the Matching server with the name: Big Community Games Test.
You can also connect directly with the address: bigcommunitygames.uk.to
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, The office here in Prague is still 'closed' until next week, so not much is happening (so our team can rightfully rest). Things will get cracking again on Monday, and our first task is to get 0.18 done! For that reason, the FFF today is a little on the short side.
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, The year is wrapping up, and we have been hard at work finishing off some topics before we take our Christmas break. As you can imagine, releasing any new version of the game without a few weeks to do bugfixing wouldn't be wise, so you can rest easy this holiday period without the worry of a surprise 0.18 release.
Read this post on our website,
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, There is a bit of a cold/flu going around the office, but it isn't severe enough to dampen our spirits (I don't like the daylight savings though).
Read this post on our website. Hello, we just released 0.17.73, with 0.17.74 coming very soon. This is just some bug fixes and further pathfinding improvements, and we hope to be able to mark the release as Stable next week.
Read this post on our website.
Read this post on our website.
Read this post on our website.
Read this post on our website. Hello, technically this post is the Pi Friday Facts, but unfortunately we can't think of anything special to do... maybe someone can make a combinator cake... that can calculate Pi?
Read this post on our website.
It has been 6 months and nearly 70 releases since we first launched 0.17 to the world. Now is the time to let is be enjoyed by all the players of the game. We are going to be continuing our work on 0.17 over the next few months, with small experimental releases of new features, and finishing all the GUI reworks.
Read this post on our website. Hello, We have had quite a peaceful week here in the office. Last night we went out for a burger and a beer as a last meal with Ernestas before he flys back home for another few months. It was also quite nostalgic, as we went to a place that we used to go to frequently near our old office, and the staff still remembered us.
Read this post on our website.
Read this post on our website. Hello, Another week has elapsed, which brings us another week deeper into the declining weather of autumn.
Read this post on our website.
Read this post on our website. The boring phase of bug-fixing is still going, slowly but surely. Stable should be released next week, but with some people on vacation (Ben, Jitka, kovarex, Klonan, Sanqui) and with the release of WoW Classic, it might get slowed down a bit. (By the way, some of us will be playing on Pyrewood Village, Alliance, so if you want to have the chance of meeting Twinsen, kovarex or dominik while leveling, you can join that server). So since there's not much happening, this week we decided to explore some unpopular or controversial opinions about the game from within the team. In Wube we don't have a very strict management structure, everyone is free to have ideas and opinions about almost all aspects of the game. This means that with almost every change we argue and discuss a lot before making a final decision. Sometimes we argue about everything, from the smallest GUI change, to how a major feature should work. This is probably not a bad thing since this means changes are usually well thought out and unpopular ideas or changes don't make it to the game very often. Some people feel quite strongly about their opinions or sometimes the team is very divided on what should we do. Today we'll share some of those opinions and controversies. Keep in mind that these are simply opinions and none of them will actually make it into the game, we are simply sharing them to have an interesting discussion.
Read this post on our website. Hello, we had a party last night in the office to celebrate the work we have done over the last 6 months on 0.17 stablisation. It was nice to have most of the team together to share some beers and pizza.
Read this post on our website.
Hello,
We had a lovely surprise waiting us this Monday, one of our fans had sent us a delicious cake:
It didn't last very long...
Thank you very much Conn! It certainly helped with the bug fixing push this week.
Read this post on our website. Warning this Friday facts is about the Introduction scenario, not about anything that will be in Freeplay Factorio. You may want to read previous FFFs (FFF-257, FFF-284) about the Introduction. TLDR: the Stable candidate of the Introduction scenario is now in Experimental please play it and send me your screenshots. Feedback especially on the freeform endgame would be greatly appreciated. We have also released a Experimental version of the Demo, be sure to send this link to your friends ASAP SPOILER WARNING: If you have not yet played the Introduction Scenario, go play it before you read this.
Read this post on our website.
Read this post on our website. Hello, We are down to 28 bugs on the forum. The last bugs are often the ones we have been putting off for a reason, they generally require some more meaningful changes and decisions. That is why this week we have a lot to discuss.
Read this post on our website.
Read this post on our website.
Read this post on our website
Hello, this Special Friday Facts post is too long to post here on Steam, so we would like to invite you to read it on our website.
You might have noticed that a lot of rail related stuff was broken during these past releases, and now it is working more or less fine again. The story behind is is not so trivial.
Read this post on our website
Read this post on our website Hello, the bugfixing period boringly continues, we got down to 159 active bug reports, so in few weeks we should be finally down with this burden. But at least the graphics department has something new to show:
Read this post on our website.
Read this post on our website
Read this post on our website.
Read this post on our website
Read the blog on our website Hello, we are still focusing most of our resources towards fixing as many bugs as possible so we have stable release in reasonable time. In the meantime, the preparation for the continuation of the work on the GUI rewrite is still happening:
Read the post on our website
Hello,
This week has been non-eventful. We are fixing bugs. There is not much to say, and I have updated the graph to reflect the status of the ongoing Dev vs. Bug war:
The massive spike is the specific crash we talked about in the last FFF.
Read the blog post on our website
Hello, This past weekend we beat our previous record of most simultaneous players with a peak player count on Steam of 22,457 players, and no doubt another couple thousand playing the non-Steam version.
Read the post on our website.
New version is up and the changelog is too big for a steam announcement post :D Have a look over at our forum: https://forums.factorio.com/65070
Read the blog post on our website.
Read this blog post on our website.
Read this article on our Website.
Hello, as we learned countless time before: Visual feedback is the king! Especially when the GUI is as complex as the Train GUI.
Hello,
Hello, the office is slowly ramping back up after the Christmas and New year festivities.
It's the last Friday of 2018, and as such the last Friday Facts before the New year of 2019.
We all hope everyone has had a great 2018, and looking forward to a lot more automation fun to come in 2019. Albert has produced a postcard for you all to share to give the year a good send-off.
Hello, we recieved a lovely holiday gift from Steam this week:
The note reads: Happy Holidays! From the Steam Team
The chocolates are delicious and do not seem to be lasting long...
Hello, a large part of the team is attending GDS, if you are in Prague and interested in Games, you are welcome to come as well.
Hello... Part of the GUI rework for 0.17 is also tweaking the tooltips:
Hello, it is me, posila, with another technical article. Sorry.
In FFF-241 we discussed how the game delivers information to the player in a number of confused ways; Blinking arrows and circles, chat messages on the bottom left corner of the screen, objectives in the top left, orange modal boxes bubbles on top of the player, and so on. These problems are exacerbated on high resolution monitors, where the information becomes even further spread apart. We have tried a few ways to unify this information, but much of it was required to be in the world space, or needed to have a link between the screen space and the world space. The common solution to this is to have the GUI 'point' to an entity in the game world, but we wanted something more interesting.
We have already pointed out, that we are trying to make a new campaign (FFF-245), and part of it is the core beginning, the NPE/tutorial.
The tutorial is one of the very critical parts of the game, as if the first 15 minutes of a game feels shitty, there is big chance, that the player will not play any further. I had this experience in many games myself.
So the challenge could be articulated like this: "The current tutorial is okay, but can we make it great?"
The approach in the current tutorial is to feed the player with the basic knowledge of how to control the basics of the game (the first mission and the start of the second mission) in the fastest way possible.
The player is even given descriptive info like this, to diminish the chance of not understanding how the basic entities work.
After few steps in the 2nd level, the player can start exploring his first self-feeding loop (make iron to make more iron).
The tools used to this is mainly:
Hi Factorians, This is Dominik, and my first FFF post ever! I will use this opportunity to talk to you about the exciting subject of pipes. Yeah, I know, right? Spring came and with it Twinsen, saying "Pipes suck. Two people already tried to fix it and failed, who wants to be next?", and I’m like "Hey, that’s just pipes, you just make a simple simulation, simple AF. I’m in." The conditions were even quite lenient:
With most of the team away for Gamescom or vacation, I have the pleasure of writing a Friday Facts for you this week.
Hello, A bunch of us will be travelling to Gamescom next week as visitors, if you see anybody wearing a Factorio t-shirt, it might very well be one of us. We don't have a booth or exhibit this year, as we don't want to take any focus away from the development of the game.
Hello, we had a small Factorio 0.17 LAN party this weekend. The purpose was to try and test some of the new features and play the game properly as I haven't had time for that for quite a while. I used this opportunity to think about all the smaller or bigger decisions, features or change of plans in the context of playing the game for many hours.
Hello, we are really appreciating that the new offices have proper air conditioning...
While working on the GUI, we reached the infamous blueprint library, and we started talking about how to improve it. This lead to discussions about how we can improve the entire system of blueprints. The problem was not simple at all, and these discussions have been going on for a few days.
Being brought in to create content on a very mature project has been an interesting experience to say the least. One of the first things I did was analyse the features of the game and which kind of player the game currently supports. The obvious thing is that Factorio Freeplay strongly attracts and engages players who enjoy an open-ended sandbox type of game. Achievement statistics show that only about 11% of players on Steam have ever launched a rocket, which currently means 'won the game'.
What about the other player types? Well for those that are new to the game, or unsure if they are interested, we will have the New Player Experience. This is a free, combined tutorial and demonstrator mission which we discussed in FFF-241. But what about those that prefer a guided experience? This is the sort of player who wants to play the game, and experience all of what it has to offer, but wants to be taken on a journey. For these players we have the campaign.
Why do we need a new campaign at all? We find that the current campaign:
00007FF6DA0B13B2 48 8B 8D D8 00 00 00 mov rcx,qword ptr [rbp+0D8h]
00007FF6DA0B13B9 41 B2 01 mov r10b,1
00007FF6DA0B13BC 48 3B 8D E0 00 00 00 cmp rcx,qword ptr [rbp+0E0h]
00007FF6DA0B13C3 74 51 je Furnace::canInsert+106h (07FF6DA0B1416h)
00007FF6DA0B13C5 48 8B 03 mov rax,qword ptr [rbx]
00007FF6DA0B13C8 E9 33 EC E3 FF jmp 00007FF6D9EF0000 // Jump outside of the Factorio executable
00007FF6DA0B13CD 90 nop // Padding
00007FF6DA0B13CE 90 nop // Padding
00007FF6DA0B13CF ?? ?? ?? // Illegal instruction - crashes here
00007FF6DA0B13D0 75 3F jne Furnace::canInsert+101h (07FF6DA0B1411h)
00007FF6DA0B13D2 0F B7 41 04 movzx eax,word ptr [rcx+4]
00007FF6DA0B13D6 45 32 D2 xor r10b,r10b
When 0.16.33 went out the number of crashes in Furnace::canInsert(...) dropped by a factor of 15. We changed nothing about how it worked and somehow it was crashing less. After some further discussion this morning, we believe that we've got a plausible explanation as to what is going on:
Someone probably used something similar to Cheat Engine to cheat by modifying the program memory runtime. In fixing a bug, I refactored how Furnace::canInsert(...) operates enough that the executable now crashed in what ever the cheat engine script was doing. As we released new versions, the people using that script stopped using it because it was crashing their game, and so we stopped getting crash reports.
As always, let us know what you think on our forum
Hello
Hello, it is another Friday already, and one step closer to the double-digit temperatures of spring.
Hello, it has been extremely cold these last weeks. It's one of those weeks when we can't think of anything to write about. So we will try to write some small parts.
Hello, on Thursday we received a belated Christmas package from our friends over at Steam:
They definitely won't be lasting long :-).
Hello, another week has passed here, with part of the team still out in Taiwan. They should be back next week, with some news of their great adventure.
Hello, this week has been a week of typical bug fixing of 0.16, so development news wise, there is not much to write about. However we have some updates on some other goings on in the company.
The previous FFF seems to have caused quite a reaction. We had many discussions in the office regarding this topic, so this week some of us prepared some detailed responses.
Hello, this is the last Friday of 2017, and as such, the last Friday facts of this year.
- Changed fluid wagon capacity from 75k to 25k (Same as storage tank).
- Lowered fluid wagon weight from 3000 to 1000 (same as cargo wagon).
- Changed fluid wagon recipe so it requires just 1 storage tank instead of 3.
- Lowered barrel fluid capacity from 250 to 50.
(So cargo wagon with barrels holds 20k and logistic robots are not too strong alternative to carrying fluids.)
- Decreased barrelling crafting time from 1 second to 0.2 seconds.
The overall feeling we had was that fluid wagon capacity is too large, fluid trains have to barely move around, and waiting for the wagon to be filled often takes too much time.
We also wanted to make sure, that wagon with barrels just can't hold more fluids compared to fluid wagon, because even when barrels are generally more work to handle, it is not what you would intuitively expect.
With the fluid wagon separation gone, the main advantage of barrels is not capacity, but versatility. They can be combined with other barrels of different kind, or items in the train, they can be limited by the inventory limit, or easily filtered by filter inserters, transported by robots, belts etc. This advantage seems to be much more intuitive and I hope it makes sense now as whole with the removal of the fluid wagon separation to you.
Hello, as you could expect this Friday facts is mainly about our fight with the avalanche of bug reports, which is actually not as huge as we expected it to be to be honest. We released 0.16.7 yesterday, and this will probably be the last update for a while. Most of us now are taking a break, enjoying the festivities, and visiting our friends and family.
Hello there. As you probably know, we released the experimental version of 0.16 this week. As usual after such a big release, we are working as best as we can to fix the bugs to make the game reasonably playable as soon as possible. Our current goal is to have semi-stable version before Christmas.
Christmas is coming early for Factorio fans. We have a lot of exciting things to show you and announce this week, so hold on tight.
Hello dear biters and related species from unexplored planet full of life and natural resources. Recently I have been working on several high resolution graphics for your best friends - the tank and the player character. In this article I would like to show their updated visuals to you, as well as a sneak peek at how they are produced. The following text may contain traces of automation.
Hello, most of the team is out of the office today attending the Game Developers Session here in Prague, if you're around you can look out for some people wearing Factorio t-shirts. As we were thinking about what to write in this Friday Facts, kovarex suggested "In the next Friday Facts we should write about how hard it is to write Friday Facts". Sometimes it is really difficult to find something interesting to write about. Thankfully we found some short things that that we thought you would like.
Hello, I wanted to write about the things I'm improving in our GUI library, but I realized, that the important part is to explain what is the motivation to do so. So let me present the history of Factorio GUI.
Hello, it is Friday once again.
Hello, there has been an illness running around the office this week, so productivity has been down. Regardless, it is still friday, so here are the Factorio Facts.
Hello, we are still here, working on the game.
A long time ago, in FFF-191 I wrote about improving the GUI. Well, things are finally starting to move, so this week I'll bring you an update on that. We even have a GUI team:
We are aware that we don't add so much content to Factorio these days. The reason we always state is that we are focusing on polishing and finishing the game. There are a lot of little things and details (some call it quality of life improvements), that don't look that awesome when reviewed one by one, but once they accumulate together they should make a big difference in the game experience. I'm going to talk about some of them now, but don't be afraid that we won't add anything new in the 0.16, as the work on the artillery train has already started and it is probably going to be epic :).
It’s been several weeks since we showed you the graphics for new high resolution circuit connector modules (FFF-202). However now is finally the time when we have them in the game. In this article I will briefly show you what was done both in the graphics and code, and what new benefits are there for you as players and modders. I find the 0.15 version of the circuit connector module has following “problems”: [olist]
var shiftingX = 16;
var shiftingY = 8;
var finalX = transform.position[0]+ (shiftingX * 2);
var finalY = transform.position[1]+ (shiftingY * 2);
[finalX, finalY]
This simple expression just lets me center the sprite and copy the X and Y shifting values from Lua, instead of having to worry about making calculations all the time, and it’s more readable when re-visiting and checking.
With the shifting values ready, the next step is to tell the game to accept them somehow. I wouldn’t dare to try overwriting all of the entries in entities.lua and similar files, simply because it would probably mean massive amount of errors, both by hand or somehow automatically.
So instead Michal (Posila) wrote a python script which generates a new circuit connector file where all of the specific definitions are kept, and refactored the entities so that each entity connectible to the circuit network just grabs the values from the master circuit connector file. Hopefully this makes it more maintainable for the future...
I need to make a confession. I'm addicted. Addicted to optimisation. I earned some money by the game ... you know .. I could just .. I don't know .. play games and ... have some leisure time, but do you know what would be the problem? I would have to think about some Factorio optimisations I wanted to do anyway. When I go to bed in the evening, I think about cache locality and data structures. I dream about ways to reorganize structures to minimize the amount of data needed to be read to perform Factorio logic. When I walk in the park, i visualize the tricks that could be done to decrease data and logic dependencies. This usually only stops when I see how many bugs need to be fixed after release when lot of changes are done.
Hello, it's another Friday, so time for another Friday Facts.
data.raw.item["transport-belt"].subgroup = "transport-belt"
data.raw.item["transport-belt"].order = "a"
data.raw.item["fast-transport-belt"].subgroup = "transport-belt"
data.raw.item["fast-transport-belt"].order = "b"
data.raw.item["express-transport-belt"].subgroup = "transport-belt"
data.raw.item["express-transport-belt"].order = "c"
This is a typical situation, where the fact that our data definition is done in a scripting language can be taken advantage of. We can just replace the previous code by more generic variant.
for index, recipe in pairs(data.raw.recipe) do
-- Assuming the name of the entity is the same as name of the recipe, it could be solved more precisely
if data.raw["transport-belt"][recipe.name] then
recipe.subgroup = "transport-belt"
end
end
The code goes through all the recipes and whenever its result is a transport belt, it is moved to the correct category. This way, all the possible other transport belts added by other mods will go there and my change of categories doesn't actually make more problems than it solves. This is a shoutout to the mod devs so they try to be reasonable with the crafting categories, so it doesn't happen that often that Hello, it seems the summer heat has finally subsided, and we have not had to run our AC units the whole week. We mentioned earlier we have had Dominik in for a testing week, and we are happy to say that he is quite qualified for a position here, so will be remaining with us. Tom has also joined us, moving here from the Republic of Ireland, and has been getting settled in working through a lot of the small unassigned tasks. It also seems most of us are back from our vacations, so the pace is picking up again. Most of the work this week has been on the unentertaining sepctrum, with a lot of internal reworking and refactoring going on. A lot commits related to fixing our compilation after the move to C++17. Many of the GUI and input action functions were broken (such as rebinding keys, switch map editor tabs, setting combinator filters), so its been a team effort to fix these as they are found. Hopefully not many will slip through the cracks and into release.
data:extend{
{
type = "noise-expression",
name = "starting-area-webbing",
expression = noise.define_noise_function( function(x,y,tile,map)
reset_seed(map.seed)
local continents = new_basis_noise(x,y,32,1/512)
local webbing = noise.ridge(new_basis_noise(x,y,16,1/64), -math.huge, 8)
return noise.max(continents, webbing - tile.tier)
end)
}
}
The result looks like this in the previewer:
Hello Factorio players, lets start our developer to player interaction right now! :)
Debug mode
Standard: 270.23 seconds.
Fork: 45.64 seconds.
Difference: 5.92 times faster
Release mode
Standard: 58.94 seconds.
Fork: 17.56 seconds.
Difference: 3.35 times faster (limited by slowest suite)
Heavy mode
Standard: 7456.27 seconds
Fork: 877.82 seconds
Difference: 8.49 times faster (limited by slowest suite)
Hello, it's vacation season here in the office, with a lot of the team taking some time off. We just released what will probably be the last version of 0.15, so now is the best time for everyone to take a breather.
Hello,as the team is getting slowly bigger and we still don't have any dedicated project manager, we had to start looking for tools to help us manage the team. We are testing software that allows our team members to track time spent on individual tasks, so right now my timer on "Friday facts related work" is running. I hope it to give me better insight into what kind of tasks our time goes to, where are we losing most of it, or what were the people doing when I was not here. People tend to not like these kind of changes, but we just have to admit that we are not the 4 people punk development team working from our living room and we need to invest more time into working efficiently.
[noparse]void CraftingMachine::setupWorkingVisualisationFrames(double performance)
{
const CraftingMachinePrototype& prototype = *this->getPrototype();
this->frame.move(performance, prototype.animation.getAnimation(this->direction));
if (this->workingVisualisationFrames.empty())
{
this->workingVisualisationFrames.resize(prototype.workingVisualisations.size());
for (size_t i = 0; i < this->workingVisualisationFrames.size(); ++i)
this->workingVisualisationFrames.randomize(prototype.workingVisualisations.getAnimation(this->direction),
this->getMap().getRandomGenerator());
}
for (size_t i = 0; i < this->workingVisualisationFrames.size(); ++i)
this->workingVisualisationFrames.move(prototype.workingVisualisations.getAnimation(this->direction));
[/noparse]
Becomes this simple:
void CraftingMachine::setupWorkingVisualisationFrames(double performance)
{
this->frameReference += performance;
this->showWorkingVisualisations = true;
}
The memory size of crafting machine is decreased and the overall performance of game is improved by additional 2%.
Another day, another optimisation :)
I decided to write about the results of the item stack optimisations explained in the FFF-198, so I rushed today to finish its implementation, just to find out that the task affects an even bigger part of the code than I expected, Items are related to many things in Factorio :) After many hours of rewriting and fixing, I can compile it and even start a game, but most of the things are broken. It is quite funny to see some of the basic item interactions to be broken. Now I'm making commits like "Now I can split stacks", "Now I can merge stacks", etc. It reminds me the old days. In conclusion, the details of the optimization will have to wait for next week, and since it is after 10pm, this Friday facts will be somewhat shorter :)
Hello, the 0.15 has been declared stable. Unfortunately we found some smaller problems, so there is going to be at least one bugfix release. One of the problems we discovered yesterday, is a glitch in the blueprint transferring logic that results in the transfers stopping forever when a player that is just transferring his blueprint into the game leaves. I'm quite surprised that I found it out myself when I was testing something else, and we didn't have a single bug report regarding it.
Data size Write count
0 bytes 51'527
1 bytes 47'267'254
2 bytes 24'264'184
3 bytes 124
4 bytes 11'277'751
5 bytes 791
6 bytes 971
7 bytes 591
8 bytes 1'390'402
9 bytes 870
10+ bytes 18'077
The largest was only 121 bytes (called 84 times). In total 152'472'991 bytes were processed making for an average of 1.8 bytes per call. The entire process completed in 2.46 seconds for an average of 334'257 calls per millisecond. The serializer we use for saving the map uses several memory buffers that it cycles internally as it writes one buffer to disk in parallel with the rest of the map saving logic so there wasn't much performance to gain in this logic. But, seeing the numbers gave me a better picture of just how much work happens when the map is saved. In the end I found a few small things to improve on such that saving the map in 0.16 now only takes 2.25 seconds (a 9% improvement). Not what I hoped for but an improvement is an improvement.
Map load time
When looking at the time spent loading maps I found that we had a similar memory buffer system to saving but with 1 major difference: when the buffer ran out it would stop and refill the buffer from disk. That was an obvious slow spot with an easy fix: use multiple buffers and load them from disk in parallel with the map deserialization. I also found some inefficiencies in how trains were loaded causing them to run O(Rails * Trains) operations every time the map was loaded which I fixed to just O(Trains). The end result being what took 3.89 seconds to load in 0.15 now takes 2.8 seconds to load in 0.16 (a 28% improvement).
Game startup time - Graphics
On this new computer with normal graphics quality Factorio takes 9.84 seconds to reach the main menu. I think that's pretty good for a game these days but as we work on Factorio we close and restart the game 100s of times per day. Every time we change something, test a save file from a bug report, or as I was doing: testing out changes to see how they impact performance I have to wait for the game to start and it's wasted time. There's a disabled config option that takes all of the loaded graphics the game uses and packs them into 1 large file that can be read at startup. It mostly helps when you frequently restart the game - which is exactly what we do every day. With that enabled the game launches in 5.31 seconds (a 46% improvement).
Game startup time - Mods
We don't tend to use mods while we're working on new features so some performance problems related to them go unnoticed. One bug report recently had 111 mods the person was using which exposed a slowdown in processing all of the mods at startup. When mods are loaded we track what a mod changes, to record the history of what mods change what game objects. Originally we did this using the C++ Boost library "property tree" class, but it turned out to be faster to write our own logic using Lua than use the Boost class. Since that change we wrote our own version of the property tree class and in testing it showed to be even faster than doing the logic inside Lua. In 0.15.31 it took 28.72 seconds to process the mods and now in 0.16 it only takes 20.2 seconds (a 29% improvement). Not only does this benefit the players but it helps us because we don't have to spend as much time waiting for the game to load when working on modded bug reports.
Game startup time - Sounds
With the loading of graphics and mod data no longer being the slowest parts the next thing that started taking the majority time was loading sounds. I realized, after my work on improving map loading, that there wasn't any reason I couldn't just load sounds in parallel with the graphics. It was a 20 minute 'fix' and now by the time graphics are finished loading, sounds have long finished meaning it can proceed straight to the main menu.
Game startup time - Conclusion
With graphics being loaded from the atlas-cache, mod data processing being almost twice as fast, and sounds loaded in parallel I can now launch the game and be at the main menu ready to play in just 2.962 seconds (a 44% improvement). The change was interesting to get used to over the past week but now when I need to test things in 0.15 I find myself annoyed at how long everything takes compared to the 'new hotness' of 0.16.
Map generation - New maps
Unless I'm working on some specific save file I generate maps almost as frequently as I restart the game while working on bug fixes/new features. I've never considered generating a new map particularly slow but it never felt fast either. 0.15 already generates the map in the background while the game runs to prevent stuttering while new chunks are generated but the starting area when making a new map is not. I changed it so the starting area would generate in multiple threads if possible (while still maintaining determinism). The end result being: 0.15.31 generates a new map in 1.83 seconds and 0.16 generates a new map in 0.8 seconds (a 56% improvement).
Conclusion
Overall the start-game/load/generate game experience is measurably faster. Most importantly it feels noticeably faster, and makes for a better overall experience when we don't have to wait for things. With the belt optimizations and everything mentioned here, 0.16 is already promising to improve performance in multiple areas and full 0.16 development hasn't even begun, with other ideas we've talked about in previous Friday Facts still to be implemented promising even better performance.
As always, leave us any feedback or comments over on our forum
We have been working to fix all the bugs and polish our latest release 0.15 for the last 3 months, and we feel now is the time to mark it as stable. This means we are happy with how the game is performing, and that there are no major game-breaking or save-corrupting issues. 0.15 is one of the biggest updates we have ever developed, with a large number of major and minor additions, alongside countless other changes.
Note: Due to a change in the size of boilers, previous steam engine power stations will be non-functional, and will need repair.
Hello,
I can't believe that we have been able to produce a post every Friday for 200 weeks without missing a single one. To be honest I'm not sure if this isn't the right time to pause for a while, to avoid being this kind of show that gets worse and worse over time until it is so bad that you want to take your intestines and strangle yourself with them. But people in the office convinced me with arguments like "FFF is the only good thing we have", so we probably have to continue for a little longer.
bin/x64/factorio --generate-map-preview=output-name.png --map-gen-seed=1230 --map-preview-scale=4
Hello, version 0.15.30 was released today, and we consider it to be our first 0.15 stable version candidate, as long as no other big bugs appear, we will have 0.15 stable in a week.As the teasing never ends, it is time to show some ongoing work on 0.16 already.
Hello, after weeks and weeks of going through bug reports and fixing stuff (after all 0.15 was one of our biggest releases), it seems that we are approaching the end of 0.15 stabilisation. The (wishful) plan is to have a stable candidate for 0.15 next week. Sadly, this will change our attention to just different category of bugs: Those that we plan to fix for the 0.16 as they are not so critical and the changes required to fix them are too big to be done in 0.15 at this point.
CrcWriteStream* crcWriter = new CrcWriteStream();
MapSerialiser mapSerialiser(crcWriter);
this->save(mapSerialiser);
this->crc = crcWriter->checksum();
The way it works is, that the blueprint is saved as it would be normally saved, but instead the data goes into a CRC engine. The problem is, that our MapSerialiser writes current output map version automatically in a constructor. This means, that whenever we changed version of factorio, which is every release at least, the CRC values of the blueprints changed, and they were suddenly considered to be different. It was quite hard to reproduce because of this. Anyway, forcing the serialiser to not write the map version to the output in this case fixed this issue.
We were also wondering how big is the chance, that 2 blueprints in one blueprint library will have the same CRC. The CRC is 32 bit, so there are 2^32 combinations. If we take into account 1 million players, and assume that each of them is having 20 blueprints in their library and all of the blueprints are random, the chance that it happens at least once is 9%. (You can try to calculate it yourself if you like math). Lets wait if it happens or not :)
struct ItemStack
{
ItemCountType count;
Item* item; // dynamically allocated classed based on the item type
};
The Item needs to be a pointer as different kind of items have different properties and can hold different kind of data:
struct ItemStack
{
ItemCountType count;
ItemID id;
Item* item; // null unless the item needs special data (blueprint, armor etc...)
};
Now, in the vast majority of cases, the ItemStack is simple and flat, so any operation with it will be much faster. It is possible that this change might improve the performance, but until we actually implement it and test it, we will never know.
Hello, not much at all has happened this week. It has been rather quiet with the Art department out of office the last few days. However there has been some additional success on our recruitment drive, so there will be an additional 3-4 bodies (live) in the office within the next month.
Hello, after a lot of planning and preparation, the party on Saturday went very well. We really enjoyed spending time with some of our fans, and it has definitely sharpened our motivation to do right by our community and make the game as great as possible. With this festivity behind us, we started this week with some renewed focus.
Hello inhabitants of a remote and unexplored planet full of life, richness and natural resources.
The group of entities we are bringing to high resolution currently is the combinators. The main problem with them is the amount of shifting values needed, so we used a specific workflow which I will try to show and explain today. Some of the parts have already been described in FFF 146, so I will only mention what is necessary for this article.
Please fasten your belt as this will be a ride full of automation.
Hello, it has been a pretty hot week here in Prague, and we have finally wheeled-out and hooked-up our little air-conditioning unit, which has been making a valiant effort to keep the office cool.
Hello, we try to fix bugs as fast as we can, the more we fix, the more get reported, it will takes weeks to get to stable version ... blah blah blah
Since all of us are fixing bugs, there is not much to report. So I will take this opportunity to rant about game design, gameplay design and UI. Please note that these are my (Twinsen) personal opinions and do not necessarily reflect Factorio's direction. Nonetheless it should make for an interesting Friday Facts.
Hello, it's been a rather quiet week here in the office, with all of the teams attention towards fixing bugs and other minor issues.
Hello!
Hello, another week of tepid weather here, but the work on the final necessities to 0.15.0 continues with full force.
Hello, the sunny spring weather seems to have taken a break these last few days after Denis' arrival to the office. His work continues on the belts optimization, as the rest of the team has been playtesting 0.15, as well as closing off remaining minor features on our Trello board.
Today, it is exactly 5 years since the initial Factorio commit. As you may, or may not know, the first version was created in java, and it took me (kovarex) a whole 12 days to realize that it is not a good idea, and I switched to C++. As a small celebration I provide the Factorio pre-alpha version 0.1. It is a good reminder of how much the game has moved forward in all directions. The controls are cumbersome, the graphics are funny and glitchy, the GUI is horrible. The campaign has 4 levels, where the last one is quite a challenging defense mission. There are also 2 savegames with one of the first Factorio Factories ever created.
I've done several optimizations around the game update over the past few game versions but in 0.15 I decided to also look at some of the game GUIs. In particular there are 3 GUIs which tend to take a large amount of time when visible: the production stats, the trains view, and blueprint tooltip previews.
Work this week has been progressing nicely on 0.15. We hope we will be able to start our internal play testing soon, as the team works to close off the rest of the major features. Rseding will be arriving here in Prague next week for another of his infamous visits, and Harkonnen will be joining us shortly after, so the office will be prepared for tackling any issues that may arise. Since we are going to be spending the next period polishing and fixing what we already have, you can look forward to some less interesting FFF posts in the coming days. Take the lack of exiting new topics to cover as a good omen that the whole team's effort is on getting everything ready for the release.
While all us minions and assembling humans are furiously working on 0.15, today I would like to present to you what I have been working on lately - new graphics for resources, of course including high res and the new uranium ore. In the second part of the article I will get to an old/new topic about concrete.
Hello, the office has had a very lively atmosphere this week. With some very productive team discussions taking place, we reach another Friday with an optimistic outlook of the weeks to come.
Hi everyone. About half a year ago whenever I was sitting deeply in Factorio and when I needed to spend time in my phone, I was reading FFF or Factorio forum. Later when I decided to move - I suddenly realized that Wube is the most logical target to apply my crazy mind. All thanks to those FFF and you guys. Now I am writing another FFF myself which, looking back at those times, gives me ripping apart feelings (which I believe is a good thing :)).
We have had some reports of users experiencing an issue with the game graphics after updating to the GeForce Driver 378.49 with a GeForce 10 series video card.
To workaround this issue, open the Factorio properties in steam, and set the launch options to:
--max-texture-size=16384
We hope Nvidia will be able to address this issue shortly, if not we will release an update to limit the texture size by default.
Hello, a wave of illness has afflicted the team these last few weeks, but things are starting to pick up again. With the collective health of the office back to normal, progress is advancing well on the features for 0.15.
function create_gui(player)
player.gui.left.add
{
type = "sprite-button",
name = "My_mod_button",
sprite = "item/my-mod-item",
style = "My-mod-button-style"
}
player.gui.left.add
{
type = "frame",
name = "My_mod_frame",
caption = "My mod frame",
style = "My-mod-frame-style"
}
end
This is very simple, and easy enough to understand, but will require each mod to define their own style, or use the LuaStyle script interface to set their style during the game. The issue of odd styling comes from perhaps there being no built in simple and effective styling mods can use. Another problem is that with multiple mods installed, there is no overall control about how and where the Gui elements interact and 'fight' with one another for space.
So to begin to help this, I've implemented an optional Lua script that modders can use, which should help unify things, as well as being simple to use for anybody new.
require("mod-gui")
function create_gui(player)
mod_gui.get_button_flow(player).add
{
type = "sprite-button",
name = "My_mod_button",
sprite = "item/my-mod-item",
style = mod_gui.button_style
}
mod_gui.get_frame_flow(player).add
{
type = "frame",
name = "My_mod_frame",
caption = "My mod frame",
style = mod_gui.frame_style
}
end
Which can look something like this:
Hello!
Hello, It has been very quiet in the office this week, the calm twilight between Christmas and the New year.
Hello. With Christmas nearly upon us, life in the office has slowed down nearlyto the point of complete hibernation. But we still bring you your scheduledprogramme to give you something to look forward to in the next year. For the past few weeks, I've been working on our shiny new blueprint library. Wealready introduced the library in FFF 161, but to briefly recapitulate: The blueprint library is a place for you to keep your blueprints, and it does twothings for you:
Hello, Denis has joined us for another month here in the office, a small overlap with Rseding who is flying back to the USA next week. With the festive season upon us, Tomas and Kovarex have both taken some time off for a vacation.
Hello,the hopefully final 0.14 version was recently released, meanwhile most of the team have been assigned their major tasks for 0.15.
Hello!
Hello, Rseding has just arrived for another 6 week visit here at the office, and his timing is pretty great as we start shifting the focus onto 0.15, of which our to-do list is extremely long.
The latest version 0.14 of the game is now declared stable. It took us 8 months since the release on Steam Early Access. We took our time to deliver many new features, usability improvements, and also to fix all of the community reported bugs we could (and it has been a lot).
Below are some of the major additions to the game since we launched on Steam Early Access:
Hello, the 0.14 stabilization is still ongoing, we are in the final stretch now and hope our latest release might be declared stable soon, along with a marketing push on steam. Until then here is some news about ongoing developments this week:
Hello, the 0.14 stabilization is still ongoing, we are in the final stretch now and hope our latest release might be declared stable soon, along with a marketing push on steam. Until then here is some news about ongoing developments this week:
Hello, pretty much half of the office has been sick in the past week, but that still hasn't stopped us from progressing in the development of your favourite pollution-generating game (though I have been playing some Cities skyline recently and there you can screw the nature around quite creatively as well).
Hello,
once I changed the science packs for 0.15, I had to do a playtest to have a feel of how the changes affect the game.
I finished it just before writing this post:
This was the first single player playthrough in a long time, so there was a lot of new findings.
I also enjoyed all the new features, like blueprint book, auto trash, train conditions etc. These were little things but they helped a lot.
Hello!
Hello, another friday and another Facts. It has been 3 years already without a single friday facts missing. I didn't expect that!
Hello, we have written a lot about multiplayer in the past weeks, it started by the reports at the beginning of the rewrite, and now it finishes with our reports of mega games being played. But as most of our time still goes to bug hunting to achieve 0.14 stable as soon as possible, I just can't help myself:
On September 22, starting at 7:00 am UTC (9:00 am CEST, 12:00 am PDT, 3:00 am EDT, http://everytimezone.com/#2016-9-21,1140,cn3), lasting approximately 30-60 minutes, we will be conducting a database maintenance, resulting in the outage of the following services:
Hi all, sometimes, writing FFF feels like spitting out blood - there is simply very little to write about. Yet the Factorio blog subscriber crowd is there and waiting ... Sometimes it is the opposite and there is abundance of interesting topics available. Today it is the latter case. Enjoy!
Hello, Bugfixing for 0.14 has been going quite well this week, and while its still in experimental we've been adding some supplementary features before programming work begins properly on 0.15. With the summer ending, things have been settling back into a nice rhythm here in the office.
Hello, we are in the phase of finishing the bug report stream, we expect to smoothly transition from the bug fixing phase to the work on 0.15 in the upcoming weeks.
Hello, Albert is back this week, and has resumed his work on the liquid wagon and associated accessories, as well as offering his guidance to some visual related programming tasks. Kuba and Honza are also both back from their respective holidays, and overall the office is feeling much more full than last week.
Hello, it has been quiet here the last week, Rseding is back in America, Albert is in Spain, and some pople have holidays. I have been programming until 9:30pm and then I realized I have to write Friday Facts, so it is going to be shorter today, although this happens quite often to me.
Hello!
Hello all,
while (!exit)
{
processInput();
update();
render();
}
And as usual, things in Factorio are more complicated. The way we do game updates and rendering is a bit different than most games. They way our previous game loop worked was explained briefly in FFF-70. Our main loop code is about 800 lines, but in it's simplest form the new and old game loops look something like this:
while (!exit)
{
processInput();
if (didGameUpdate)
prepare(); //go though all the entities and collect draw orders
start update thread(); //update all the entities: update the game state for 0, 1 or more ticks so we get 60 UPS
if (didGameUpdate)
render();
wait for update thread to finish();
}
The nice thing about Factorio is that we can do the rendering in parallel to the game updates. The only thing that needs to be synchronized is what we call the prepare step, that goes though entities and asks what sprites need to be drawn (and where). Once that data is collected, the render step deals with the actual textures and tells the GPU what to do.
Another thing that is very different than most games and some people find it hard to understand is that there is at the moment no point in rendering more frames than game updates. This is because our animations and entity movements are part of the game state (for many reasons, but mostly for simplification). So if you call prepare() and render() two times in a row, you and up drawing two absolutely identical frames.
I won't go into deep technical details (that would mean talking about barriers, thread conditions, vsyncs, etc.), but our old game loop had a couple of problems:Hello! I have been deep down in the multiplayer internals the whole time since the last Friday facts. I think about multiplayer when I eat, I think about it when I ride my bike, I even have dreams about packets travelling from place to place, when my wife asks me what do I think about, I'm almost afraid to tell the truth. So obviously there is nothing else I could write about than the multiplayer in this Friday facts. This is going to be somewhat technical.
Greetings!
Hello!
Hello again Factorians! The GFX department is back today for covering the process of making graphics for Factorio. I'll get a bit technical, but not too much in order to don't be absolutely boring. Next comes a resumed description of the actual process, so if you are a Factorio modder this might be interesting for you.
Hello!
Hello Factorians, Most of the week has been spent by tweaking and fixing stuff that keeps coming up for the Monday release. Even though things seem to work reasonably well for us a lot of the reported issues are to be expected. Especially regarding the Matching Server and the Mod Portal. It is quite tricky to test these things in our limited environment. So please keep calm and report the bugs=) Some time ago we came up with an idea of involving more people from the team in writing Friday Facts than just kovarex or tomas. The motivation was to take off quite some responsibility from our shoulders but also to give other team members the opportunity to present their work - which we believe can be interesting to the readers. So slowly, posts written mostly by other developers (related to what they currently work on) started appearing. We would like to go in this one even further. So today, the post is written by Albert, our art director, who will give some introduction into the project from the point of view of the graphics creation and where he is going to steer the project art-wise in the future.
Hello all,
Hello!
Hello!
Hello, the struggle to finish the latest features and fixes so 0.13 can be in time, or just reasonable delayed, goes on. There is always last missing icon or tweak that was hiding around the corner. It is still not certain whether we can really deliver next week, but we will certainly try to.
0.13 release is getting close. The programming guys are trying to finish the features so we can start internal playtesting and bugfixing next week. The art guys are working hard on the new trains graphics. In the meantime, here's some more information about the circuit network.
Hello, the 1st of June, which is the goal of the 0.13 release is starting to feel uncomfortably close, especially if I want to start play-testing 2 weeks before the release date. There are a lot of bigger and smaller tasks appearing all over the place. It is now the time of moving some of them to the next release again. Many of them are moved like this for years already.
Hello all, Originally I intended to dedicate most of the post to the technical aspect of our new Multiplayer User Authorization mechanism that I have been working on in my programming time. Then I thought, hmm it would be nice to start with some project management changes that we are looking into and experimenting with. Then I pretty much ended up making a full blog post about that =) It might give you an interesting insight into issues that we are dealing with. The Multiplayer User Authorization mechanism will definitely be described in one of the future FFFs.
Hello Factorio players!
Hello Factorio players!
Hello Factory builders.
It seems like almost all of the new problems are solved. I expect 0.12.30 to solve few smaller issues to be the last 0.12 update. We are starting to spend most of our time on 0.13 again, so stay tuned :)
It seems like almost all of the new problems are solved. I expect 0.12.30 to solve few smaller issues to be the last 0.12 update. We are starting to spend most of our time on 0.13 again, so stay tuned :)
[ 6084 ]
[ 1345 ]
[ 4067 ]