Wintermute Engine (commonly abbreviated as WME) is a set of software tools and a runtime interpreter (game engine) primarily designed for creating and running graphical adventure games.
Wintermute Engine (WME) was designed and programmed by Czech programmer Jan Nedoma, who goes by the nickname Mnemonic on the WME forums. The first public beta version was released on January 12th 2003.
The engine is in active development and several updates are released every year, though irregularly due to the small development team.
The game engine
provides most of the features necessary for creating classic 2D graphical adventure games
. Although originally built as a 2D graphics engine
, with a built-in script interpreter
for implementing game logic, the Wintermute Engine provides support for the combination of real-time 3D characters
and 2D backgrounds, a combination sometimes known as "2.5D
", that has become the de-facto standard for modern adventure games (for example Syberia
, Still Life
), and survival horror games.
- Resolution and Color Depth - Unlike many similar systems the engine supports virtually any resolution: from 320x200 retro-style to high-res 1024x768 modern looking ones or higher. Both 16bit and 32bit color depths are supported. Colour depth can be also configured by the player at run time - the engine handles the conversion automatically.
- Rendering subsystem - WME can use hardware 3D acceleration (from any modern graphics card) to provide fast 2D graphics in high resolutions. It also includes graphical effects such as transparency, alpha blending and antialiasing (on old computers, WME is able to run in a "compatibility mode", which doesn't require a 3D accelerator, but disables the advanced graphics effects).
- File Formats - In addition to supporting common file formats WME also supports alpha channels for PNG and TGA. However it does not support the MP3 format (due to licensing issues) but uses the Ogg Vorbis format instead, arguably providing better compression and sound quality. Furthermore the engine is able to play videos in Ogg Theora and AVI format, including automatic subtitles display (in the SUB format).
- Scripting - WME provides a flexible object-oriented scripting language that supports a set of methods and attributes to allow you an easy access to the internal engine workings. You can also create your own custom objects and override and customize build-in methods. It uses a C-like syntax, similar to C++, C#, Java or PHP.
- Parallax scrolling - Multi-layered parallax scrolling for the scenes is natively supported by the engine and scene tool. Unlike most other comparable software no additional scripting is required to implement it.
- Packages - A game can be compiled into one or more packages which contain all the game resources in a compressed form. This enables, for example, a developer to distribute a separate speech pack, or to release individual game episodes as packages. Packages can have various priorities, to release a patch for a game for example.
- 3D characters - WME can render 3D characters in real time. While originally supporting only the MilkShape 3D format, it now supports the more universal DirectX format ".X".
- GUI's - It is possible, using standard controls, to build a complex user interface for a game, such as load/save windows, settings windows, an inventory window, etc. All the controls are fully "skinnable".
- Localization - A game can be translated into other languages, and isn't limited to text. Localization packages containing localized string table, fonts, graphics, or sounds are possible.
- Accessibility Support - WME provides several options to improve accessibility for vision-impaired players:
- Written text can be sent to a text-to-speech synthesizer
- Active areas on screen can be highlighted using keyboard shortcuts, making them easier to find for people with visual disabilities.
- The player can pause the game at any time to be able to read text or examine the scene.
The is also an active community that, while small, is growing in size and is willing to help newcomers with coding or recommendations. The programmer placed a free book of tutorials online in summer 2008.
Game design process
Wintermute Engine follows the object-oriented
design philosophy. The game developers use the engine tools for building various game objects (actors, scenes, windows etc.) and assembling them together. Every game object is defined by its appearance (graphics, animations, captions, fonts) and by a script, which defines the underlying logic of a given game object and its responses to game events. All those game definitions are then interpreted by the engine runtime interpreter, which is otherwise completely independent on any actual game implementation.
Starting with version 1.7, Wintermute Engine is distributed as donationware
, meaning that it's completely free to use for both commercial and non-commercial purposes, but if the users find it useful, they are enouraged to make a donation to support its further development.
Previous releases were free to use for non-commercial purposes, but required a separate paid commercial license.
The flexible nature, and relative inexpense, of the licence for even large commercial projects has made the Wintermute Engine a popular tool among independent commercial game developers.
Similar Software Packages
Many other similar tools exist. See Amateur adventure games