Also known as Yet Another Small Update. I started my job as a “Zivi” in a hospital some months ago and so I wasn`t able to code that much. Nevertheless there have been some substantial improvements to BlueWar:
1. new object PlugIns
Some new plugins now implement features that were part of the core object class in the past. Examples are the fieldAllocator (which marks a square on the battlefield as “allocated”, so that pathfinding can happen), collision checks and HUD info icons.
There were huge slow-downs during gameplay causing the game to hang for several seconds. This was a great opportunity to integrate a profiling mechanism. Now the game checks the period of time each component needs to update und logs every irregular value.
This showed quite clearly that the pathfinding system was much too slow to handle a big map (especially since the computer player uses pathfinding excessively), so I introduced a maximal path length that is set via a new global settings xml file.
There are two systems that need profiling in a game: the CPU and the GPU. The CPU is profiled by the mechanism I described above, the GPU needed something different: I found NVPerfHUD which is a great tool. It displays the usage of the GPU on the screen while running the game. As a bonus, it is also able to debug the scene by going through every render stage manually.
The result was as expected: Because I use a lot of single entities for the buildings and units the batch count is too high so that the GPU cant work properly (this is shown in better detail in many articles on the web, including this one).
This was not that much of an update, but hey, there is a real life 😉
Now that I am used to the Job I hope that I can speed up the development and finish something.