Devlog Update 195

Garret made the existing concrete and wooden walls recolorable, which makes them a whole lot more useful:

I continued working on moving the AI code to a separate thread this week. It still needs a ton of testing, but overall work is going a bit faster than expected. The guest AI is ~95% done, pathfinding is running on its own thread as well now, and I’ve started working on moving the staff AI (which should not be too problematic overall since I can reuse most of the work done for guests).

There have been some requests for properly documented and more detailed benchmarks last time, so here’s one. These are the systems I tested on:

Low-end system:
Mac Mini 2014, Intel i5 @ 2.6GHz, integrated Intel Iris graphics
A system that’s pretty close to our minimum requirements. The main bottleneck is the lack of a proper graphics card - this system can’t even render an empty screen at 20 FPS at full resolution. Since we’re interested in the games CPU performance instead of the integrated graphics performance (and I got no other system to test with) I’ve lowered the resolution to the point where it can render an empty screen at ~55 FPS.

High-end system:
Windows 10 PC, Intel i7-6700K @ 4GHz, NVIDIA GeForce GTX 1060
A fairly recent and decent system.

I don’t have a mid-range system available for testing but it should be save to assume that performance would accordingly fall between the results from these.

All tests were run with the exact same scene and camera position in the Eastern Highlands demo park with 3.000 guests. This is a rather detailed park and that guest count is higher than it will be in the end for this park (we haven’t done a proper balancing pass yet to account for the improved performance, but something around 2.000 - 2.500 guests is probably more reasonable).

There have been some requests for “removing the guest cap” last week so I want to point out again that the game has no guest cap. If you build a park with better/more rides then there will be more guests.

The “Old” results are with the currently released Beta 6 version and the “New” results are with the upcoming multithreading version.

A fairly modest improvement of 10-15% for this specific scene. Not amazing, but nice. Worth pointing out though is that in the old version there can be some spikes occasionally where single frames take a bit longer to calculate, whereas in the new version it’s all very stable.

Improving guest performance is not only interesting for being able to have more guests in general, but also because the game allows speeding up time. Running the game at x3 speed means running the guest AI 3 times as often, so running a park with 3.000 guests at x3 speed is roughly comparable to running a park with 9.000 guests at x1 speed. This is where the performance improvements become more apparent.
Here’s the same test as above, but running at x3 speed.

The old version takes a pretty significant hit, whereas in the new version it barely has any performance impact at all.