I’ve been quiet of late. No real reason, at least no more than just life in general. So I figured a quick update is probably in order.
I’ve missed two release schedules. I intended to release a patch every quarter, around the solstice and equinox. Well, I missed the Autumn Equinox release for no other reason than I hadn’t done anything. So I bumped it to a Winter Solstice release… and well… you’ve probably noticed the lack of a release. This means that it will now be bumped to the Vernal Equinox. I’ll try and get on this one… please bear with me…
There will be two Doomdark’s Revenge bug fixes in the release that have already been fixed.
The first one is interesting as it was reported as a bug, but as far as I can see it is actually a problem in the original data. So yes, it is a bug, but one from the original release. I have no issue fixing this as I don’t think it will really have much affect on gameplay.
One other feature that was tentatively going to be in the next release was
The reason for the tentative status was purely because it needed more thought than what I added on the ticket, but ultimately I need to start somewhere with it.
Anyway, that’s what I’ve not been doing for the last 6 months…
So it’s no secret that I have struggled with development of The Lords of Midnight and Doomdark’s Revenge since the release of the remakes in 2012/13. Part of this because at the time I think I was driven by a sense of duty to get the games released in honour of Mike. The amount of work I did on those two games in such a short amount of time in order to support seven different platforms was frankly quite astonishing.
After the release of Doomdark’s Revenge I took a short break and developed a children’s game Timbles – which never got released. I then supported the two games for the next couple of years but never really got in to any swing and was unable to move them forward. This then became exasperated by the whole Marmalade SDK fiasco which stopped the games in their tracks.
I slowly started moving toward a new SDK and picked Cocos2dx. I then spent a few months rewriting many aspects of the UI to make it work. I finally put the project back down because I was struggling under the new SDK to make it work across multiple screen resolutions.
Last Christmas after over a year of not working on it, I picked it up during my one work break of the year. The reason for this is that I suddenly realised how I could solve the resolution issue. Inspired I got a test release together for iOS, OSX, Android, and Windows. However by mid January I was back working and even more busy than the year before. Another problem that cropped up is that the Cocos2dx SDK appears to have a bug with its Metal implementation that means its either leaking memory or causing a threading issue. This appears to be a random issue that I am some how triggering and have been unable to find.
Over the following few months I spent more time working and eventually I found myself in a situation where I could can no longer sit at my computers without working. I made an association with my study and my computers with work and haven’t touched any none work projects through the majority of 2021.
At the beginning of October I changed my main client to Sky. What this means is that I am no longer working additional hours whereas working with PureGym I found myself working longs hours or working later and intermittent through the day.
A few weeks after joining Sky, I found myself slowly spending more time at the computer… and I started finding a rhythm.
So here is where I am. I am not making any promises because I don’t want to break them, but I am back on a plan. I have been rewriting the Midnight Engine in c# – part of this is to facilitate a move to Unity which will open up better long term support for LoM, DDR, and facilitate Citadel. I just don’t believe that I can stick with the c++ engine and Cocos2dx anymore – I am already bothered that their c++ SDK hasn’t been updated in 2 years and their time milestone release is also 2 years overdue.
Mentally I have committed myself to The Citadel in 2d and some campaign changes. I also have a list of features that I want to add to allow a few game variations. My intention is to get a Unity project up and running “The Midnight Chronicles” and LoM, DDR, and the Citadel will all be campaigns within the one game. I also have my eye on Nintendo Switch and some other things which I won’t discuss here yet.
The new engine also means that I am getting closer to having better tools to handle the data allowing me to start modifying the maps etc for alternate campaigns. The original data was held in an Access Database with a binary export. As I’ve been Mac based for so long now, Access is no longer part of my work flow. So I’ve been using the unmodified binary files for some time. To give you an example in order to release Revenge the first thing the code does after loading the binary database is modify all the data that was incorrect previously. I can’t continue that way.
Where I am right now is that I have what I call “The Midnight Engine Database”. This is all the core objects required for the games. This is in a slightly more open format. Shortly I will be able to load the binary data and export/import to a more open text based format. The map is stored in Tiled format and all the other data is just CSV files.
I have also started exploring a new architecture to allow the engine to be even more open. I am trying to move away from the current object oriented approach because ultimately it’s too limiting and confining. I am also resisting the text so that it can be better localised.
So, where does that leave the current c++ game… well I intend to get LoM and DDR released I just don’t know when I am going to start on it. I am hoping that I can use the momentum of working on the new engine to get me through a release. So please bear with me a little longer…
I now have a test version of The Lords of Midnight and Doomdark’s Revenge for Windows and OSX. The idea is that these can be tested in order to iron out some of the obvious issues while I now concentrate on getting the iOS version built properly. This is now the most pressing task as I would really like to get the App Store version working on the iPhone X range.
There will be some missing features, mainly small gesture shortcuts etc, but I can add these features back in as they don’t detract from playing the game. For example there is currently no Zoom on the Detailed Map page, and Post/Guard on the think page is missing.
Should you wish to test the games here are the download links. But downloader beware these are not finished products. There is no installer and for OSX you will have to override any popups about being untrusted.
If you have any issues then please contact me through this form. I will look at a better testing and reporting process later. You can also check the GitHub issues page for known issues.