WARSTORY – Alpha Release Notes #2 – From a code point of view


I like to do a small development update regarding WS alpha from a code point of view.

1. Performance Investigations

So, I was concerned about performance a lot recently and felt like I needed to do something about it before releasing the alpha to the public.
Because sometimes its the first impression that matters and I like to prove that technically everything is OK with WS, that WS has a robust basement to build upon and scale with easily.

So we just checked what the reason for the poor performance could have been.
1.1. Render Calls
We found out, as I stated before, that render calls was an issue.
Our buildings have like 5-25 materials and thus at least the same amount of render calls.
Also our character had like 10 materials which was more of a issue.

So I developed a functionality in TDME2 that can merge model mesh groups and multiple texture based materials using texture atlasses while also support textures that rely on “repeating” and mip maps and such.

A nice side effect is that I can even use this functionality now when generating foliage render groups 🙂
So in terms of render calls/performance this is really a nice improvement.
1.2. Bones computation
The next issue we found was that villagers skinning computation was ways to heavy on CPU in WS.
While my engine skinning test can easily render 1500 bots WS would render slowly with 50 Bots already.

The point is that our WS character has like 300 bones or something whereas the test character has only less than 50.
So while the vertices, normals, … computation was already working very well on GPU via compute shader or OpenCL, I needed to improve the bones computation, which I finally did.
1.3. Conclusion
Now things do not look too bad regarding performance.

If interested to see WS in action after those improvements check this post on twitter:

2. What is now the plan regarding the alpha release

However, we were not very good with our feature stop process plan and did add some stuff like UI effects and e.g. windows and doors that can be opened and closed in some buildings for later to have advanced building based fights possible.

The biggest thing thats still to do is squad fight and commander fight. It just needs lots of love still. We will switch to our new scripting language for that purpose and I think it will be great in many terms 🙂

Sooooo, …. Ill guess we need some more time. 🙂