© 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.