By Chris Wild, Jure Rogelj and Mike Singleton
*Notes and Announcements
In 1991 I ported Mike Singleton's "Lords of Midnight" and "Doomdark's Revenge" to the PC. After I had finished, I sat back and wondered what it would be like running under windows...
Eight years passed and I was still wondering! Various things has conspired against me, and I had never got the chance to write a true windows version.
Well, I finally started the process... and it is underway... albeit a tad slowly. I keep going through fits and starts but never really getting anywhere. I am frustrated by my lack of ability to bring this project to a logical conclusion, but I'm not overly worried. A good wind is all it will need...
When I started the project I had a few ideas on where I wanted WinLom99 to go... see goals but since I went public many things changed.
The project is now "The Midnight Project" which encompasses a number of separate things. My overall aim is to create an "engine" that can play both Lords of Midnight and Doomdark's Revenge. As well as these games, or scenarios as I now term them, the engine must allow for additional scenarios.
This is accomplished by the engine having all the features that both games require, but without limiting anything.
To do this I first removed vast amounts of game specific code and data and created a scenario database that controls much of what goes on. Scenarios can then be changed by just altering the tables of data. Almost everything in the game can be altered easily. Secondly I have opened up the interpretation of the data and added extra data for further functionality. Some of this new data is not even used in the traditional scenarios... but allows for much more complex games.
The engine also allows for specific code to be written for each scenario. It achieves this by using C++ and allowing for much of the functionality to be overwritten. The scenarios are loaded as DLL's which effectively switch in or out scenario specific code.
Finally I have tried to allow for the engine not to be machine specific. I have achieved this be splitting it into two four separate parts. Software library functions, Hardware library functions, front-end and game engine.
The theory is that the game engine only
uses software library functions and itself. None of this should be machine
specific. The front-end uses all the parts. This allows for individual
parts to be changed dependent on machine but also allows for the front-end
graphic interface to be changed but still play the same game without any
The final piece of the puzzle is the Editor. Hopefully a user-friendly editor will allow for scenario designers to easily create their vision.