The plans for 0.12 (Part II)
We were talking about our plans for the next big release two weeks ago. We received a lot of reactions, that having an ending where the player just becomes a rich bastard isn't enough for Factorio. That Factorio deserves better. We learned that listening to opinions of our players, mainly when they have strong arguments is a good idea. So we decided that the endgame will have a different motivation and ending. But we are quite sure that the ship building concept is a good thing, so it will definitely stay.(.12版本结尾的飞船建设,这不是什么新闻吧?)
Other thing we are planning for 0.12 is the extension of the circuit network(扩展电子信号网络).The extension of the network usability is based on 3 things. a) More sensors b) More recievers. c) more options to manipulate the signal.(三方面:1、传感器;2、接收器;3、更多的信号处理方式)
Sensors 1、传感器
train station sensor (sends items in the train in the station)
light/daytime sensor
accumulator capacity sensor蓄电池容量传感器
electric network energy sensor电网能量传感器
enemy sensor
manual switch手动开关(喂,话说这个应该就可以实现我说的功能吧?)
Receivers 2、接收器
light, condition can be specified, can be colored depending the singal(没能理解这是什么东西)
gate
electric network switch, can disconnect segments of electric network based on signal condition.电网开关,可以根据信号状态断开电网区块
pumps
To be able to manipulate the signal better, we will have a new piece called combinator(为能更好地操作这些信号,我们将有一个新的面板:控制板). This piece will allow to do certain manipulations with the signal, like conditional statements or multiplications (simple linear combinations).(这个面板将允许对信号做一些确定的操作,如条件语句或乘法(简单的线性组合)。)
These features will be covered by Robert, our new programming reinforcement from Romania that will join our team at the beginning of February. He visited us month ago for a week, and the circuit network extension was his test task. He made a prototype of light-based progress bar indicator of the amount of items in the chest(他做了一个能在能显示箱子里物品数量的基于光(按颜色?)的进度条用于显示)(话说我理解有误还是什么?为什么对这个的评价这么高?). In that moment, my head exploded from the possibilities it can bring. This will enhance the possibilities in Factorio by A LOT. I can't wait to get my hands on it when its done.The savegame file reduction (Part II) - technical
I started with some basic steps two weeks ago and I managed to do a lot of other tricks to reduce the size of the save files. One of the trick is based on the fact, most of the time, the currently saved position in the world is nearby the last position saved. So the position is saved as relative vector from the last saved position and only 2 bytes instead of 4 bytes are used for one coordinate. We use 8 bits for fractional part, so it covers area of 256X256 tiles. If the last position doesn't fit into this area, special value is used as a sign, that the absolute value of the position needs to be specified, but 99.99% of positions are in the relative area of the last saved position, so this basically halved the data representation of position in savegame again.
I also experimented with bit-buffers, as it allows to save individual bits. It is possible then to save one bit instead of whole byte to save a boolean value for example, but it confuses the zip compression logic so much, that even though the uncompressed file size can be diminished, the compressed rate is so bad, that it is not worth it overall.
We are using palette when saving minimap data (1 byte instead of 3 byte rgb) and we are also specifying the count of repeated pixels of the same color. Several other things like that were done and the file size was reduced significantly, the zipped size of the save dropped by 53% in our testing saves, but it can vary and it depends on the contents of the save.The experience is, that using these context based compressions is much more time effective that the contextless zip algorithm. It is still worth to use the zip compression for the saves, but as the level data is so much smaller, the compression takes less time so the savegame time is reduced, which is important mainly for reduction of the autosave hiccups.
The first sketches of the space technology.(这船好丑……)


The regular comment thread at our forums is ready.