2019 – Unity conversion in progress






I’ve been asked a couple of times recently for progress updates, so thought I would share the current status in March 2019 🙂
The wheels are still turning, although as always its taking longer than expected to iron out the numerous details that need to be finalised. I guess that’s part of the problem of not working to a deadline – it can take as long as it takes. Having said that, I’m really looking forward to the point where I can switch from the LOM scenario to the DDR scenario in the future… I think it will bring a new sense of progression to the whole project.
So what are the main headlines outstanding until a Unity build can be released ?
The actual core game itself is playable at the moment, so it is very much about finishing the above supporting screens together with finalising quite a few graphical details.
This last couple of weeks I decided to take a detour from Windows and try to build the project for the Mac OSX platform. It’s the first time ever that I did anything on a Mac, so also a bit of a learning curve to get through. Also the first time I applied cross-platform considerations to my development, so there was some rework to be done in removing dependence on Windows libraries in the core plugin. That and some specific considerations for the Mac platform (like the path separator being opposite to Windows!), and the project finally got built successfully and runs quite nicely on a MacBook Pro around ~25fps.
Now that the detours over, I’ll be getting back to the main open points and pushing on to completion. I’ll leave you with a short clip of some initial steps in the game… going South from the Tower of the Moon, and coming upon the Hand of Dark with it’s audio/visuals 🙂
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.
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 😉
More as it happens… for the moment Happy New Year!
Well together with 3112 like-minded ZXSpectrum fans, I contributed to the kickstarter development and production of the ZX Spectrum Next: “a new machine, fully compatible with the original computer, and packed with improvements and expansions“. In the 30 days since the campaigns launch, £723,390 was pledged beating the funding target of £250,000 within the first few days!
“Spectrum Next is an expanded and updated version of the ZX Spectrum, fully compatible (software and hardware) with the original. You can play any games, demos, use original hardware, you name it. And it also runs new software created more recently to make use of expanded hardware, including new graphics modes and faster processor speeds.”
I opted for the “ZX Next Accelerated” model for which the specifications are:
The following additional stretch goals were also unlocked as a result of the funding success:
Looking forward to unwrapping a new ZX Spectrum and seeing what development potential lies within!
I spent some time recently exploring what potential Unity3D might offer for Midnight related development. Not being so familiar with the game engine it was a bit of an eye opener to see what assets are up for purchase in the Asset Store. A quick search came up with the following interesting assets which caught my eye… 🙂
Map Magic Terrain generator / Winter ground pack
I’ve put out another patch release 1.0.2.6 which fixes some graphical glitches that I realised have been introduced in 1.0.2.5. If you happened to download the 1.0.2.5 patch, then please apply 1.0.2.6 over the top to fix these issues.
Please do log any feedback in the forums, especially if you experience any gameplay bugs.
See the revision history to check what has been fixed.
The next patch release 1.0.2.5 is now available with some minor bug fixes. None of these are to do with the actual gameplay, mostly graphical / performance issues. It’s only a very small 4Mb patch, however must be applied on top of an existing 1.0.2.4 installation.
Please do log any feedback in the forums, especially if you experience any gameplay bugs.
See the revision history to check what has been fixed.
It wouldn’t usually occur to me to link to other non-Midnight titles on the site, but I was so impressed by this gem of a modern game inspired by the likes of Knight Lore, Head Over Heels, Amaurote, Solstice and Equinox, that I thought I would share it… it’s starting to tempt me into the world of Unity development! Visit the site to get all the details.