The Wintermute Engine (WME) is designed to be as flexible as possible yet easy to use. It provides a large set of predefined functions plus a scripting layer, which allows you to implement advanced custom functionality when needed.
Resolution and colors
The engine supports virtually any resolution. Your games may range
from 320x200 retro-style to high-res 1024x768 modern looking ones.
Both 16bit (hicolor) and 32bit (true color) color depths are supported. The
player can select a color depth appropriate for his computer and the engine
handles the color conversion automatically.
Rendering subsystem
Since 3D accelerated videocards are a standard today, WME is able to utilize 3D
acceleration to provide fast 2D graphics in high resolutions, with advanced
graphical effects such as transparency, alpha blending and antialiasing.
On old computers, WME is able to run in so called "compatibility mode", which
doesn't require 3D accelerator, but all the advanced graphics effects are
disabled.
Development tools
To speed up the development, WME provides a set of GUI tools for
designing the game scenes, animations and for managing the project contents. The
tools are powered by the engine itself, therefore they can offer a true WYSIWYG
:)
Next generation tools are currently under development.
Supported file formats
The engine allows you to use various file formats for storing graphics and
sounds. It also introduces custom file formats for defining the game objects.
Graphics formats supported: BMP, TGA, PNG and JPG
WME supports PNG and TGA files with an alpha channel.
Sound formats supported: Ogg Vorbis (OGG) and WAV.
Although WME doesn't support the MP3 format due to licensing issues, the Ogg
Vorbis format is more than a valid replacement.
These sound formats can be used for both music and sound effects. Large sounds
are streamed from the disk and do not waste the memory.
Furthermore the engine is able to play videos in Ogg Theora and AVI format, including automatic
subtitles display (SUB format).
Scripting language
WME provides a flexible object-oriented scripting language, which allows you to
add almost any feature/puzzle you want. All the game objects support 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.
The scripting language uses the common C-like syntax, similar to JavaScript,
C++, C#, Java or PHP. If you know any of these languages, you can immediately
start to write WME scripts.
Parallax scrolling
Multi-layered parallax scrolling for the scenes is natively
supported by the engine and the scene designing tool. No additional scripting is
required to implement it.
Packages
Before the game is distributed, it can be compiled into one or more packages.
The package files contain all the game resources in a compressed form. You can
choose to split the resources into multiple packages, for example to distribute
a separate package with sounds/speech, or to release individual game episodes as
packages.
The packages can have various priorities. It can be used for example to release
a patch for your game. The patch package will only contain the changed files and
it will have a higher priority than the original release. The engine will then
use the new files.
Throughout the development you don't need to compile the game. The engine is
able to operate directly on the uncompressed files to speed up testing and
debugging.
Support for 3D characters
WME includes support for real-time rendered 3D characters.
This allows WME developers to create state-of-the-art adventure games which
combine 2D environments with 3D characters (so-called 2.5D games), similar to
games like Syberia or The Longest Journey. Please see the documentation for more
details about supported features and requirements. There is a simple
demo
available for download.
User interface layer
Using several available controls (such as windows, buttons...),
you can build a complex user interface for your games, such as load/save
windows, settings window, inventory window etc. All the controls are fully "skinnable",
you can change their look to fit your game.
Localization support
WME allows you to translate your game into other languages. The localization
isn't limited to texts, you can create localization packages containing
localized string table, fonts, graphics or even sounds.
Accessibility support
WME provides several options to improve accessibility for
vision-impaired players. Firstly it's possible to send most of the written text
to text-to-speech synthesizer, so that the players don't have to read captions,
which are often too small or disappear too fast to be comfortable to read.
Secondly it's possible to manually highlight active areas on screen using
keyboard shortcuts, because normally it can be hard to spot them for people with
visual disabilities. Thirdly the player can pause the game at any time (using
the Ctrl+Space keyboard shortcut) to be able to read any text or examine the
scene without rush.
Community
The friendly people at the WME forum are always willing to give a
helping hand (and to turn every discussion off topic :)
Continual development
WME is constantly under development. Updates with new features and
bugfixes are being released via the WME forum. The Project Manager utility is
able to check for updates on the internet so that you can download the latest
version immediately after it's released.
And a lot of other smaller things