The previously announced client changes are now on the test client, and we’d like to invite all of you to check it out and help us iron out the quirks.
All features and most optimization work mentioned here is limited to the modern (default) renderer, as that’s where we focus our efforts with most of the improvements.
New terrain renderer
The terrain renderer was completely rewritten, mainly in order to make it use significantly less graphics card memory and to allow us to add more features there easily.
You should encounter less pop-in as terrain gets less detailed in the distance, as that’s handled in a way that should do it further away from you, and with some transition animations
Terrain tile textures have been remastered to double the resolution, and we have added dynamic mesh tessellation, which adds small geometric details on every tile near you. This is currently limited to the high Terrain Detail setting, but so far, it didn’t seem to affect performance that much, for how large of a visual improvement it is.
For future improvements, this will also allow us to make distant terrain more detailed quite easily, but it isn’t in scope for the initial release.
Eye adaptation
Right now, the level of light that’s received by the player’s eyes remains a sum of the light in the scene, similar to having a real world camera set to a constant exposure, so at some point if the lighting is too intensive, it completely washes out the details as the intensity of the colors to be rendered goes beyond what your monitor can show you.
In situations where there’s a lot of light in the scene, white objects get washed out completely and turn into a white, blinding blob. You’ve definitely seen this happen with snow, marble items and other bright colored objects, as those will reflect most light.
Test client has a new feature that automatically adjusts the exposure, it's always enabled on the modern renderer. In simple terms, this reduces the overall brightness of the scene if it detects too much light, and increases it slightly if it’s too dark, just as your eyes do. This has a bottom limit so you will still need lamps and lanterns at night or in caves.
-<
Lighting and environment reflections
Shaders that apply lighting to the world have been changed to use some more modern formulas, to a bit more closely resemble reality. It's now much closer to how most newer games do lighting.
This mostly affected metallic objects, which will now show more complex specular highlights and reflect the environment around them. Those reflections include only terrain and the sky, to avoid impacting the client performance negatively, but that’s enough for things to actually start looking like metal.
Intensity of reflections may have to be tweaked on a case by case basis, as retrofitting such changes to existing assets means it won’t look immediately perfect on everything. Expect some things looking too shiny, or too dull - please report it on the forum (here) so we’ll know to tweak it.
World Lighting changes
You may have noticed sunlight still affecting the world during the Wurm night, hitting the objects from odd angles without casting any shadows, often giving everything around you a yellow hue at certain times of night.
This was fixed, and in the phantom sunlight’s place, moons now emit light and cast shadows just like the sun does.
Multiple moons cannot cast shadows simultaneously, as that would be very bad for performance, so the game decides which of the currently visible moons is active based on their size and how high up in the sky they currently are.
MacOS compatibility
Modern renderer will now finally be available on MacOS, along with all of the improvements mentioned here. So far, there’s only one feature that isn’t working the same as on other systems, and might not make it there any time soon - MacOS cannot use an OpenGL version higher than 4.1, and that blocks us from being able to enable our rendering depth precision improvements.
That normally reduces or even completely removes Z-fighting in the distance, the issue where objects flicker as if unsure which one should be rendered first, due to computers not being great with large floating point numbers.
We’re unclear at this point about the performance of the modern renderer on newer Mac devices - it shouldn’t differ much from Windows, but older Macbooks with weaker GPUs may struggle. I was only able to test it on a 2015 Macbook Pro so far, but it’s a rather slow machine by today's standards so the performance was poor as well.
I’d like to hear from any of you that play on Macs about the performance and whether you encounter any graphical glitches or crashes.
General performance
Other than the terrain changes improving the performance, the client update includes many smaller optimizations that should lead to overall better performance, and even less VRAM (graphics card memory) being used. We hope that allows you to either run the game with better settings, or just to run more clients at once without having to resort to the legacy renderer.
Our ambient occlusion effect, generally a very demanding setting, should now have improved performance everywhere, but especially when combined with a high display resolution, where it used to kill the framerate the most.
Testing feedback
All of the changes mentioned above are now on the test server, and will soon also arrive on live servers. If you get a chance to test it, please let us know here if you encounter any issues, client crashes or poor performance compared to the regular client.
The screenshots here are only a limited overview of the changes. When you post feedback, please base it on what you encounter on the test client.
With any issues, the console.log file generated during the same client session is key to us working on fixing those. That means you have to copy it over before running the client the next time. You can find it in your Wurm data directory, named console.Username.log
Don't only post the error part of the log, if you find one in there, as the log file also contains your client settings which are usually needed for us to reproduce the issue to be able to fix it sooner.
If the reported issue is only regarding materials of certain items becoming too shiny, or too bland, please post it in the following thread: https://forum.wurmonline.com/index.php?/topic/202062-material-issues-after-client-rendering-update/
Coming soon after
There are certain things that won’t make it to the launch of this client update, but will follow soon as a part of smaller updates.
- Java runtime upgrade - we aren’t able to proceed with this until we get a new code signing certificate, to sign an updated version of the launcher with, which we have had some issues with acquiring as the process for that has become more complicated in the last couple of years. We are in the middle of getting that certificate, but it may still take some time as a lot of verification is involved.
- Lamp shadows - this is something we’ve shown off a few months ago. Lamps and other small light sources will finally cast shadows, rather than lighting up areas behind obstacles like walls, however it needs more optimization work to limit the performance impact in scenarios where there are a lot of light sources around a small area.
You can find a guide for joining the test server here.
For direct test related feedback, please use the forum thread: https://forum.wurmonline.com/index.php?/topic/202063-client-upgrade-overview/