Devblog 2 – September 17 2017

Published by Llama Software on

See the full patch notes here

Patch 1.0.1.41 Background

There was a lot of feedback like “game runs like crap” but not a lot of helpful information (like computer specs, settings used, etc..) given to me outside of a couple of people. Using that helpful feedback and some deep investigation into Unity Performance Profiler I did almost exclusively optimization work for the last couple weeks.
In general, the CPU was being stressed more than necessary on both Haunted House and Hedge Maze due to separate distinct reasons on either map. This caused for most people, lower than expected framerates for the graphical quality I am able to create by myself for Hide and Seek. For people with AMD FX processors (technically, these are below min spec) this resulted in basically an unplayable experience.
My primary test machine is an i7-4770k with, at first a R9 Fury X, now a 1080ti. All Llama Software videos have been recorded with this machine. My secondary was an i5 2500 with an R9 280x. In development the CPU bottleneck was not extremely obvious and always resulted in a very playable experience. 
I understand this is not a representative sample of all players nor machines, which is why leaving specific feedback about settings used and computer specs will greatly improve my ability to troubleshoot these types of issues.

Numbers

Here are the performance numbers I recorded on the currently live version, versus the new patch. When I say CPU FPS I mean this is how many frames per second the CPU can render. This is tested @ 720p ultra so we get the most intensive shadow calculations required as well as keeping the video load quite low.
On 1.0.0.5 the 4770k CPU FPS in an empty server is as follows:
Hedge Maze

  • Max: around 110
  • Worst Case: around 50
  • Typical: around 70

Haunted House

  • Max: around 200FPS
  • Worst Case: around 40
  • Typical (inside): around 90
  • Typical (outside): around 60

On this patch 1.0.1.41 the 4770k CPU FPS is as follows:
Hedge Maze

  • Max: around 250
  • Worst Case: around 80
  • Typical: around 120

Haunted House

  • Max: around 250
  • Worst Case: around 50
  • Typical (inside): around 150
  • Typical (outside): around 100

The Haunted House has dozens of realtime lights grouped together in a relatively small area, and it is possible to position yourself such that most of those lights may potentially be affecting part of an object that is visible to you. This is the cause of the worst case scenario, and why inside it is much easier to maintain high FPS vs outside looking at the house from far away, but still within shadow rendering distance.
If you are getting lower than expected FPS on the Haunted House, try lowering your shadow distance to 20-30 as lights outside of this range will not cast shadows, and are much cheaper to render.
The realtime toggleable lights were a deliberate design choice, how good of a design (or at least how well it was implemented) is up for debate, but I’ve definitely learned from this and will take it into consideration in all future levels.

Loading Times

This one really caught me by surprise. In the Unity Editor the levels always loaded quite fast, and I guess I always tested on SSDs because this was never an issue for me. 
After hearing the concerns of everyone I put Hide and Seek on my really old mechanical hard drive as a worst case scenario testing and I also experienced this pain of the application appearing to crash, but HDD utilization 100% for several minutes.

As part of the 1.0.1.41 patch I’ve greatly improved the loading performance as well. This comes at a small cost of first launching the application it will take a little longer to come up. There’s more I can do here but I didn’t want to delay making this available because the 1.0.0.5 experience is really not acceptable.

Stuck on Loading Screen

I think this was actually introduced in 1.0.0.5 when I was trying to avoid people loading into the game then immediately being kicked out. There is some timing issue with kicking you back to the main menu. This is now resolved in 1.0.1.41, and if you do somehow still get stuck there, there is a way to go back manually.
The root cause of this happening in most cases is some network issue. Long story short, I need to do some deeper investigation into the cause and potentially raise it as an issue to the Unity team. A workaround is in place now and I will be monitoring if it is a continued issue.

Dedicated Servers

I’ve actually been upgrading the Llama Software hosted dedicated server pretty regularly with some fixes and enhancements so these are now available to everyone instead of just me. 🙂

Up Next

I think 1.0.1.41 addresses all of the immediately resolvable issues, so we’ll see how that goes. 
In the meantime my goals are:

  • Addressing any issues that come up with 1.0.1.41
  • Adding motion blur as promised. As part of this, I will be upgrading the entire Post Processing stack.
  • Halloween Map
  • (longer term) Skills – I will continue to mention these since I am excited about them and I think everyone who is playing will really enjoy them.
  • (longer term) Space Station – As stated before, creating new levels is very time consuming so this will also be a recurring “it’s being worked on” item.
Categories: Devblog