What we’ve been up to in the last year…
It’s been over a year since we last posted any project news. We’ve posted a few times on the project’s Twitter page but it has been extremely quiet. This is due to us working extremely hard on the project, making some major changes that we will incrementally cover in detail. We know that it is unacceptable for us to be in silence for such a long time, and we apologise profusely for this. But as a small team, I for one can’t keep juggling community management, programming and project lead constantly. However, we will try to make a bigger effort to raise awareness and keep people informed. We are still a while from being ready to release with the content of the previous build, but we know that the changes that we have made will make it both a more enjoyable experience and make it different from any other survival games. We are now up to version 0.4.0.145 and expect to be ready to release an update Q3-4 2017.
Our old networking solution was based off of Unity’s RakNet networking system. It was integrated into Unity and made life easier, as we didn’t have to worry about a lack of documentation or support. However, the more we used it, the more we felt like we had shot ourselves in the foot. There were cryptic error messages, inconsistent networking stability and overall, a lack of non-hacky code – it felt that to get most things to work, there had to be some kind of hacky work around. So, with Unity 5.1, Unity released their new networking system: UNET. We knew that we had to make a networking upgrade, which would involve stripping out all of our old network code and replacing it with the new one. In this new upgrade, we took the opportunity to re-write virtually all of our code, from the Main Menu to the networking. This has yielded massive improvements in stability and scalability: in the old networking, we had a limit of 32 players – now you can have over 512. Stability improvements include making the servers version-safe, ensuring that people who don’t have the same version of the game to connect, as well as allowing consistency within necessary client settings.
2. Asset Bundles
We were running into issues with our file sizes and organisation. If certain files reach over 2GB in size in a build, then the build will fail. To fix this, we decided to move all of our content to asset bundles. This has a plethora of benefits, from increasing build time, to reducing file sizes, to making the game more accessible to modders. We are still in the process of moving over to asset bundles, but the work so far has increased our productivity and iterations in builds drastically.
3. Code Quality
Our code quality was dreadful. It was uncommented, messy and used a multitude of different programming styles. It was also split across two different programming languages, C# and JS (JS support is being reduced by Unity in an encouragement to use C#). This was unacceptable for continuing development, especially if we wanted to bring on extra programmers to the team. They needed to understand the code, which is hard if the person who wrote the code doesn’t understand it! As well as improving the code quality, we have also seen performance gains, just due to the fact that we were using certain features the way they were intended! We have also opened up as much of the game as we can to users, such as the item information and map settings.
We have had major strides forwards in graphical improvements. Due to Unity 5 allowing us to take full advantage of physically based shaders, global illumination and post-processing effects, over the course of development we have improved this in all areas of the game. As we have experimented with Unity 5 and learned the correct way to do things, the game has consequently improved in graphical fidelity and graphics-related performance. We still have huge advances that need to be made in speeding up lighting computation times, but this affects us – not the end clients. Finally, the saying “a picture paints a thousand words” really applies to the strides made in the graphics improvements, in just the space of a year:
We hope you have found this interesting and a reason as to why our contact has dropped off. We have several upcoming features, such as:
- Space-based Inventory – different items will take up different amounts of space
- Revamped base building
- New Health system
- A.I Animals
- Points of Interest
- Improved weather effects, with physically-accurate rain, rain-on-screen, lightning and snow
- More to be announced in the future…
From all of us at Dark Window Studios, we wish you a happy Easter holiday. Keep safe and well!
-Dark Window Studios