OpenTasks/Engine/Wintermute

From ScummVM :: Wiki
< OpenTasks
Revision as of 13:37, 22 February 2012 by Strangerke (talk | contribs) (Add portability guidelines to required skills)
Jump to navigation Jump to search
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...

- The Wintermute Engine has a free SDK. This would allow people to directly develop 2D games that would run in ScummVM, which is a regular request from ScummVM users.

- 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 and portability guidelines (could be learned in less than a week)
  • Engine internals could be studied quickly.