You must challenge Doomdark everywhere…

Latest version of both The Lords of Midnight and Doomdark’s Revenge is available across all formats version 2.0.4 (43), depending on store and your update settings, they should become available over the next few days. As always windows and non App Store OSX versions will be available here and here

This release fully syncs both games with bug fixes and features. I will now be using my time to focus on updates to facilitate a release of The Citadel in the future, and I will post some blog entries on that over the next few weeks. However, if you have any ideas of features that you would like to see implemented, then contacted me and I will look at them. It would be nice to drop a new feature monthly or bi monthly just to stop the apps from stagnating and forcing me to keep the builds up to date.

There are a few new features in this release for both games, so I thought I’d mention them here. I have not had time to update the online documentation, but I will do soon as it doesn’t need a release of the app to do so.

ADDED: permanent scrollbar to all scrollable tip windows

It’s not always clear that the tip popups can be scrolled, so I made the scrollbars always visible to help with that.

Shows tip window with visible scrollbar
Tips Scrollbar

ADDED: panel_map_detailed – clarity behind multi lord select popup

On the map when there are a number of lords at the same location and a number of lords in the surrounding location, the selector popup sometimes looked confusing because of the lords in the background. I have added some fade out behind the popup to make things clearer.

Show map with lord select popup
Map – Select lord

ADDED: panel_look – compass – Long Press

I finally returned the compass to the main look screen. Just press on the screen and hold it for a few seconds (configurable in the options screen) and the compass will popup. Without releasing select the direction you wish to look. I have removed the haptic feedback that used to be there on mobile devices because it no longer feels right and its usage in the situation would fall foul of Apple guidelines.

Shows compass popup
Look – Compass

ADDED: panel_look – tool tip to lords on landscaping screen

You can now see who is stood in front of you by a long press on them.

Show lord with their name as a tooltip
Look – Tooltip

ADDED: panel_look – select lord from landscaping screen

Combined with the above. If you then release while still selecting them (or just press quickly) it will take you to the lords ahead think screen.

ADDED: panel_look – lord name to approach icon on choose actions

When you can potentially recruit or approach a lord, the command window icon will identify which lord you are about to approach.

Shows command window with lords name for approach
Command – Approach lord

FIXED: panel_select – crash caused by adding a new page / reorganise button

Fixed this crash when a new page was added to the selection screen. This could happen if you pressed the reorganise button or if you visited the select screen after recruiting a new lord. More prevalent in Doomdark’s Revenge because of the number of lords.

FIXED: panel_select – [win] missing or corrupt lord names

On windows the lord names were often becoming corrupt on the select screen. This has now been resolved.

FIXED: panel_select – truncated long lord names

Particularly on Doomdark’s Revenge grouped lord names would often become truncated depending on your screen size.

FIXED: [tme] – Stop diagonal movement of lord in tunnel

In the tunnels in Doomdark’s Revenge it was possible to cut the corner and move diagonally. This has been resolved.

I fear Doomdark may get untimely warning that the Wise are awake

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…

We must reach the Tower of the Moon by tomorrow

It’s been 15 score and 7 days since I last posted about The Lords of Midnight. Things have changed a little since I decided to make the games available for free on GoG and to remove them from the Apple and Play stores. Firstly my working situation didn’t change. This was mainly because the government shelved its implementation of the new IR35 rules that were coming in to effect in April 2020. The reason for this was the same reason that has turned 2020 topsy-turvy; Covid19.

During this time I still haven’t done much work on LoM deciding to keep to my self imposed exile. I did visit the land of Midnight time-to-time and managed to break the back of a number of issues, and I enjoyed my time there for the first time in a long while.

I have have finally pretty much completed the Cocos2dx port. I only say “pretty much” because until I produce a release with it, then I’m not sure of any issues that remain. There are some known Desktop problems and I haven’t looked at Android at all (other than it’s under Cocos so should work mostly).

I have also satisfactorily resolved the resolution independence problem that has increasingly gotten worse with Apple in particular going hell bent for leather to release as many different resolution phones as they can managed over the eight years since I original brought the new LoM to mobile. Some of you may have already see the wide screen screenshots that I have posted on Twitter.

With those two issues at hand, I believe I am very close to being able to bring The Lords of Midnight back to the Apple Stores soon. My intention (but don’t hold me to it) is to get the game in to TestFlight testing in January and get it in to the stores proper as soon as possible after that. There are a lot more Apple devices to test on this time around!

After that, I will look at resolving any desktop issues so that I can get the game into TestFlight for OSX in February.

If these two milestones can be achieved, then Android and Windows release will follow very shortly after.

This is the last few remaining issues that I would like to tackle before I push to TestFlight. Not all of them are required to push to TestFlight so I suspect I will attempt an early smaller test release just to go through the process.