Friday Facts #190 - The quiet days

Posted by Klonan on 2017-05-12

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.

Realism vs. Simplicity

With the development of the nuclear power, there were some associated UX changes that were made in relation to the boilers and steam engines. One decision related to this was to show the hot water as 'steam' in the pipes. It was decided that internally the steam would just be water, and the name and look of the fluid would change depending on its temperature.

While it wasn't so simple to implement, the logic of changing the look of a fluid based on its temperature wasn't anything outside the realms of possibility. Thus soon we had hot water that looked like steam, along with a nice animation and icon from the GFX department.

However once 0.15 was released, some complications arose that we had not anticipated. The main issue was that while it looked different in the pipes, when you read the contents of a storage tank, it would tell the circuit network that it contains water. Additionally the circuit network had no signal to represent steam, so easily settings conditions for managing nuclear power setups was not possible.

This design choice thus begins to creep into the realm of 'inconsistency'. By trying to both look like a different fluid, while not acting as one, the steam implementation was in an impossible situation. There were 2 proposed solutions to this:

  • Revert steam to showing as just hot water.
  • Make steam its own fluid.

In the end we decided that reverting it back to hot water would be a step backwards in term of clarity and design. The visual distinction of steam was a very useful indicator to the player. By making it a separate fluid, I could also complete my vision for the coal liquefaction recipe, by making it require steam as an ingredient.

Achievement changes

We are quite surprised sometimes by the bug reports, and the surprisingly logical nature of many of these issues. Due to our deterministic gameplay requirements, a replay of a game has to replicate exactly what actions the player has performed. Any changes in the gamestate between the game and the replay will make the replay invalid. So of course the conclusion to this, is that if you watch a replay of someone earning an achievement, you will also earn that achievement.

While Kovarex was on the topic of fixing this achievement related issue, another that has been affecting many players was brought up. When a player joins a multiplayer game, no matter how long he has been on that server, he will earn all the achievements earned in the map. This was especially detrimental to new players, who might just want to have a peek at another factory, before diving in and experiencing the game fully themselves. This could potentially ruin a lot of the fun for achievement hunters. Now when you are playing on a multiplayer server, you will only earn achievements if you have played more than 50% of the total map time.

Developers needed

We have had to say our partings to Kuba (Blue Cube) as of last week, he has decided to leave the project after 5 years to work on his own ideas. Currently he's spending his time working on a open source CNC application, and no doubt he will be visiting the office every so often to play with our 3d printer.

Due to this, along with some other personnel changes, we currently have several open desks at our office here in Prague. If you or someone you know is interested, please refer to our job listing for more information.

As always come to our forums and let us know what you think.