[Scummvm-devel] Two new engines (M4 and MADE)
Filippos K
philipk79 at hotmail.com
Mon Apr 21 10:31:09 CEST 2008
Hello everyone
This is a little heads-up on the two new engines that have been added to ScummVM yesterday.
Work was being done on both of them, and they both reached a state where they could be
added to ScummVM's code base. After obtaining permission from ScummVM's project admins,
both of them were added yesterday.
MADE is an engine used by some Activision games, most notably Return to Zork. It's quite a
small and relatively simple engine, since it's used to parse a custom made LISP-like language.
All the game logic is in the game data files themselves (even the game's main loop). In its
current state, the engine allows the player to move around and perform some actions in the
CD version of Return to Zork, though it's still in an early stage and a work in progress - there
are still several things to do. I've added some information about the engine itself in ScummVM's
wiki:
http://wiki.scummvm.org/index.php/MADE
The engine has been coded almost entirely by Benjamin Haisch, aka johndoe.
M4/MADS is an engine first created by Microprose (MADS stands for Microprose Adventure
Development System) and was used to create the 3 adventure games that the company created
(Rex Nebular, Return of the Phantom and Dragonsphere). It was then sold to Sanctuary Woods,
who renamed the engine to M4 (perhaps MADS version 4?) and continued development on it.
The company then created 2 games based on that engine (Riddle of Master Lu and Orion
Burger).
This is quite a complex engine, with several subsystems. The bad thing is that the game logic
itself in each game was written in C++ and hardcoded in the executable, which makes work
on it even harder. Also, several parts of the main game executables of the three Microprose
games were overlay code, using a tool called RTLink, to reduce the overall base memory
that the (quite big) executable needed. This makes work on it even harder, but there's
good work being done on this part. A design decision was made to separate the game logic
from the executable itself, and avoid having code similar to what we can see in the igor engine
(where game logic is also embedded in the executable itself). Therefore, a script parser has
been created, which is used to parse the game's logic from an external data file.
A large part of the MADS part of the engine has been based on johndoe's existing work.
In its present state, the engine is capable of showing certain parts of Orion Burger and the
three Microprose games, however a lot of things are currently triggered using console
debug commands. Also, Riddle of Master Lu is quite different in some aspects from the other
games, so most probably it will be one of the last games that will be supported by the engine
in the future. The main part of the work now is being done on Orion Burger, where the last
and most mature version of the M4/MADS engine was used. Then, work will probably be done
on the Microprose titles and finally on Riddle of Master Lu.
I've added some information about the engine itself in ScummVM's wiki:
http://wiki.scummvm.org/index.php/M4
There have been several developers that have written parts of this engine, including
(sorted alphabetically by surname):
Torbjörn Andersson (eriktorbjorn), Paul Gilbert (dreammaster), Benjamin Haisch (johndoe)
and Filippos Karapetis (thebluegr/md5).
To sum up: both engines are still a work in progress, so don't have high expectations yet :)
They are both in quite a good state though, so hopefully there will be interesting results
in the not so distant future.
Regards
Filippos Karapetis (md5/thebluegr)
_________________________________________________________________
More immediate than e-mail? Get instant access with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_instantaccess_042008
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20080421/28172cd1/attachment.html>
More information about the Scummvm-devel
mailing list