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.

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.