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.

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…

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..