Luxor nodded his reluctant acceptance of the truth and their talk turned to Midnight

With the re-release of Doomdark’s Revenge and The Lords of Midnight that concludes the last few fraught years of bringing Midnight back from the mobile graveyard caused by Marmalade getting out of the SDK game.

I won’t deny that it’s been a painful process and not one I really want to go through again… and yet… The release is not without it’s problems. I’m not convinced that there isn’t memory crash bug still there caused by the current Cocos2dx SDK. Thanks to all the testers that have helped out over the last few months, I think I have reduced the frequency but can’t be sure. It might just be down to the length of time you play and the size of device that you have.

But, I think the only way to solve the issue is to change the SDK – and I just don’t have that in me.

So, what next.

First, I need to upload new versions of the Lords of Midnight to bring its engine up to date with Doomdark’s Revenge. There are a few small changes that were added during that release that could do with being released into LoM – just having a few Apple issues at the moment with the upload.

Here’s what will be in that release…

Version 2.0.2 (42)

  1. [desktop] Added cursor sizes (small/medium/large)

Version 2.0.2 (41)

  1. fix crash caused by too many armies at a location
  2. panel_think – adjust page indicator size dependent on number of pages

Version 2.0.2 (39)

  1. Return graffiti easter egg
  2. Add confirm night option
  3. panel_look – Add drag down gesture to moves
  4. panel_look – Add drag up gesture for map
  5. [desktop] Add mouse cursor images
  6. [desktop] Consolidate ESC key across all screens
  7. [desktop] Tidy shortcut keys across all screens
  8. [Android] panel_mainmenu Hardware back button now performs Exit
  9. [mobile] Tweak scale of buttons

Version 2.0.2 (38)

  1. Fixed: panel_think – adjust UI on phone
  2. Fixed: potential memory leaks that could be causing crashes

After that I will take a break from this code base. There are a couple of small things that I would like to put back that are missing but that I didn’t feel were critical for the release. I may well add them over time here and there when I find myself in the mood, but I won’t guaranty anything.

  1. [mobile] Pinch and Zoom on the map
  2. Compass Gadget
  3. [desktop] scrolling indicators on popup pages
  4. [desktop] arrow indicators for scrolling on think pages
  5. [desktop] Next/Previous buttons on scrolling pages
  6. [mobile] Vibrate
  7. Review the guide

There are three things that I will be focusing on from hereon in.

  1. Rewrite the engine under c# – this is a long term project in order to make the engine more robust for the future and to make more options available to me. The first is to just straight take the engine to Unity but the other is to also take it online for multi-player. More details to follow in future posts.
  2. Use the current engine to research and develop the new Landscaping needed for The Citadel. The Citadel needs water. I was playing with this technique a few years back but it wasn’t quite gelling. It works fine in a flip screen environment but not so good when the panorama is moving. However, I think with the changes made in order to release using Cocos2dx I’m keen to get back to it.
  3. The Citadel Novel/Game research. Drew’s roadmap currently has The Citadel slated as a 2023 release so we are going to need to get together to work on the details a little more than we did on LoM and DDR. There is going to need to be far more game research which is needed for the book but also for any release that I intend. For one thing the map needs a lot of filling out with details that were sadly missing in the original release.
The Bloodmarch - Northwest corner
The Bloodmarch – Northwest corner

Doomdark could choose from many roads after gaining the Plains

So phase one of the new release is almost complete. Version 2.0.2 (36) of The Lords of Midnight is now available for iPhone, OSX, and Windows. You can download OSX from the App Store or you can get it from here along with the Windows version.

On iOS there is one known issue and that is a random crash caused by the move from OpenGL to Metal – a requirement enforced by Apple. You never lose any data and a restart of the game will take you right back in to where you were. If you are experiencing this problem then it is possible that turning off transitions in the options may solve or delay the problem.

Unfortunately it seems that the Cocos2dx has an issue here and the SDK has not been updated in two years, which makes me think it is nearly as good as dead – which leaves me in another tricky situation.

The suggestion is that I can move to a more updated Fork of Cocos2dx called ADXE. In theory it should be a small migration, but I’m just not up to it right now. Maybe I will give it a quick go one weekend when the mood takes me.

So I have made the decision to move on for now to phase two which is to get Doomdark’s Revenge release. Hopefully this shouldn’t take too long as it was already running in the new engine, I just need to check over a few things. I have pushed test version for iOS and OSX and will follow with Windows and Android real soon.

Sign up for testing

This does leave me vulnerable as the crash bug is probably frequent enough that I might start to get complaints and review ratings will start to decrease. However until I see how bad the crash is in the wild across multiple devices and os versions, it’s hard for me to gauge. I just hope that those of you have been following my progress and are therefore reading this will just take the crash on the chin for a while.

As later phases of my plan involve a complete re-write of the engine to c# and the potential move to unity (which is already under way), then I feel compelled to get Doomdark’s Revenge released and then focus on the rewrite. Because with the new engine will come many many new and shiny features…

The dawn did not linger but hurried on its endless journey

3,287 (or 164 score and 7) days have passed since I released the first version of The Lords of Midnight remakes on the Apple Store. Over the next few days, weeks, year I would release both The Lords of Midnight and Doomdark’s Revenge for iOS, OSX,  Android, Amazon Fire, Amazon Underground, Windows, Windows Phone, and Blackberry.

As you all know the choice to continue the remakes was difficult after the loss of Mike, but in the end I felt the need to keep these games in some way alive on modern devices. To that end I chose to keep the game look and feel very similar to the original and just apply a light refresh or paint job.

You will also know of the issues I have had with the SDK that the games are built on. Without going too technical, the games are native c++ but in order to reduce the workload for me, I used a thin amount of an SDK called Marmalade to help facilitate the cross platform support that I needed. But Marmalade got out of the business and I had to move to another SDK, Cocos2d-x, which has taken some time.

About this time last year I almost finished the migration after having bitted at it over the previous few years and I was making really good progress until life kicked in and completely floored me when it came to any personal projects and development. Basically the increase in workload brought about by the Pandemic just made sitting in front of a computer in my spare time – a misery.

I finally started picking up again recently, and here we are…

So I am glad to say that The Lords of Midnight is now available again for iOS, OSX, and Android. Windows will be available just as soon as I work out the best way to distribute it as currently the old versions are still available on GoG. These games are now completely free and will remain so. (I may add other purchasing options later for additional content). Doomdark’s Revenge will follow very shortly. The game is fully running I just need to do a lot more sanity checking.

The frontend of the games have been completely rewritten so some things may feel a little different.

There some known issues… 

  1. There appears to be a random crash bug that I have been chasing down for a while. As far as I can see it has something to do with the graphics rendering of the SDK but as of yet I have not been able to pin point it. I will keeps chasing this down.
  2. Incorrect sizing of filter buttons on mobile
  3. Android back button doesn’t give option to close the game from the main menu

There are some missing features…

  1. The compass has been removed. This will be replaced shortly.
  2. Some of the gestures have not been recreated yet.
    1. Pinch and Zoom on the map
    2. Quick access to the Map from the look screen
    3. Drag to move
  3. Button to revert scale to normal on map screen
  4. Use of haptic feedback on mobile
  5. Next and Previous buttons for desktop on think and select screen
  6. Cursor image on desktop
  7. Escape key usage on desktop
  8. Shortcut keys on desktop

And a few features I wanted to add which I will try to get in soon…

  1. Add filter for ‘Hidden’ on Map and Select screen
  2. Add option to disable ‘Are you sure” for night prompt
  3. Add in game option on Tutorial popups to mute/unmute tutorial

There will likely be a new build in the next few days as I made a couple of changes during the Android release that needs to ripple through to all versions, I just didn’t want to mess with the current release schedule by submitted the latest changes to all variants.

Moving forward I am not 100% sure what approach I am going to take. I am already aware that Cocos seem to have downgraded the importance of their c++ engine as there hasn’t been any updates in the last two years. I’m already starting to move to a new system – this time Unity – I think this might have more future proofing. The only problem is, this becomes a complete rewrite in c#. In the end this opens up much more opportunities for the future direction of the games. It may be that the current versions are kept ticking over as they are as I focus all my energy on rebuilding the new system.

Anyway, apologies for the delay, but I hope you can all enjoy The Lords of Midnight and look forward to Doomdark’s Revenge in the New Year.