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.