© Oliver Keppelmüller 2017-2018
Developer’s blog
Switching Engines 6th June 2017 by Oliver Keppelmüller
In the previous Developer’s Blog, we revealed Grand Tactician will not be following in the same exact footsteps of Oliver’s previous title, The Seven Years War. While switching to a new engine with a new coding language does sound like a lot of work, leave it to the one man game studio to quickly overcome this challenge too. Now, with Unity, the payoff should be a more stable and visually pleasing experience for the hardcore strategy fans, without compromising in gameplay. Let’s have Oliver explain it a bit more: 
The Seven Years War was coded in Blitz3D, which used coding in basic and having C++ DLLs in the back. Making TSYW I spent approximately 1/3 of the time to develop the necessary engines like single surface techniques for showing thousand of sprites. This had to be created from zero as hardly no suitable engines existed. Although this helped me looking detailed into the material and learning to understand the backgrounds, I had to spend a thousand hours only to get the basic issues working. Combined with very deep game content this did lead to a development time of almost four years. At some point I had to stop implementing cool new features, as the increased workload could not be handled any more. Wrestling with the engine limitations meant, at same time, that some other important topics received less attention than they should have: UI, beta testing, tutorials, manual… Teaming up with Ilja helped me overcome this shortage a bit, but only post-release. Furthermore the old DX 7.1. engine of Blitz3D led to some stability problems on new PCs. This was the main reason in my opinion why I decided to go another way for the next project and checked some existing engines on the market. Unity seemed to be a good choice as it includes a lot of little helpers and the supporting community is quite large. The only problem was the switch to a different coding language: C#. Although my wife was not happy discovering all the C++ books in our travel luggage of our summer holidays 2016, I managed somehow to get into the language and Unity itself. Within 3 months I was able to set up a sample battlefield with some nice features like changing weather and seasons. This convinced me that I had taken the right decision and I started the first implementation discussions with Ilja. Within the first 6 months a lot of things happened, but also the background functionalities of Unity had to be discovered. We experimented with surface textures, vegetation and freezing rivers. Then added the first sample buildings, this time deciding to go further and create destroyable buildings with fire animations, which was actually quite fun coding. Another new feature we desperately wanted to add was functional cover objects like walls and fences. But nevertheless I also reached the limits of Unity, especially when we talk about showing thousand of soldiers with animation. Our main goal on the unit front is to be able to show not only 20 units per side, but hundreds of them with each of them including hundreds of soldiers shown. After some experimenting, we had to compromise and fall back on using sprites instead of 3D soldiers, again. So some experience of TSYW had to be taken up, like the single surface engine - which had to be created from zero, again. But while re-writing, I was able to improve the sprite design a bit in a way that allows more variation and animations, without having a lot of sprite tables eating up VRAM needed elsewhere. The DX11 and 12 support of Unity not only brings more stability to gameplay, but also adds to performance and graphical appearance. We are convinced that Grand Tactician will be a lot more pleasing to the eye than TSYW. With Unity we can have quite nice looking battlefields and effects with relatively little effort, being able to concentrate on the more important topics in the gameplay, like improving UI and so on. But more about that in the future! This is where we stand at the moment. We keep you informed about the further game progress! Cheers, Oliver PS. Below are some screenshots from the development build, showing seasons, weather, and the overall visual quality the new engine allows.