Game migration to the Unity platform

Seasons greetings everyone!

I thought I would give an end of year update on current activities and let you know that as always, developments have been ongoing in the background during 2017.
The focus this year has been on learning the Unity game engine, and migrating the War of the Solstice over, in order to open access to many interesting new possibilities for future development. As usual, firstly a snap of the Unity version in development, then some details πŸ™‚

The migration to Unity initially posed certain key questions, not least of all whether I should rewrite the entire game in C#. After having spent a ton of hours developing and debugging the current game, it’s not exactly desirable to have to start again and port all the code over to a new language…

Luckily some investigation showed that Unity supports native C++ plugins, therefore it seemed like an obvious decision to re-package the core game logic, or “backend” as I refer to it, into a C++ plugin. It was actually a reasonably straightforward exercise, and I now have a backend .dll which is being used by both the existing game written in native C++ code, and the Unity version in development. This means that all the Midnight game logic remains intact; no need to redevelop, rewrite, retest. Result!

It has also proven a good decision to develop the soundtrack last year in the FMod Sound System, since this is also available as a plugin for Unity. So all the effort put in by Wayne and myself to create the atmospheric soundtrack can be plugged straight in to the Unity version of the game. No further audio development required. Another result!

The main work has been in porting the “frontend” ie graphics and user interface to Unity, and learning about all the features and possibilities that brings. To be honest I think I’m still scratching the surface, but as you can see from above, the graphical quality and flexibility has been taken to the next level on this platform. The asset store has some really good assets available which have saved me from creating everything from scratch; this is one of the great benefits of moving to such a platform, and it’s clear to see that the speed of development should eventually outpace that which I experienced on the existing game.

I really appreciate the very visual style of Unity development; you write something, you add something and you can very quickly see the results (or not as the case may be !!). It’s also good that you are “forced” to design and build in an object based way, and it makes it easy to reuse scripts, objects, shaders really easily. Once you get to know Unity a little, you really do focus on the fun parts of game development, and not so much on the low level coding and graphics API’s.

The only bugbears I have with it so far, are having to regularly navigate the version updates that are ongoing (and making sure that I have chosen assets which are well supported and maintained!), and a few inflexibilities in the rendering system compared with doing it natively. Having said that, the pros definitely outweight the cons in my view, so it’s definitely been a positive experience so far…

So why am I doing all this… still looking ahead to getting Doomdarks Revenge added in. The possibilities within Unity should make this far easier than it would have been to do natively, and should bring many nice additional touches too πŸ˜‰

Raising up the elevation from the previous view, you can see how it is possible to get a full scale rendering of Midnight running at >50fps on my Geforce GTX780 GPU. A performance that I couldn’t get anywhere close to natively!!

More as it happens… for the moment Happy New Year!

This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

2 Responses to Game migration to the Unity platform

  1. Morkin says:

    This is great news! Do you have an estimate on how long before a playable version will be available?

    • Luxor says:

      Ah that magic question πŸ˜‰

      Well I’m certainly aiming to have the War of the Solstice conversion to Unity completed in 2018, if that helps ? πŸ™‚

      Whilst it’s coming along nicely as you can see from the snaps, there is still a fair amount to do on the graphical/UI side… I’m currently working on the army unit conversion which is throwing up a few issues since I need to develop custom shaders for efficient rendering of thousands of warriors (based on the same graphical concept as the existing WOTS version)

      Stay tuned for progress, I’ll try to give regular updates as things move along.

Leave a Reply

Your email address will not be published. Required fields are marked *