▶
Friday Facts #235 - 0.16 stable
Rseding thinks that we have the least amount of bugs in the game we ever had. Mostly because of the automated reporting system and partly because of my pushing of everyone to fix everything before starting other tasks. The 0.16.35 (to be released soon) will be declared stable on Monday, if no critical problems are discovered. This naturally leads us to:
Major features of 0.17:
0.17 is a 1.0 candidate, but due to all the new rewrites (new GUI, new graphics, new tutorials, new campaigns), it is very likely that there will be unforeseen changes we need to do. So 0.18 should be a rather short release where we polish the GUI and campaign based on player feedback and also fix any final or long-standing bugs, possibly fix long-standing minor issues and once it becomes stable, it will be declared 1.0 once stabilized.
In 0.16.31 we released a bug fix for a specific modded scenario that involved some heavy refactoring of game logic that checked if an item could be put into a given entity. Once 0.16.31 was live we started to get an unusual amount of crash reports inside the Furnace::canInsert(...) logic which made no sense. I thought maybe my fix somehow broke the furnace logic but I couldn't see how it was possible. I spent half an hour theorizing what might be happening but got nowhere. Then I decided to see if any of the other devs might have ideas. Still, we had no idea what could possibly cause it to crash where it was crashing. We finally decided to change our crash log uploading to include minidumps for this specific crash in hopes it would shed some light on the issue. From one of these minidumps, we got a look at the raw assembly code causing the crash, which confused things even further, as it said it was executing code that didn't exist in the executable:
[ 2018-03-23 22:02:50 CET ] [ Original post ]
0.16 to be declared stable
Rseding thinks that we have the least amount of bugs in the game we ever had. Mostly because of the automated reporting system and partly because of my pushing of everyone to fix everything before starting other tasks. The 0.16.35 (to be released soon) will be declared stable on Monday, if no critical problems are discovered. This naturally leads us to:
0.17 plan
Major features of 0.17:
- Mini tutorials (kovarex, Twinsen, Albert, wheybags). We would like to iteratively improve the quality of the tutorials based on our first attempts and cover the rest of the game mechanics by it.
- Improved First Steps campaign and new main campaign (v453000, Albert, wheybags, Ben).
- Gui rewrite. (Twinsen, kovarex, Dominik, Albert). It is both improving the looks of the GUI and changing the way it works. Some of the drafts were already published in FFF-212 andFFF-191.
- New graphics back-end, SDL, OpenGL, DX11, v-sync fix, texture streaming, VRAM usage optimizations, shaders (posila, hanziq, jindri, wheybags).
- Recipe tree GUI (Oxyd). This should be the foundation of some kind of ingame factoriopedia. It should provide the player fast ways to get the answer to questions like: "what is this item used to?" and "What is the graph of recipe dependencies for this".
- Mod integration improvements (HanziQ, Rseding). Mainly extend the feature of syncing mods with save from save loading to multiplayer game joining, mod browsing improvements, which should at least show the mod picture and more smaller things.
- Map Editor improvements, both technical and usability wise (Rseding).
- Map generator improvements and fixes, autoplace specification improvements and documentation (TOGoS).
- High-Resolution sprites for the rest of the game, including few changes to some entities (GFX).
- Final game balancing (kovarex, v453000, Twinsen).
- Spidertron (kovarex, GFX)
- Better car handling and car in latency state (Dominik)
- Better fluid physics
- Organised playtesting for the new GUI, campaigns and tutorials before release.
The big picture
0.17 is a 1.0 candidate, but due to all the new rewrites (new GUI, new graphics, new tutorials, new campaigns), it is very likely that there will be unforeseen changes we need to do. So 0.18 should be a rather short release where we polish the GUI and campaign based on player feedback and also fix any final or long-standing bugs, possibly fix long-standing minor issues and once it becomes stable, it will be declared 1.0 once stabilized.
Weird crash reports
In 0.16.31 we released a bug fix for a specific modded scenario that involved some heavy refactoring of game logic that checked if an item could be put into a given entity. Once 0.16.31 was live we started to get an unusual amount of crash reports inside the Furnace::canInsert(...) logic which made no sense. I thought maybe my fix somehow broke the furnace logic but I couldn't see how it was possible. I spent half an hour theorizing what might be happening but got nowhere. Then I decided to see if any of the other devs might have ideas. Still, we had no idea what could possibly cause it to crash where it was crashing. We finally decided to change our crash log uploading to include minidumps for this specific crash in hopes it would shed some light on the issue. From one of these minidumps, we got a look at the raw assembly code causing the crash, which confused things even further, as it said it was executing code that didn't exist in the executable:
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
[ 2018-03-23 22:02:50 CET ] [ Original post ]
Factorio
Wube Software LTD.
Developer
Wube Software LTD.
Publisher
2020-08-14
Release
Game News Posts:
506
🎹🖱️Keyboard + Mouse
Overwhelmingly Positive
(164072 reviews)
The Game includes VR Support
Public Linux Depots:
- Factorio Linux64 [306.86 M]
- Factorio Linux32 [300.1 M]
Available DLCs:
- Factorio: Space Age
Factorio is a game in which you build and maintain factories. You will be mining resources, researching technologies, building infrastructure, automating production and fighting enemies. In the beginning you will find yourself chopping trees, mining ores and crafting mechanical arms and transport belts by hand, but in short time you can become an industrial powerhouse, with huge solar fields, oil refining and cracking, manufacture and deployment of construction and logistic robots, all for your resource needs. However this heavy exploitation of the planet's resources does not sit nicely with the locals, so you will have to be prepared to defend yourself and your machine empire.
Join forces with other players in cooperative Multiplayer, create huge factories, collaborate and delegate tasks between you and your friends. Add mods to increase your enjoyment, from small tweak and helper mods to complete game overhauls, Factorio's ground-up Modding support has allowed content creators from around the world to design interesting and innovative features. While the core gameplay is in the form of the freeplay scenario, there are a range of interesting challenges in the form of the Scenario pack, available as free DLC. If you don't find any maps or scenarios you enjoy, you can create your own with the in-game Map Editor, place down entities, enemies, and terrain in any way you like, and even add your own custom script to make for interesting gameplay.
Discount Disclaimer: We don't have any plans to take part in a sale or to reduce the price for the foreseeable future.
Join forces with other players in cooperative Multiplayer, create huge factories, collaborate and delegate tasks between you and your friends. Add mods to increase your enjoyment, from small tweak and helper mods to complete game overhauls, Factorio's ground-up Modding support has allowed content creators from around the world to design interesting and innovative features. While the core gameplay is in the form of the freeplay scenario, there are a range of interesting challenges in the form of the Scenario pack, available as free DLC. If you don't find any maps or scenarios you enjoy, you can create your own with the in-game Map Editor, place down entities, enemies, and terrain in any way you like, and even add your own custom script to make for interesting gameplay.
Discount Disclaimer: We don't have any plans to take part in a sale or to reduce the price for the foreseeable future.
What people say about Factorio
- No other game in the history of gaming handles the logistics side of management simulator so perfectly. - Reddit
- I see conveyor belts when I close my eyes. I may have been binging Factorio lately. - Notch, Mojang
- Factorio is a super duper awesome game where we use conveyor belts to shoot aliens. - Zisteau, Youtube
MINIMAL SETUP
- OS: Linux (tarball installation)
- Processor: Dual core 3Ghz+Memory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: OpenGL 3.3 core. DirectX 10.1 capable GPU with 512 MB VRAM - GeForce GTX 260. Radeon HD 4850 or Intel HD Graphics 5500
- Storage: 3 GB available space
- OS: Linux (tarball installation)
- Processor: Quad core 3GHz+Memory: 8 GB RAM
- Memory: 8 GB RAM
- Graphics: OpenGL 4.3 core. DirectX 11 capable GPU with 2 GB VRAM - GeForce GTX 750 Ti. Radeon R7 360
- Storage: 3 GB available space
GAMEBILLET
[ 6102 ]
GAMERSGATE
[ 764 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB