Lords of Midnight Development

Back in 1999 I started work on the Midnight Engine. The scope of the project was to develop an engine that could play Lords of Midnight and Doomdark’s Revenge and help create other Midnight inspired projects.

The development was split into five separate parts.

1. The backend, the actual engine.
This is a self contained library that loads a Midnight database and allows the game to be played. It has no concept of visuals or platform. It works by exposing an interface to anyone that should choose to use it, and is extended using scenarios. The scenarios allow for the code to be modified in game specific situations.

The original scope of the backend was to take both Lords of Midnight and Doomdark’s Revenge and amalgamate them into one entity. I removed all hard coded logic and made everything data driven. I expanded every compressed bit of data and removed any restrictions on size that existed. I then added a number of data items that I believed future games would likely exploit.

2. The Lords of Midnight Scenario
3. The Doomdark’s Revenge Scenario
Although both of these were developed as separate scenarios, most of the differences were in the data, ie: characters, map, etc.. and features from the engine that were turned off and on.

4. The Lords of Midnight Frontend – WinLom99
5. Doomdark’s Revenge Frontend

The frontend’s where the graphical aspect of the games. They were the user interface that drove the Midnight Engine for the specific scenario. WinLom99 was pretty straight forward. Doomdark’s Revenge however was where the graphics started to take on a whole new dimension.

The reason that I mention all this is because, everything I have done before, becomes the start of Lords of Midnight 2011.

Lords of Midnight 2011 – Platforms

I thought that I would address a question that I have been asked a lot since announcing this project:

Why is it for iPhone only?

Firstly, it isn’t.
It is true that we are using the iPhone and iPad as the lead platform. There are many reasons for this that are not actually relevant to anyone other than us. It is the process that gets us to a final release. But, we don’t intend to stop there.

When I first introduced the concept to Mike, I really was only thinking of iPhone. It was after all pre iPad.

However when we started this a few weeks ago, Mike introduced me to a product called Airplay SDK.

One benefit of this SDK is that we can continue to code in C++ rather than Objective-C. The main reason this is a great benefit even though I wanted to develop a larger project in Objective-C and that I have moved on from C++, is that The Midnight Engine was written in C++ and making that work under the SDK was going to be a whole lot easier and quicker than recoding. That brings me to the second benefit. Because the Midnight Engine has been live, in particular for Lords of Midnight, then we start we a good base – most of the previous logic has been coded.

The fall out of looking at Airplay was that it is multi-platform. It allows for targeting the following platforms.

iOS, Android, Samsung Bada, Symbian, Windows Mobile, BREW, Palm/HP webOS, and Maemo. It also supports, through its partner product Airplay Arcade, the Sony PSP.

A further benefit is that you can also target Windows Desktop and OSX Desktop.

So you can see, it’s an attractive option.

So, our focus is on iOS. But the intention is to exploit as many of the other platforms available to us that we can.

Lords of Midnight – iOS

When the iPhone SDK first came out, I signed up as a developer, downloaded the SDK and started playing around. One of the first projects I started was to port TME to the iPhone. I played around for a while, started converting from c++ to objective-c, and then decided that as it would never be an official project then I should use my time more wisely and work on something else – which I never really did.

I briefly discussed the concept of an IOS port for Lords of Midnight with Mike Singleton, but we never really got anywhere.

I actually felt passionately that Lords of Midnight could be developed on modern technology and reach out to a whole new market. The new demand in casual games on portable devices, means that now is its time. And the platform that Apple have developed has allowed games that are about their gameplay to get out to a large non gamer centric audience. I believe that a lot of people would love to get lost within the world of midnight. The gameplay is simple but effective, and as engrossing as the game is, it’s a good pickup and putdown game. Perfect for the portable game player.

When Mike contacted me four weeks ago to discuss the concept of bringing Lords of Midnight to iOS, it pretty obvious that I was excited, but I was also suddenly very nervous. It was now time to put up or shut up. It’s time to actually do it.

Lords of Midnight is a much loved game. It was pretty revolutionary in its time. It’s an amazingly atmospheric experience. And I know a lot of people who would lynch me if I helped to produce another Citadel! My number one concern for this project is – to not f*** it up! My number one item at the top of the design document is – to not f*** it up!

So with that in mind, what are we going to do?

Continue reading