One of the big things that is no secret is that the Wave 4 demo hasn’t been doing so well regarding the overall performance. A big reason with that was that there was simply too much going on with physics calculations and the already relatively large map itself. So what were our options to try and improve the performance? There were a few ideas, of which some are still not fully implemented, but one of the biggest ones was a dedicated system that should handle the loading of our game scene(s).

One Reason Why Performance Was Bad

Let's start off with a little bit of background information on how Unity loads scenes. We are loading the game scene asynchronously so it doesn’t halt the game while being loaded. On first glance there doesn’t seem to be a problem with that. On second look though you will run into a big problem as soon as your scenes are getting larger. While the loading does indeed happen asynchronously and doesn’t freeze the game, the creation and placement of all objects is not asynchronous. You may know this as the long freeze that happened after creating your character in the Wave 4 demo.

When we first read about Fallout 4 not including a repair system, many on the Design Team were a little annoyed. Repairing played an important role at providing a variety in weapon and armor stats, a reason to not always use the "best" weapon, and an use for all those random weapons you found.

However, it wasn’t until after we sat down and thought about it that we realised it also forces players to carry loot they may not otherwise want, and it can be rather tedious to continually repair your equipment. So in order to cater to the both sides of the argument, we decided to simply make it a Hardcore mechanic that can be enabled or disabled, depending on the player's reference. Because of this the Fallout’s method seemed pointlessly simplistic, so we wanted to give it our own twist...