Hello, This week we will talk about some technology and research related changes coming in 2.0 and the Space Age expansion.
Hello, I have an irresistible urge to tell you a little story. I'm sure you come here for stories, don't you?
Hello, we've already shown the space platform processing cycle in FFF-380. Let's talk a little bit more about the machine which makes it all possible - the asteroid collector.
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 :)
A few bugs left... WoW classic has been released, which means several of our top men have taken time off to spend hours raiding and having fun in Azeroth. This isn't great timing, as a few new bugs related to train signals appeared. We want to get these bugs solved before we do another release (another stable candidate). As it turns out, the only person with the skillset to fix these specific train signal bugs is also deep into levelling his Priest... (Kov on Pyrewood Village) We are still making the rest of the preparations for the stable release. We have started writing up the stable annoucement blog post, and have produced a 0.17 postcard image. Other than the few more critical rail bugs, there doesn't look like there is much else to block the stable release, on the forum we are down to 27 bugs. Since there are so few bugs left to deal with, some of the team has starting working on 'post-stable' features. Wheybags is working on the new campaign, Oxyd is diving into some detailed pathfinder improvements, and Rseding has started work on some particle optimizations. We will delve deeper into these topics and more in future FFFs, as we always love to do.
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.
Hello everyone, Factorio 0.6.4 release has just been marked stable! Following our usual release procedure the 0.6 release has been around for a while. Users from the forum helped us to find the most annoying bugs and now the release is considered "serious bugs free". The release has been packed with features and new stuff. Here are the most significant gameplay improvements: The world map (and a minimap). These allows for a much better orientation in the world. The steel furnace (faster) and the electric furnace (requires no coal). Smelting resources is one of the basic tasks in the factory and these new furnaces provide interesting alternatives to using brute-force approach of many stone furnaces. Logistic robots can suplly the player directly. In the later stages of the game the player can focus more on managing and extending the factory and not running around collecting the created items. Modules and beacons. It is now possible to influence machine properties (speed, productivity, energy efficiency) with inserting module items. This way the assembling machines in the production bottleneck can be sped up without extending the production line. Improved terrain generator. The trees now follow the same fractal terrain generation as the terrain. This makes them look more realistic. Apart from the features we have focused a lot of energy on speed improvements as well. With larger factories the players often experienced slowdowns because too many objects have to be updated every tick. We have made optimizations to the way items move along the belts. These were the biggest "performance eaters" (there are often tons of items on the belts in the factory) so this helped quite a lot for the big factories. We also optimised the way graphical rendering works. This is mostly notable on the Windows operating system (our graphical library uses a different backend - d3d on the windows compared to the linux / mac - openGL). Another major improvement has been made to the core loop of the game. The graphical rendering can now run parallel to the game update using different threads. This can take advantage of at most two threads. And finally the render preparation phase (collecting the sprites to be rendered) has been parallelised as well. This can take advantage of multiple threads, we empirically tested that the best results are shown for 4 or 5 threads (given that there are enough cores for these threads to run on). Last but not least our artist has also done a lot of work. There is a new terrain and plenty of objects have new graphics (labs, car, chests, logistic robots, etc.). The game is less contrastive compared to early versions with RGB colors, on the other hand it is also more aesthetically pleasing now. As usual you can find the full changelog of the changes at our forum in the news section . The changelog is now available also directly in the game in the "About" dialog. As mentioned before, the work on 0.7 is in the full speed now together with preparations for the Steam Greenlight campaign. So stay tuned for more news.
Since the release of 0.16 experimental in early December, we have had over 30 bugfix releases, and are confident that 0.16 is ready to be enjoyed by all players. The goal of 0.16 is to wrap up the addition of any major features, so we can begin to focus on the final steps towards a 1.0 release.
This post was written as a joke for April Fools' day. Nothing written here should be taken seriously. No doubt you have heard about NFTs, the latest Blockchain innovation. With some big gaming companies exploring NFTs, where does Factorio stand? We have received many offers. Some of the offers were quite silly, others very tempting. Since we have many Blockchain enthusiasts on the team, we decided to explore the subject ourselves. After consulting with some industry-leading experts on Discord, this is what we came up with: Non-fungible blueprints One of the many subjects of debate within the team is the blueprint library. Allowing players to easily share big blueprints (blue science, nuclear reactor setup, etc.) ruins the fun of figuring out how to build those things yourself. One of the best things about the blueprint library is that it contains your unique blueprints, which are almost like unique pieces of art. So it only makes sense to make them truly unique, using the Blockchain, NFT, and Smart Contracts technologies. What this means is that every blueprint in the blueprint library will now be stored on the Blockchain, and they will be truly unique across all of the blueprint libraries of all players. Just like NFTs, they can be traded on the Blockchain, also making them a great speculative asset. In essence your blueprint library will become your personal wallet, containing only the unique blueprints that you own. Unlike most NFTs, blueprints are created (minted) by the players, making it a truly decentralized system, controlled by the smart contracts we created. In order to guarantee uniqueness we will use AI and Machine Deep Learning to analyze any new blueprint before it is minted, this way you won't be able to just move one power pole and mint a copy. Once again, making blueprints truly unique. Our own Play-to-earn cryptocurrency Limiting the creation (minting) of new blueprints using just the AI will not be enough. To ensure the Blockchain is not flooded with useless blueprints, we will also create a cryptocurrency called Factorio Blueprint Token ⚙️. You will need to pay 1,000 of them to mint 1 new unique blueprint. Factorio Blueprint Tokens ⚙️ are earned from Space Science using a variable conversion rate we will control. Since you can now earn crypto by just playing the game, the game basically pays for itself. Factorio Blueprint Tokens ⚙️ come with all the advantages of a proof-of-work cryptocurrency, and all the fun of playing Factorio and optimizing factories for maximum UPS. Some say that Factorio offers so much value for money, that they paid more for the electricity bill than they paid for the game, so we are happy to take it to the next level. We will host an Initial Coin Offering (ICO) for Factorio Blueprint Token ⚙️, so make sure you invest as much as you can and HODL it, in the hopes that someone will tweet about it making the price go to the moon 🚀🌘. Click here to take part in the ICO.
Hello, after a long long time the 0.9.8 was marked stable this week. There were no big ovations or cheering, just a quite "stable sticker exchange":) The bugs forum is not empty though, as someone would expect. Quite a few small issues remain, but for the sake of moving on we decided to put them to our backlog and mark the release as stable. However if some game crashing or very serious bugs are discovered in 0.9.8, we will make a hotfix. Oh, and the good thing is that we managed to break the streak (for now) of ever increasing number of bugfix releases (the 0.9 had 8 bugfix releases - the same as 0.8). The whole "programming department" has been fully commited to the work on multiplayer for a while now. The task divison for now is following: Michal - fully deterministic simulation. This is an absolute must, because all multiplayer peers will calculate the simulation themselves and only the player input (we call it input actions) will be exchanged over the network. Nice effect of having deterministic simulation will be having functional replays again (hmmm not really again because there have always been some bugs in them even when they were "working":)). Kuba - lower level network layer. This includes the connection management, packets management (we will be using UDP for all the communication) and eventually things like NAT punching to allow connections for peers behind NAT (few people have public IP address). Tomas - synchronization layer. This logic will take care of keeping the simulation state same for all the players in the game. This includes queing up the input actions, sending them out in batches (tick closures to other peers), requesting missing tick closures, etc. These things are absolute minimum necessary for our multiplayer implementation. However there is more to be done after this, things like: starting the game (the lobby), mechanism for a player joining already existing game, hiding the latency for the player (most of the time the actions for different players will not collide so we can act as if common actions - like moving the player around - were confirmed immediately) and more (see our battleplan whiteboard in one of the previous friday facts). There is a lot of work ahead, but the good news is that we have finally fully dived into it. We will keep you updated about the progress:) Albert has finished with most of the map trailer tweaks. Today we also did a first test with exporting the trailer using the new screenshot mechanism. We did this on Michal's computer which is way more powerful than mine (it does take a while to export 3600 screenshots). However there was this funky bug that parts of the terrain in the screenshots had strange, kind of inverted, colors. We have spent like half a day looking into this issue. Finally it turned out to be a problem in our custom optimized version of d3d drawing routine (this was happening on windows only). Spending hours in frustration hunting bugs (that are not even visible to the player in the end) happens more often than you would think, so game programming is not just about sitting back, playing video games and calling it "research" (but that is part of the job too:)) Anyway to give you an idea of what was going on you can see a visualization of the problem below. For better effect (and for us to easier analyze the problem) the corrupted regions of the image (here all of the terrain) are drawn with reddish overlay. Any idea for the picture title? Want to cheer us up for the multiplayer work? Or feel like laughing at us for taking so long with the trailer? Go to our forums.