Monthly Development Update - October 2010
As the fall weather closes in and we get ready for the approaching winter, we have been hard at work at the next major update series for the game. This upcoming series is one of the most technically challenging we have done. As we explained earlier in the summer we set aside these last few months for the upgrade to our underlying Dreamworld technology platform alongside the normal development schedule.
Yes, a few months can often seem like an eternity in this modern age of immediacy, and there are days when even the developers bemoan the fact that we occasionally choose to delay our own process to do these tech updates. Just like you we are usually anxious to get our new content out so that all of you out there can start playing it and enjoying it! So when we commit to spending time on these slightly more ‘invisible’ updates (in that they affect the back-end of the engine as much as they do what you all see as players) we also get the frustrations of having to wait a little for that next content addition. That said, only five months out from the expansion, and having moved offices to Montreal, we are very much looking forward to getting things up and running again with major updates to the live servers!
Now though we are getting to the good part, the payoff for all that hard work over the summer!
That has meant that internally this month has been a very busy one. Full of new versions, a lot of testing and tweaking, poking and updating of our systems and tools in order to get the 2.1 series ready for public testing.
So what does that mean effectively? Last month we talked about some of the new content additions that are coming with the 2.1 series. This month the technical folk behind the Dreamworld update will shed a little light onto exactly what has gone into this tech integration.
Rui Casais, our CTO (Chief Technical Officer) can enlighten us on what this integration means for the game's core systems
‘We really have done a lot with this integration and it is a combination of major and minor changes, that can all have significant impacts.
On the larger scale, one of the most significant is that we have changed how the game handles collision and introduced the nVidia PhysX on both client and server. PhysX is twice as fast as our old collision library and greatly improves the performance of our gameservers, leading to lower load and therefore a smoother experience. Though it might not be something that players will ever even realise (hopefully, as we aim for a smooth transition!), it potentially has a great benefit behind the scenes.
Then we have also done smaller things that users will notice, improved the games launcher and patcher structure. Including things like allowing the patcher to include the installation of DirectX, so no more manual updating necessary for our users!
Then we’ve made many, many small improvements behind the scenes to some of our core systems and tools:
- Scripting: Added several small features to our Visual Scripting System (Scry) and added support for Lua scripting as well, this can allow scripter to make more dynamic content in the future.
- Cinematics: Added support for easier creation of cinematics
- Stats: Upgraded our stat system to support more datatypes, this gives the designers more options to play with in the future.
- Gameactions: Added support for many new types of gameactions, and added Lua as a way of creating more complex interaction between them.
While these aren’t really visible for the players, it will enable designers to create new types of gameplay for everyone to enjoy.’
The Infrastructure isn’t the only technical part of the integration however and we are also rolling out quite a few updated rendering features and performance improvements. Here we hand over to Fred Richardson, our Lead Rendering Programmer
‘To be honest there have been many render engine improvements that have gone into this particular integration, it is hard to know where to start! We have been focused on trying to take the game's rendering features even further, but doing so in smart ways so that we can also optimise performance:
The engine has been changed to use “light pre-pass approach”. This gives us the ability to render a large amount of lights simultaneously on screen, while maintaining both performance and material diversity. This also means that lighting in general is of higher quality, and that future content we produce will be able to fully take advantage of this.
We have implemented a much higher quality shadow system using an internally developed technique called “Adaptive shadow mapping using Multi-resolution filtering”. If you’re curious about how it works, details on this technique will be published in the upcoming GPU Pro 2 book. In practice, this means higher quality, faster and you’ll potentially have shadows as far as the eye can see!
Local lights can now cast shadows, and not just a couple, we can have dozens of them doing it simultaneously. This will be mostly noticeable in future content, as it is one of those things we can use in the future rather than something you will notice immediately.
We have improved the SSAO to be faster. The actual technique now used is called “Screen space volumetric obscurance”
The Dx9 version has been improved to support a multitude of previously Dx10 only visual effects such as the dynamic godrays, the tree wind, SSAO, and FFT water (Much higher quality water simulation)
For its part, the Dx10 version has been heavily optimized. We have been very pleased with the results here and currently with the internal testing we have DX10 versions benchmarking at equal or better framerates to the DX9 version.
Then we have some smaller additions, like improved lighting on tree leaves for example.
Finally you have the updates that benefit future content, due to additional improvements to the rendering system and its tools, such as:
- Improved materials
- Flexible full screen effects system. This one will allow us to do some really cool stuff in the future, in layman terms you can think of it as kind of adding Photoshop filters to live game rendering. This offers the artists and designers a lot of very flexible options!
- Environment system upgrade
And then finally a lot of work has been done on the internals of the rendering engine to better support future developments and improve performance.’
Thanks to Rui and Fred for taking the time out to give us the insight into the technical elements.
Now on to some of the content follow-ups from last time out!
One question that we always see crop up after these monthly development updates, is ‘are you still looking at class x?’ or ‘class y wasn’t mentioned, omg, you must have forgotten about them!’, so we thought we’d make sure that we confirmed clearly for you what is next on the horizon there. Guardians can rest easy, the focus is still there for 2.1 and that class can expect to see some significant updates during the update series.
There are of course also the usual additional amount of other tweaks and updates as well, but more on those as we get the versions to the test server!
…and another follow-up…
The bulk of the discussion surrounding last month's letter focused on the new queue system that is coming with the focus on PVP changes in the early parts of the 2.1 series. While we did answer some questions in those threads we thought it would be a good idea to confirm here as well, so that people got the full picture on those changes.
First and foremost it is important to confirm that we do intend there to be a team vs team option alongside the new dynamic queue system. This feature though may not appear at the same time, but we are going to be adding it into the mix at some stage during the 2.1 series.
It is also important to point out that the new dynamic queue isn’t just doing away with the ‘pre-made’ scenario, but it is also being designed to provide better balanced teams in general. So the composition isn’t intended to be purely random, but actually designed to try and provide as balanced sides as possible from those players signing up for any given game.
With the Nights of Lost Souls already upon us, we hope you are enjoying the seasonal content (and that is something we will be looking to do more of in the future as well), and the 2.1 series about to start on the test servers the next month will be busy. We will be focused on those 2.1 updates, and on your feedback from the test servers. As always with a major version release please help us by checking out the versions on the test server when they are available! That feedback really is very important to the development cycle!