Blog search

Friday Facts #264 - Texture streaming

Posted by posila on 2018-10-12

Hello, it is me, posila, with another technical article. Sorry.

Friday Facts #302 - The multiplayer megapacket

Posted by Twinsen, Klonan on 2019-07-05

The multiplayer megapacket Twinsen Last month I joined KatherineOfSky's MMO event as a player. I noticed that after we reached a certain number of players, every few minutes a bunch of them got dropped. Luckily for you (but unluckily for me), I was one of the players who got disconnected every, single. time, even though I had a decent connection. So I took the matter personally and started looking into the problem. After 3 weeks of debugging, testing and fixing, the issue is finally fixed, but the journey there was not that easy. Multiplayer issues are very hard to track down. Usually they only happen under very specific network conditions, in very specific game conditions (in this case having more than 200 players). Even when you can reproduce the issue it's impossible to properly debug, since placing a breakpoint stops the game, messes up the timers and usually times out the connection. But through some perseverance and thanks to an awesome tool called clumsy, I managed to figure out what was happening. The short version is: Because of a bug and an incomplete implementation of the latency state simulation, a client would sometimes end up in a situation where it would send a network package of about 400 entity selection input actions in one tick (what we called 'the megapacket'). The server then not only has to correctly receive those input actions but also send them to everyone else. That quickly becomes a problem when you have 200 clients. It quickly saturates the server upload, causes packet loss and causes a cascade of re-requested packets. Delayed input actions then cause more clients to send megapackets, cascading even further. The lucky clients manage to recover, the others end up being dropped. The issue was quite fundamental and took 2 weeks to fix. It's quite technical so I'll explain in juicy technical details below. But what you need to know is that since Version 0.17.54 released yesterday, multiplayer will be more stable and latency hiding will be much less glitchy (less rubber banding and teleporting) when experiencing temporary connection problems. I also changed how latency hiding is handled in combat, hopefully making it look a bit smoother.

Friday Facts #379 - Abstract rewiring

Posted by boskid, StrangePan, Klonan on 2023-10-06

Let me show you around. That's our lab table and this is our work-stool. And over there is our interplanetary space-platform! And here's where we keep assorted lengths of wire. Whoa! A real live space-platform! We designed it ourselves. Let us show you some of the different lengths of wire we used.

Friday Facts #353 - Trailer update

Posted by Klonan, V453000 on 2020-06-26

Locale plan update Klonan Earlier this week I received the English proofreadings from Altagram, and overall I integrated over 500 suggestions into the game. Most were small, such as replacing "can't" with "cannot", things like that. It was the exact sort of external scrutiny we really needed, as it showed some areas where we were quite inconsistent. It feels like things are in a better place now, even if the majority of changes are relatively unnoticeable. However it was very noticeable to our great community translators on Crowdin. When we update the English strings, the translations have to be updated on Crowdin. For the last few days I've been working through the issues raised on Crowdin, and there was a lot of good input on that last 1% of the changes. So this concludes the 'English proofreading' phase. Starting on Monday, Altagram will start proofreading the target languages, and filling in any missing strings where needed. This should take about 3 weeks. Since Altagram has their own translation system for their team, it isn't really feasible to include Crowdin in this part of the work, they will just take the content from Crowdin at the start of the process, and after 3 weeks, push what they have back to Crowdin. So any translation work by volunteers on Crowdin for these 3 weeks would be wasted. So we ask that, if you want to volunteer your time, save it for a little while. Any work done on Crowdin this weekend will be included. We deliberately made this buffer between the English corrections and the Target proofreading so that the players on Crowdin have an opportunity to contribute before Altagram starts. After Altagram has pushed their corrections back to Crowdin, we will start the 'Community review' part of the process. This is when the work that Altagram's team has done is reviewed by players and feedback is given to Altagram via Crowdin issues. This helps us make sure the terms of the translations are consistent with the established community usage, and ensure there are no contextual issues or misunderstandings.

Friday Facts #333 - Terrain scrolling

Posted by posila on 2020-02-07

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.

Friday Facts #116 - Strategy Guide

Posted by Tomas on 2015-12-11

Good evening, after a long long bug fixing period we have declared the 0.12.20 as a stable release. Owing to the great effort of all the developers, the open bugs count at the forums is at unbelievable ... wait for it =) ... 3 items. And one of these will be solved by us dropping support for the OSX Snow Leopard. So unless there are quite a few people who have been holding the bugs reports back (out of pure mercy with us of course=)) the game should be rather stable.

Friday Facts #278 - The new quickbar

Posted by Twinsen, Klonan on 2019-01-18

It's finally here (Twinsen) The proposal was first mentioned more than 1 and a half years ago, in FFF-191. Since then, we kept mentioning it in our blog posts and players kept asking about it. After a lot of back and forth within the team on whether we should implement it or not, and how it should work, we finally have it almost finished for 0.17.

Friday Facts #320 - Color correction

Posted by Albert, V453000 on 2019-11-08

Color correction Albert, V453000 Factorio is in a state that even though is not yet finished, it is very close to its 1.0 version. That means that most of the work is done and we are polishing the game in order to make it bright. That's what we've been doing for the past 2 weeks. Literally making it bright. Since years I wanted to do this post-production work. But I didn't dare to do it until most of the graphics were finished. I was afraid of breaking the consistency of the look and our production pipeline. Now it's different. There's only a couple of entities to re-design and some other stuff to do, but in general this missing details are not affecting the possibility of working in the post-production. Factorio is a dark game. I mean conceptually. All these things about industrializing a planet, polluting an entire world just for the sake of the factory, and killing all its inhabitants are not precisely happy concepts full of light. This old article could explain better my thoughts regarding this concept. But the look of the game was dark, too dark. So we cleaned it up without betraying its spirit. Like restoring an old painting. The difference can be subtle, but very effective. We added more light, and a little bit of color saturation. Adding these general changes to the entire sprites collection is not an easy task. Many sprites were badly affected by this general correction. V453000 was fixing individually the broken sprites and icons in order to keep the consistency with the new context. We took the chance to work on the terrain a bit further. Not only this color correction was applied, but the contrast and integration with other terrains was also improved. Also experimenting with the color of the trees, trying to achieve a more colorful feeling with the excuse of an alien planet. I have to say the Alien Biomes mod was opening my mind - a little - to experiment with the color a bit further. In order to break this general brown feeling, we added a more orange tonality to the sand biome. Here is where you can see the difference more. Going further to too saturated colors is dangerous, after all, the terrain is a background that should provide a good and comfortable contrast with the entities and the icons. Touching terrain colours means touching map colors also. We were very keen to keep the visibility of the map information and the similarity with the terrain. The result is a more vibrant look in the entire game. We tweaked the night also. Thanks to posila and Wheybags, we can use LUTs (Look up tables) to dynamically modify the colors. Instead of playing with the alpha channel of a solid black layer on top of the game. Now we can gradually move to a different color palette for night with more control. So the colors are losing their saturation and becoming more blue and cold. This is important, because part of the annoying darkness of the game comes from this black layer. We are still experimenting with this LUT, and the transitions of day/night cycles. I'm pretty sure also that I will have to touch the map colors for some missing details and fine tuning. Possibly there is some entity that is not in its best shape with these new color palettes, and maybe we keep tweaking the terrain. But I feel very confident with these additions and I'm very sure that these changes will improve the experience of playing Factorio. After playing with these colors, the feeling is good. I hope you see it the same way.

Friday Facts #49 - Goodbye holidays

Posted by Tomas on 2014-08-29

Hi all, the august is almost over. So is the holiday season (check out a picture from my visit to Beskydy mountains below). It was fun, we charged our (power armor) batteries and now we are ready to take another step and push Factorio forward (looking at you multiplayer!).

Friday Facts #162 - Theme Art Again

Posted by Klonan on 2016-10-28

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: