Getting up and running…

It seems a little strange, that after all this time, something might just finally become of this project! 🙂

The first stage was to get the Midnight Engine up and running under iOS. Well I tried that about 3 years ago without any major success. However, it’s a little more important now. So I downloaded the Airplay SDK which Mike and I had decided to evaluate, and started porting the engine.

It was a pain! Differences in compilers, changes in the language, blah blah blah… it took a couple of days of monotonous work before I had a project that loaded the TME data in. While I was working on that, Mike was playing around with some graphic ideas that we had talked about implementing – mainly to do with lighting.

Continue reading

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.