Devblog #4: Retaining your FPS

Ship

Another two weeks have passed by and we’re working hard on making sure everything works right on the release date. Especially the stubborn ship behaviour sometimes when it flips and spins, and rotates randomly trying to test your motion sickness to the max. Although this doesn’t happen that often, it is of course not a desirable behaviour. We expect the problem is a mixture of multiple causes. Somehow the player object glitches in the ship. And since your VR player in your roomscale isn’t able to be pushed up by the Unity engine and the ship is only an object floating in space, there’s only one way to solve the colliding forces. The ship should concede and does so by well.. Let’s say a less pleasant rollercoaster experience.

The other cause might find its roots in the network code. The behaviour of the ship is very server centered. This means that the clients have absolutely no idea what is going on. They only get messages from the server of where the ship should be and what its velocity is. So when the server is silent for a few seconds due to connectivity issues, the client’s ship is clueless about what to do. So we want to make the client a bit more aware about what is happening so it can do at least a little bit of local interpretation of the world and isn’t fully dependant on the server which in turn will make it less rollercoaster-ish and more pirate ship-ish.

Performance

Also we’ve worked on multiple performance improvements. Especially the general flow of the game i.e. going from the lobby to in-game and after a match return back to the lobby. This caused some crashes before or took quite some time to load. We improved this by fixing bugs in the network code that caused the network connection to crash and making the start of a game not reliable on every player anymore by adding a timer which will start the game anyway regardless of whether everybody has loaded the scene.

A major improvement in loading times is accomplished by our new lightmapping of the scenes. Apparently there was an incorrect configuration of our lightmapping which caused oversized lightmaps which eventually didn’t even get applied correctly. Which means we gave you another 600MB of lightmaps that didn’t even get used by the game. Talking about storage awareness am I right!?

But this is fixed now and not only do our new lightmaps cost less in storage size - only 120MB - but they get applied properly in the scene. The result is a major improvement in the visual appearance of the lighting and shadows in the virtual world.

Of course we’ve worked on a lot more issues and continue to doing so. Our latest patch notes can be found on our forum.forum.craftgamestudio.com