Developer postOriginal post (opens in a new tab)

Development Update Video #10

Development Update Video #10

Unity 2017.4

We recently upgraded to Unity 2017.4.

There are a few key reasons for this. The main one is that we can now use MSAA for Anti-aliasing instead of just super sampling. We’re using our own rendering pipeline, and it wasn’t possible for us to use MSAA until 2017.4.

Tech

As far as the rest of the tech is concerned, we’re not adding new features.

We’re focusing on optimization, visual glitches, and bugs - basically making sure the game runs as smoothly as possible.

There are a lot of interconnected systems, so it often feels like we’re playing whack-a-mole with bugs. We fix one, but then 2 more come up.

One of the optimizations we’ve done is we’re using a slightly different render system to render the duplicates. In the past, to create duplicates for the cube, there were 125 instances (as it was on a 5x5x5 grid). However, this meant there were 125 transforms getting updated. The new system actually bypasses the renderer component. Instead of sending information for each transform to the GPU, we store the information for one in a buffer, then just look it up and add the positional offsets.

Additionally, we’re also now doing frustum culling on the GPU.

Saving and loading continues to be a really tricky problem, but it’s becoming more stable. Testing it is rather time-consuming, as it involves playing through the game multiple times.

Audio

We've been working on audio design for the past several months. Most of the sounds in the game are currently placeholder, as we’re focusing on the technical side.

We have about 90% of the audio hooks in. The remaining hooks involve more technical complications. For example, we need to have different sound filters depending on whether you’re indoor or outdoor. This means we need a systematic way distinguish the spaces, which isn't as straightforward when there is world wrapping and complex architecture. There are also situations like having sounds play continuously when you go through a portal (The approach we are using here is to have the sound emitter on the player instead of on the door itself).

Localization

We’ve finished localization. Currently for launch we are planning on having: English, French, Spanish, German, Italian, Russian, Japanese, and both Traditional and Simplified Chinese.

There’s still some work left to adjust the layout for each language and to accommodate the difference in length of words.

Level Design

Most of my focus with level design now is figuring out and refining the pacing in the last third of the game. At some point, I will return to the opening level and retweak it. I was at GDC last month and saw a lot of room for improvement when people were playing the game.

Additional Info

As always, you can find me on twitter and twitch, where I stream development daily.