Friday Facts #52 - Ups and Downs

Posted by Tomas on 2014-09-19

Hello guys,

past week has prepared some ups and downs for us. On the up side, we have marked the 0.10.12 as stable and we also moved closer to getting the multiplayer reasonably working. On the down side our reservation for the new office has been cancelled which means we had to start looking for an office place yet again. That is rather unfortunate because we really liked the place we picked originally. Anyway, I am sure we will find another one soonish (we have already had couple of viewings this week but so far without success).

0.10.12 Marked Stable

After long long time, the 0.10.12 has been marked as the stable 0.10.x release. We just had to draw the line and move on. The bugs will probably keep coming now and then. But as long as they are small annoyances and not major crashes we will wait with fixing them for the 0.11. So now we can finally shift 100% of our attention to the multiplayer master branch. In the past few weeks it has been closed to that anyway. Let's see what we can get out of that.

Multiplayer Progress

This week a lot of our energy has been spent on the determinism. Kovarex started writing integration tests that check the determinism correctness. This has revealed an error in our map generation code which was a reason why in the past week we had to play on restricted map (infinite map was desyncing all the time). For the curious ones the error was in ambiguous sort comparator (c++ stl sort across different compilers obviously behaves differently for elements that are equal to each other). Originally we were quite afraid of Floating point operations discrepancies across different computers. But surprisingly, this hasn't been a big problem so far (knocking on the table). We got away with implementing our own trigonometric functions.

The map generation fix with couple of others allowed us to start a new game from scratch. This time it was a regular freeplay on an infinite world with default settings (including biters). At the moment we have almost 2 hours into the game. Research is automated, we had a couple of encounters with the enemies already and now we are aiming at a train expansion to add get more iron ore (eternal Factorio struggle:)). We have started it in two players but yesterday another friend of us (Zlosynus on the forums) came by and we played all together. It felt like a mini LAN party. There are still desyncs now and then, but overall the feeling is quite positive. IMHO we are on a good way to have the game playable on the LAN. There were quite a few requests for video or streaming of the game at our forums. We tried to use fraps to record the game, but it got just too slow, so we didn't bother. We will give it another shot next week. But everyone can imagine what the video will look like - 3 colored guys running around and building machines:)

Lastly we made some usability improvements. Adding progress bars for connecting to the game or coming back after desync, giving user proper messages why he can't connect, etc. Also the game doesn't crash so much anymore under different connection scenarios.

Graphics Reconciliation Time

In the last edition I have mentioned that the graphics department is ahead of the programming works. This allows Albert and Pavel to take some time and reconcile things that we have already in the game. The top of their todo list looks approximately like this:

  • Different (and meaningful) sprites for different flying robots.
  • Proper graphics for fight elements (missiles, bullet shooting animation, laser pulses, splashes, etc.)
  • Multiplayer masks for turrets (turrets will probably be redone from scratch), walls, car.
  • Optimizing existing (mostly enemies) animations for VRAM usage.
  • More integrated fire and explosions (enemies / trees can catch fire, burned ground after explosion).
  • Add new doodads (pollution destroyed trees ftw).

The plan is to interleave these with new content and thus progress in both directions (new content and general aesthetics).

Below you can see a composition picture with different concepts and proposals for the flying robot family. Supposedly there is exactly one picture that is displayed twice (but rotated) in the composition. It is not easy to find, but maybe someone will be patient enough ... :)

Friday Facts wouldn't be complete without a link to commenting thread at our forums.