Slow and Steady – A Brief Update
Originally Posted October 31, 2010
I recently realised how much time has passed since my last update on here and so I thought I’d put together a small update to show a little bit of what has been going on in my absence.
Over the past few months I’ve been hard at work on the final level of Dear Esther, which has been progressing nicely for the most part; however due to the sheer scale of the level I have found that it’s taking me a lot longer than I had anticipated to get it finished. My biggest challenge with this level is not only detailing such a huge area and keeping it running smoothly, but also making sure it looks good on both a horizontal and vertical playing field; for example something that looks good at sea level can look awful from way up on the mount. However I feel like I’m finally getting the hang of it now and over the past few weeks have finished sculpting the level and am working on detailing the environment, some of which can be seen here: (Of course, very, very early WIP!)
Other than that there have also been a lot of small tweaks and improvements going on in the background to the source engine, the most significant of which would have to be the implementation of realistic detail foliage sway which has been also greatly optimised to use the GPU and the SSE instruction set, to quote my coder Jack Morgan:
“For Dear Esther Robert really wanted to push the limitations of the Source Engine’s foliage capabilities. Dear Esther sees the player exploring outdoor scenes of relative geometrically complexity and the ground surface in many of these scenes is dense with foliage. In their former state the mechanics driving the propagation and rendering of ground foliage were proving too costly to performance. As well the standing algorithms for simulating the wind’s effect on ground foliage were having a massive performance impact, and the end result appeared closer to a simulation of underwater currents on seaweed than wind on ground foliage.
The solution to the performance problems was to defer as much of the calculation required to perform these tasks unto the GPU and calculating as much of what was left over using the SSE registries which were already being employed to handle some of the calculations on ground foliage but not to their full capacity.
A complete redesign of the wind simulation was required to replace the ‘underwater seaweed’ effect with something which more accurately described ground foliage swaying in the wind. In short the new algorithm accounts for wind as a volume with a general direction which produces smaller volumes with more varied direction, on other words gusts.”
If that made you go cross-eyed, then I have made a quick video to demonstrate the results of his jiggery-pokey: (NOTE: Video is a little jumpy and seems to be a little sped-up for some reason, but you get the idea!)
What this means is that I can now have sway on all of the foliage with very little extra cost, and as I think you’ll agree, it makes a huge difference in making the environment feel more alive!
Finally, I have decided to open up a Q&A session for the next update, so that I can help answer any questions you might have about Dear Esther. If you are scratching your head about anything, just submit your question in the comments and I will compile a list of answers for you in the next update!
Not long to go now!