Only Luxor remained with a thousand riders of his Houseguard, waiting for news.

Just an update of how things are progressing at the moment.

The move to Cocos2d-x is now almost complete. I have the full Lords of Midnight running with every screen implemented. Which means it is fully playable, however in order to hurtle through to completion I chose to priorities and simplify certain things.

For example. The select screen allows you to do just that. What is missing is the grouping functionality. Which means you can play the game and select all the recruited characters, you just can’t utilise grouping.

Here is my current TODO: list…

  • Landscaping – armies
  • panel_look – direction arrows
  • panel_map_detailed
  • Mouse Images
  • panel_look – shortcut keys
  • panel_look – show following character
  • panel_look – compass
  • panel_think – select character
  • panel_think – Post/Recruit
  • panel_look – help pending
  • panel_look – Landscape – keyboard control
  • Load XML Project Config
  • landscaping – mist
  • landscaping – grafitti
  • panel_select – Grouping
  • panel_select – shortcut keys
  • panel_select – drag and drop
  • DDR panel_gameover
  • DDR uicommandwindow – give text
  • DDR uicommandwindow – select face with name
  • DDR panel_look – Tunnel View
  • panel_advert – multiple adverts

I’ve been doing all this work with the MAC build because it’s easier. The next step was to make sure I could get the project working on iPhone, again because that’s the next easiest most logical step for me. I fixed up some cosmetic issues caused by multi-resolution support and added in support for the Safe Area of the iPhoneX range of phones – basically the notch, the curved corners, and the home indicator. This will also help with any potential AppleTV version that might come later. With the safe area I chose to allow the background to fill the full screen, but make sure any UI components are within the safe area.

The next thing is to get Windows32/Windows10 variants building, which for me unfortunately means spending time in a Windows VM. I also enjoy using Visual Studio less and less… but hey, needs must.

Once the windows version is building, at least the win32 version, I will swap back to Doomdark’s Revenge. I will make the changes required to get DDR running in the same way LoM is. The main thing will be tunnels, mist, landscaping and ui differences. The reason for this is so that I can have a version to give to Drew that will help him with the novel research.

After that, I will start pulling on the straggly strands together. I haven’t decided for definite yet, but I am thinking of releasing this version under the monicker “The Midnight Chronicles” and having both LoM and DDR as selectable campaigns, rather than releasing them as two separate apps. This wasn’t really possible when I first released LoM 6 years ago!

I am also considering In App Purchases. The idea is that the main game will be free, but you can pay for additional scenarios and graphic sets. It is likely that The Citadel will be released as a scenario rather than a new game. Some other scenarios might just be playing with the map or the game conditions. I like the idea of a scenario that more closely resembles the way the Novel plays out. I don’t intend to add IAP for functionality or gameplay, so there will be no in game currency for example!

Related Posts:

The minstrel’s songs were old ballads that everyone knew well

I’ve been having a few conversations with Wayne Britcliffe about making his Midnight inspired music available. Two of these pieces of music I used on the game trailers. The Midnight Overture was used for The Lords of Midnight, and The Icemark was used for Doomdark’s Revenge.
When I say having a few conversations, I actually mean I spoke to him about it three years ago, and completely forgot to do anything about it. Now that I have finally remembered, I wanted to ask if there is an appetite for these pieces of music to be made available.
I’d appreciated it if you would take some time to fill the form in so that we can gauge interest on releasing the current music or potentially more music.

The Lords of Midnight Trailer
Doomdark’s Revenge Trailer

Related Posts:

Above, the towering clouds simply melted away and the bright stars gleamed in the sky once more.

After having a conversation with Drew a couple of weeks back about the future of the novels, I came to a stark realisation that I was now unable to build the special version of Doomdark’s Revenge that he would need to allow him to freely wander the Icemark as part of his research. This was something that I did for him with The Lords of Midnight and it helped greatly.

However, the problems that I have had with the building of the games because of the loss of the Marmalade SDK are still plaguing me. I was slowly coming to the acceptance that I would soon be removing the games from the Apple app store as each new release of iOS and new devices makes the game unobtainable. This will likely follow through to Android and Windows.

All this has been compounded that my general motivation has been through the floor for a number of years now.

The upshot of this post is that this week I had a self imposed break from work and I’ve been working on the game and have made great progress already. The main menu and surrounding screens are all working. The main view is mostly done bar a few niceties and features that I don’t yet need to give Drew the functionality he needs. Today I’m working on the Think screen, but the main missing screens are the Select and Map screen.

Related Posts:

There were many tales to be told

Drew has posted a blog about him and his future novels, but the TLDR; from a Midnight point of view is that we have agreed on more Midnight novels… If all goes to plan then he should be starting on Doomdark’s Revenge in the first half of 2019.

Doomdark’s Revenge will be an interesting story as it should be less confined than working on Lords of Midnight. At heart it has a female protagonist on a quest with a female antagonist, but after that, what is it really about…? At this stage we already have a few ideas that link all the stories together, we had to discuss them right at the start of this process, but for the actual main narrative, I for one look forward to finding out…

One side effect of this is that I now absolutely need to get the games up and running again. I’ve been finding it really hard to find the motivation to revisit them, but Drew needs a version of Revenge that he can walk around unhindered, and hopefully this can be the push I need to jolt me back into it.

Related Posts:

We cannot spare more than a few for such a perilous task

After the problems earlier in the year with Marmalade getting out of the SDK market, I started working on porting Lords of Midnight to Cocos2d. I initially decided to park the games and start on something new to get me going. As it happens that the new thing was The Citadel. I managed to get TME – the Midnight Engine – which is the backend game code that runs both LoM and DDR, up and running. I then worked on the Landscaping technique.
Happy with that working, I dragged the Map data out of The Citadel and started rendering that. The real big issue I needed to address for the Citadel is water, so I started working on that.

I spoke with Jure and he mocked up some potential imagery, so we could get and idea of what it might look like.

I then had a lot of problems with Cocos2D getting it to build under windows, and to be honest, I got a bit disheartened and gave up for a few months. It’s frustrating when the OSX Build all works without any issues, but the code just wouldn’t build on Windows.

Since I’m working closer to home at the moment, I started to get that coding itchy feeling, and so I returned to the game. After a bit of restructuring I managed to get the code compiling on Windows – however, it completely wouldn’t build on OSX anymore. Xcode would completely barf and kill my machine taking up over 52gb of memory!

I spent three evenings trying to get it to work. The upshot of all that pain, is that I seem to be back into my groove…

I spent a bit of time thinking about the whole process, and I’m not sure if it’s because my Facebook feed keeps reminding me of what I was doing five years ago… desperately trying to complete LoM to get it submitted to Apple before the Winter Solstice as it happens, but it feels right to get these games back up and running an ready for any future release.

At the moment I am slowing making my way through every UI screen and rebuilding it under Cocos2d. It’s painful because as powerful as Cocos2d is, the documentation is a complete bag of horse turd. I’m really stumbling around trying to translate the UI Engine I had already built into a new one.

Once I have all the periphery screens complete, I will make my way into the game screens.

I’m not abandoning The Citadel, I’m just taking some time out to get the whole engine fresh again. I’d like to get LoM and DDR released under the new system early next year.

As an aside, the complete progress can be found in the GitHub repository. All the code and assets are there.

Related Posts:

The way was obscure but he moved onwards…

The ersh has finally settled on the whole Marmalade Licence Issue. My licence no longer works so I cannot build LoM or DDR anymore, and the new company who I know nothing about, nor what their long term intentions are, require $600 for a one year bridging licence.

I just about managed to get the new 64bit build out for iOS and Android, but never managed to update Windows, Mac, Windows Phone, and Amazon. I’m a little disappointed by this, but I think I can live with it.

However, the iOS version of Doomdark’s Revenge seems to have a little bug on iPhone7 where it doesn’t always show the splash screen and the main menu backdrop. The rest of the game works fine. This can be fixed by running your phone in Zoom mode. I wish I’d managed to get the fix out for this in time. What this actually means, is that this fix would cost me $600.

I’ve though long and hard about this, and I’ve decided to let it go. GMO Internet group Japan, who now own the Marmalade Tech, have said that they will be changing the technology in 12 months. Currently their bridging licence is a no support, no update licence. So come a new iOS or Xcode, both which will happen in September, then there is no guaranty that it would continue to build after that. Then there is the little issue of the compatibility of their new tech, should they make it available, and the new cost.

I don’t honestly think the DDR bug will affect that many people, after all, there are not that many people playing it. Should the problem become a real issue, then then, and only then, might I consider buying the licence to allow me to fix, compile, and release.

Until then, I need a new plan.

And here it is…

My next game was going to be Timbles – my children education title that has been kicking along for way too long. This is also written under the same system and thus I can no longer work on it. I cannot currently bring myself to port it to another system, therefore it will be shelved until some future time.

My intention was to move my system to Cocos2d-x and I have started working on that. But, I have decided that rather than spend time in the past again, porting to another system, I am going to start a new game that will allow me to familiarise myself with Cocos2d-x and build up the system I need, and then after that I will take Timbles, The Lords of Midnight, and Doomdark’s Revenge across to it. If I can get another game out, then follow it with Timbles, I am strongly leaning to spending time on The Citadel.

It’s worth point out that I have over the years ported The Lords of Midnight from a Z80 code base that I hand disassembled and crafted to 80×86. I wrote a Visual Basic version, and C version. Developed the Midnight Engine in c++ for Windows, then took this across to the Marmalade system as the base of the current releases. Timbles was developed under Visual Basic 10 years ago. Then moved to DirectX. Then rewritten in c# for Silverlight to run in a browser, before finally being coded in c++ under the Marmalade system.

I think you can see why I am a tad reluctant to revisit these code bases right now. 🙂

In the mean time I will update the GitHub repositories to include the full final source.

Related Posts:

He rode on towards the Tower of the Moon a little more gladly

Thanks to the generosity of Scott Gibbens, who took time out from his 170 mile journey home at the end of a busy day at work, to swing by my place and lend me his iPad2 for testing… the new build is now working on all the devices it can. The only restrictions I have had to make is iOS7. This removes iPhone 1-3, and iPad1, and iPod Touch 1-4. Unfortunately, there is just nothing I can do for these old devices anymore. For the record, the current version in the app store will continue to be available and work on those devices that have already downloaded it, it’s just no future versions (should there be any) will be available.
This new build has gone out to the external testers, and as long as I get the ok, it will head to the store next week. All being well, I will do the same for Doomdark’s Revenge. I intend to release both LoM and DDR for Android, Windows, and OSX as well to unify the releases. However, Blackberry, and Windows Phone will not be getting this release.
 
For the record, this is what is available in this release…
 
1. Added discovery map
2. Added ‘tooltip’ info on map
3. Added cleanup button for lords on select screen
4. Change to undo system ready for difficulty modes
5. Added ability to UNDO from the gameover screen!
6. Handle new screen resolutions
7. Built for latest IOS SDK
8. Support 64 bit devices
9. Cosmetic changes on scrolling views – dithered
10. Update of engine to align with Doomdark’s Revenge
11. Misc minor engine fixes ported from Doomdark’s Revenge

Related Posts:

The Moon Ring lends us the power to change our plans

For those of you that do not follow my personal blog, I thought I’d update you on a few issues that have been plaguing me… for those of you who have, you can skim down to nearer the bottom…

About six months ago I received an email from Marmalade detailing their intention to withdraw from the SDK market. Marmalade is the system I used to develop The Lords of Midnight and Doomdark’s Revenge in order to facilitate the cross platform nature of it. Using Marmalade gave me the ability to target iOS, OSX, Android, Windows, Windows Phone, Kindle, and Blackberry.

A month or so later, Marmalade confirmed that the SDK had been sold to another company, and that further support may become available from them.

That process has now taken place. I have less than a month of my Marmalade licence left, and they have not turned off the Licence server to I can still build and continue to work. However no future support will come from them. The new company are offering a 12 month bridging licence at $100 more than my previous licence fees, but this also comes with no support. I’m also not convinced that they intend to be around for the long term. The main reason they appeared to by the Marmalade system was for internal development.

A few weeks ago I received an email from Google. Doomdark’s Revenge was now in breach of one of their policies and needed to be resubmitted or removed from the store. A quick recompile and the problem was solved.

A couple of weeks ago I received an email from Apple. The Lords of Midnight was due to be removed from the store in 30 days. This is due to them culling old apps that were not being updated and/or were not 64 bit. If the App is removed people who currently have it will still be able to play it and re-download it, it just won’t be able to go on any new devices or be updated.

In theory, a recompile would solved the problem, and as I had slowly added some new functionality, this should gain me a stay of execution for possibly another 5 years.

Over the last few weeks I’ve ben wrestling with a Marmalade SDK that is not supported and an inability to build a new version. Eventually, after a lot of heartache and pain, and getting close to just giving up, I have managed to get a working build, however, there is a catch, it doesn’t work on iPad1, iPad2, and iPad Mini 1. iPad1 is no surprise, I can’t target anything lower than iOS 6 anymore and iPad1 only goes to 5.1 The iPad2 and iPad Mini is more of a problem. The issue appears to be the Marmalade system incorrectly reporting those devices as Retina devices even though there are not. I’m still trying to fix this, but it’s proving difficult without current access to any of the devices. So, I might have to make a decision. The deadline is under two weeks now and in order to stave of the executioner, I might have to upload a version that doesn’t support those devices. And this is where the real catch is; I can’t exclude those devices without going iOS10 or purely 64 bit, or both.

Using iOS10 would allow me to target iPhone5 up, and iPod Touch6G, iPad4 up, iPad Mini2 up. Going 64bit would be much more restrictive.

It hurts to think I might lose iPad2, iPad3, iPad Mini1, and iPhone 4, it seems harsh, especially as I have an iPad3 which it does work on! I have no idea how many of these devices are currently playing the game, Apple don’t break down the numbers to devices with that amount of granularity.

To be fair, I don’t have a current enhancement plan for the games, so it’s not like people who currently have the game will be losing out much, but it just feels wrong.

I’ll have to make a decision early next week in order to upload LoM and DDR and at least stop the rot. However, once those versions are up, I don’t know how much longer I might be able to build them again for.

Long term, I need to look at porting the games to another platform, and this is something I have spoken about before…

Related Posts:

Many battles fought again by tongue

Strange day today. Not just because it would have been Mike’s birthday, but because for some reason I found myself fixing a bug in Doomdark’s Revenge. Back in January I had a bug reported to me by Simon Foston, I managed to get some save games from him and just needed to find some time to look at it. Now, it’s taken a little while for me to find that time, but for some reason I looked at it today. It wasn’t a conscious decision, I was just looking through some emails that needed dealing with and noticed Simon’s bug report.
A quick look through the code and with a tip off from Simon’s report, it became apparent that the ghosts of dead lords were continuing to take part in battles. I checked the original code and it looked as if the bug was there too, however, I then found that the isDead check was happening later in the process. Strangely what it means is that battles at a dead lords location are processed as part of a dead characters turn, and not as part of other characters in the location. In my case, I’d missed the later isDead check and therefore the dead lord actually took part in the battle.

 

So, it seemed strange to be working on a bug in Doomdark’s Revenge that included the dearly departed, today of all days. I’m sure Mike had a wry smile..

Related Posts:

This time you’ve got me to help you…

A few months back I received an email from Marmalade Studios. Marmalade is the system I used to give me cross platform support. I pay for a licence yearly which is still covered by the ongoing sales on the long tale of the game. Anyway, the email informed me that Marmalade were pulling out of the Tools business to focus on their own development. They laid out a timetable and final release plan for the current tools but ultimately from March 2017 they will no longer be supporting their toolset. There was an offer to purchase rights to the source code, but as a small indie, that’s not really an option.

This doesn’t affect the current releases, but what it does mean is that any chances of me producing updates in the future have almost certainly been removed. And with every new OS release, the chance of the game not working are increased.

I know I have not been prolific with updates since the release of Doomdark’s Revenge settled. There was so many things I wanted to do, but just haven’t gotten around to. The reality is two fold, as amazing as the sales of the games have been, they are obviously not enough to support me full time, and secondly, the games were written quite frantically in the end and I never regained that sense of purpose after their release; this is not just for these games but for everything that I have been doing creatively.

I’ve been trying recently to tie up another release. The main reason for this is to produce a build with the latest version of Marmalade and get it out there to properly support the latest devices. In theory a new release should keep its visibility in the App Stores for a few more years. As part of this I’ve been slowing adding a couple of features: Discovery Mode, Difficulty Modes, Rationalise the code base between DDR and LOM. etc..

So with all this in mind I have been toying with the following: Uploading the source code to GitHub and making it open-source with the objective of transferring it to another cross platform solution, Cocos2d-x for example. Or, allowing people to port the engine to any other coding languages they like, so it could be used however they like.

The current codebase is written in c++, and thus moving to Cocos2d-x makes sense, but I quite like the idea of porting to c# or swift.

Moving to open source could also allow for the tool chain to be fully developed which would allow for more work to be put into ongoing development of the games.

Anyway, I shall think on this more, but if anyone is interested in getting involved, then drop me a note…

 

 

Related Posts: