OpenTasks/Engine/Wintermute

From ScummVM :: Wiki
Jump to navigation Jump to search
Closed Task
Task Name Integrate Wintermute Engine (2D only)
Technical Contact(s) Arnaud Boutonné, Eugene Sandulenko
Subsystem Engine
Status GSoC 2012 (somaen), Done and Merged

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 and 1rst person 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
  • Make use of ScummVM subsystems for graphics, audio, input, ...
  • Rework code to follow our portability guidelines
  • Add and test support for a number of WME 2D and 1rst Person games, taking into account WME Lite limitations (see list here).

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

  • Add video support to WME Engine (which has the highest priority)
  • Add sprite frame mirroring
  • Add sprite rotations
  • Add sprite blending modes

The Benefits:

- This would allow to run most of the 2D and 1rst person 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:


- 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.