Tuesday, 14 July 2015

New Multiplayer Map & Optimizations

Hi everyone!
I can't believe it's already 3 months since the last update so I want to talk about everything that has happened during that time. Let's begin:

New Multiplayer Map

One of the bigger things I've been working on for quite some time now is the new map Icy Peaks (The name could change though).


Before I started to work on the map, it was clear to me that I wanted to try something different compared to the other maps which all had green as the primary color.
In the new map, the construction areas of each player are about the same size as on the "Mountain Forest" map but the difference is that there is a gap between those zones. Furthermore, the friction of the floor is smaller than on the other maps.

Improved Netcode

Synchronizing rigid-bodies over the network is quite an tricky thing to accomplish and the old method that was used in the game had some problems. During tests you could see that blocks began to stutter once you stacked about 10 on top of each other which was annoying and far from being optimal. So I sat down and completely designed the network synchronization from scratch and as a result, it works much better now.


Performance

Brick Inventions is a game that heavily relies on physics and therefore need a lot of processing power, especially when there are many blocks simulated simultaneously. Since the beginning of development, I've continuously improved the performance of the game and with Unity 5 (which included PhysX 3.3) it was first possible to simulate hundreds of moving blocks at the same at 60fps (on an i5 2500k). Since then, I've invested much time to further tweak settings and to optimize the code. With the profiler, I've tracked down performance bottlenecks and removed them with the help of various systems (for example, one adjust the particle count depending on the number of events that are currently happening). The result is a simulation that looks almost the same but runs at a much higher frame rate.

Bugfixes & Other Improvements

There have been countless bugfixes (especially in the multiplayer part), most of which were quite easy to fix except for one bug with the gate block on the client, which took me over 5 hours (In the end the solution was to change only 4 lines of code...).
Besides bugfixes, many smaller improvements have found their way into the game, including new confirmation dialogues and better behaviour of dropdown boxes. Additionally, the tutorial has been updated to explain new mechanics and now includes graphics, which explain the controls better than before.

What's next?

First, I want to shorten the time between updates so there should be a new post at least every 1-2 weeks from now on. The next posts will give more insight into the multiplayer mode(s) as well as some other features, which I mentioned in posts before but never really showed in detail (like the support of multiple languages). Furthermore, I'm currently preparing some really cool videos (One of them will show how powerful the physics are in Unity 5).

I want to thank everybody for following this project and I hope that the game will live up to the expectations. Like always, if you have any questions, just leave a comment and I will try to answer it as best as possible.

No comments:

Post a Comment