Open main menu
Open Task
Task Name Integrate Wintermute Engine (2D only)
Technical Contact(s) Arnaud Boutonné, Eugene Sandulenko
Subsystem Engine

Background:

The Wintermute Engine (WME) is a set of tools for creating and running graphical adventure games. It's originally MS-Windows oriented, and lets the user create 2D, 2.5D (using 3D characters in a 2D environment) and 3D games for free. During the first semester of 2011, a WME developer, Mnemonic, created WME Lite in a move to make WME more portable. WME Lite runs "only" WME 2D games with a sub-set of available features, and runs on Windows, iOS and MacOS.

After some discussion with Mnemonic, it appears that the engine should be backward compatible, and that development since the last version (v1.9.1, on 1/1/2010) has been slow, so it's a good time to work on the integration of the Wintermute Engine (2D) into ScummVM. This will be based on WME Lite sources, available on Google Code.

The Task:

  • Integrate WME Lite sources in ScummVM
  • Rework code so it follows ScummVM coding conventions
  • Refactor code when required
  • Add support for WME 2D Games not suffering from WME Lite limitations (see list here).

If there's enough time, the following tasks may be covered too:

  • Add video support to WME Engine
  • Add sprite frame mirroring
  • Add sprite rotations
  • Add sprite blending modes

The Benefits:

- This would allow to run most of the 2D games using Wintermute Engine, all of them on a longer term. There are currently more than 30 games targetted, some are described in Wintermute Engine documentation, and the others may be found in the forum.

This includes:

And so many more...

- Thanks to this Engine, users could also directly develop 2D games (thanks to the free Wintermute Engine SDK) that would run in ScummVM, which is a regular request we receive.

- Compared to the current WME Lite engine, an integration in ScummVM would provide:

  • free sound support
  • enhanced portability (it currently only works on iOS, MacOS and Windows)
  • video support and sprite manipulations

Required Skills:

  • Good C++ skills.
  • Good knowledge of ScummVM coding conventions (could be learned in less than a week)
  • Engine internals could be studied quickly.