Jump to navigation Jump to search
|Task Name||Implement Z Engine|
|Technical Contact(s)||Filippos Karapetis, Eugene Sandulenko|
|Status||GsOC 2013 (RichieSams ), Done and Merged|
Using the existing engine available from http://github.com/Marisa-Chan/Zengine, write an engine implementation for ScummVM. This engine will have to support Zork Nemesis and Zork Grand Inquisitor.
- Integrate the already existing C engine into ScummVM
- Objectify the various subsystems of the engine and convert the existing code from C to C++
- Rewrite and simplify the engine's resource manager to something similar used by the MADE engine for Return to Zork
- Refactor the resource manager to avoid using configuration files for each game
- Remove direct usage of SDL and file access and convert each SDL and file access call to use our OSystem infrastructure instead
- Replace custom MList linked list structure used in the engine with ScummVM's own List class
- Further refactoring of the engine
- Adapt our movie code to use the specialized AVI audio PCM compression used in the engine (most of which is already done)
- Integrating Z-Engine in ScummVM will allow Zork Nemesis and Zork Grand Inquisitor to be playable on a variety of platforms without fussing with their configuration files.
- Z-Engine will also benefit all the enhancement proposed by ScummVM.
- Both games are quite popular, and will be a very nice addition to the games that we support. Also, they'll complement the already supported Return to Zork game, and we'll then support all the graphical point'n'click Zork adventure games
- Good C++ skills.
- Good knowledge of ScummVM coding conventions and portability guidelines (could be learned in less than a week)
- Engine internals could be studied quickly.