Morrowind Mod:OpenMW

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search
Main logo of OpenMW
Home Page OpenMW
FAQ FAQs
Download Downloads
License GPLv3

OpenMW (also known by the abbreviation "OMW") is not actually a mod, but a freedom-respecting (GPL) implementation of a new game engine for The Elder Scrolls III: Morrowind and associated file formats. The project was founded in 2008, releasing its first public version in June 2008.

Development is steadily approaching parity with TES3's Gamebryo engine, and players can adventure without undue difficulty or complications in the majority of cases. OpenMW already boasts features not in Bethesda's engine, including superior performance and stability. OpenMW also handles plugin-heavy configurations better than Bethesda's engine.

OpenMW runs natively (without emulation or virtualization) on POSIX (Unix-like) operating systems such as Linux and [Free|Open|Net]BSD (including Mac OS X), and MS Windows. It has been experimentally compiled for other platforms, including Android and the Raspberry Pi.

OpenMW is not a clone or reimplementation of Bethesda's game. Contrary to some assumptions, it does not include any of Bethesda's resources; rather, it is separate software for parsing the same data files, just like a modding tool. Compare using different image software to view the same image file.

To play Morrowind, OpenMW requires a valid copy of the game data, such as from CD-ROM, GOG, or Steam. It fully handles the Tribunal and Bloodmoon expansions, and the entire Game of the Year Edition.

OpenMW includes wizards to make installation and configuration easy and swift; configuration can be imported from an existing installation, and OpenMW can use an existing Data Files directory, or facilitates making a fresh installation of the game data, without Bethesda's bundled installer or its engine.

Features[edit]

OpenMW fixes many problems of Bethesda's engine, enhances many features relating to functionality and gameplay, and adds features which are not present in Bethesda's engine.

Main article: OpenMW Wiki § Features

  • Stability and Integrity:
    • Including when heavily modded and running at high-fidelity
    • Saving of character state is now much more rigorous, avoiding various forms of corruption and other glitches
    • Elimination of artificial limit on count of mods+saves
  • Performance:
    • 64-bit builds for native execution; no more 32-bit compatibility modes
    • multithreaded; thus, can use multiple(-core) processors
    • Takes maximal advantage of modern GPUs; especially noticeable when the game is modded with higher-resolution textures and meshes
    • Uses OpenSceneGraph; tuning and optimization refinement is an on-going effort although it already performs better than the original engine (and earlier releases of OpenMW which used Ogre3D)
  • Graphics:
    • Support for higher-resolution graphics.
    • More configuration options; allowing granular control of graphical fidelity, thus more tunable to the player's hardware and trade-off preferences
    • Arbitrary display resolutions in either full-screen or windowed modes
    • Rendering range (view distance) can be set much further than the original engine allowed, utilizing the distant terrain system for this is recommended instead
    • Anisotropic filtering
    • Adjustable field-of-view
    • New water shader featuring reflection and refraction rendering; highly realistic appearance
    • Enhanced shadow rendering; both fidelity and range
    • Improved rendering precision. The vanilla engine had precision issues that result in objects shaking when the player travels far from the world origin (co-ordinates: 0,0,0).
    • Support normal, specular, and parallax texture maps, also supports bump maps and environment maps.
    • Support for Post Processing with Lua functions.
    • Support for more than eight light sources at one time.
    • Soft particles.
    • Optional Unclamped lighting
    • Improved sun flare (using occlusion queries)
    • Seamless terrain rendering, utilizing distant terrain
    • Support for groundcover mods that utilize MGEXE, see the documentation for how to install them. Utilizing groundcover instancing technique to improve groundcover mods performance
    • Support for Alpha-to-Coverage for cleaner foliage, requires antialiasing
    • Support for scene files as an alternative to the proprietary NIF format
    • Modern third person camera features, including over-the-shoulder camera.
    • The player moving diagonally in third person now has a proper animation, instead of appearing to move forward despite moving in two directions
    • Smoother actor movement in general
  • Physics:
    • Consistent and fluid physics handling.
    • Async physics (multithreaded physics support).
    • Optionally Actors avoid collision with player character and other actors, minimizing navigation annoyance.
  • Data handling:
    • Character-state:
      • Saving is now much more rigorous, avoiding various forms of corruption and other glitches
      • Saves are organized by character
      • Track the time played (optional toggle, not enabled by default)
    • Multiple data directories
  • GUI and usability:
    • GUI scaling option, useful to improve readability on high-resolution displays
    • World map adjusts automatically to fit new landmass from mods such as Tamriel Rebuilt
    • Save+load dialogues: saves are organized by character
    • Item selection dialogue now accepts manual typed input of an arbitrary count of items, in addition to the slider
    • alchemy dialogue: resizeable and redesigned
    • Allow keyboard input for item count dialogue and trade window price
    • Improved console (colours, tab completion of commands and object IDs)
    • Copy and paste from and to OS clipboard
    • Many usability improvements
    • When placing items, irrelevant windows (stats, map, and spell windows) will become transparent on mouse-over and allow click-through
    • Support for translations without renaming everything, allowing for mod compatibility. The official Russian translation, which achieved similar results in the original engine with a DLL hack, is currently playable with this system.
  • Input Controls:
    • Hardware game-controller support; currently with basic in-game configuration UI
    • Hardware cursors; this means the GUI cursor is always fluid, independent of the frame rate
    • Keyboard layout support — original Morrowind would always use QWERTY keyboard regardless of system setting; OpenMW will map commands to the same physical keys based on your configured keyboard layout
    • Held attacks (e.g. a nocked arrow) may be cancelled by using the Ready Weapon key
  • Media:
  • Scripting:
    • Stricter compiler and compiler warnings. Error handling in the vanilla MW script compiler was very limited
      • A down side of this is that a few mods do not work without correcting their syntax errors (most often mistaken early closure of if-elseif-else structures); however, it is much easier to track down and fix these in OpenMW-CS than in the Bethesda's CS.
    • Function arguments can now be expressions of arbitrary complexity. Vanilla MW would not even allow simple variable arguments for some functions
    • Arbitrary limitations on code depth/size are not present anymore. For example, there was a limit on how deep you can nest if/endif clauses. And there was also a limit on the length of a if/endif block
    • Script variable values are stored by name in saved games, so that reordering or adding new script variables in a content file does not cause incompatibilities with existing save files.
    • More hooks for mod-makers to employ.
    • Scripts can effect actors that have not yet been loaded. This fixes a bug where a script that weakened Dagoth Ur with each Ash Vampire killed did not function outside of very specific circumstances.
    • Support for Lua scripting, with plans to emulate MWSE scripting and beyond.

Mods[edit]

OpenMW eliminates the need for some mods entirely; see the FAQs:

OMW is capable of running most mods that are well-implemented and which are not dependent on executable (.EXE, .DLL, or .COM) files that tamper with the original engine's behavior. Thus, OMW is not compatible with mods that rely on Morrowind Script Extender (MWSE or MSE), Morrowind Graphics Extender (MGE), their derivatives, or any other co-executables. Indeed, much of the inspiration for the project is implementing such capabilities natively into the game engine itself, rendering such hacks unnecessary. It has native support for some features and bug fixes from Morrowind Code Patch (MCP).

OpenMW is deliberately stricter when parsing scripts, and thus is far less forgiving of coding errors than the original engine. It will not compile mod scripts containing significant errors. This renders some old, sloppy mods incompatible without suitable patching, but makes OMW much more stable; crashes are rare.

OMW reads .ESP, .ESM, and .BSA game data files, and introduces a new plugin file format, .omwaddon. The latter can be used for making patches (including of .ESP mods) or for creating all-new mods (these are not compatible with the original Bethesda game engine).

OpenMW introduces multiple data directories, so that mods' content files remain in their own directories and do not contaminate those of the original game, though players may also move files into the game's own Data Files directory, the same way one would mod Bethesda's original game engine.

Mod loading order in OMW is (re)configurable, and is not dependent on file hacks (e.g. faking the creation dates) as the original Bethesda engine necessitated (though that limitation has long been avoidable with third-party mod management applications). OMW has its own built-in plugin manager for mods that are purely .omwaddon, or .ESP/.ESM; those that provide new resources in Data Files directories must have their load-orders managed in the configuration file. Mod-heavy gamers will generally manage this file by hand, anyway.

The new game engine supports proper specular and bump mapping techniques (i.e., textures that appear to have reflections and depth, allowing more realistic textures). While this makes for improved graphics over the original, it also supports mods that make use of MCP's bump mapping and environment map feature.

Unlike Bethesda's engine, with a hard limit of 255 mods (counting official DLCs as mods), OpenMW supports an effectively unlimited number of mods installed at any one time, up to the limits of available RAM.

Full compatibility with all Morrowind mods (without syntax errors and which do not rely on MWSE, co-executables, or exploitation of engine bugs) is a stated goal of the OpenMW project. Consequently, its development team maintains close relationships (e.g. bug tracking between projects) with those of major mod and patching projects like Tamriel Rebuilt and MCP. The OpenMW Forum also hosts many play-testers' solutions to working around issues encountered with particular mods, and the community maintains a mod compatibility list.

Support for Lua scripting in mods has been merged into OpenMW, but is not yet in the latest stable build. This implementation is not compatible with MWSE mods. Many potential features of OpenMW that do not relate to accurately implementing the original game are not being considered until after reaching the version 1.0 release milestone.

Compatibility & Testing[edit]

Darklocq has compiled documentation of his extensive mod compatibility testing, which he publishes on the OpenMW Wiki, this compatibility list is outdated with how newer versions improve mods compatibility regularly.

Other differences[edit]

The engine is also progressively fixing the bugs and misfeatures of the original Bethesda engine which led to the development of MWSE and MCP. This may affect some known exploits in the vanilla game, though the project's goals are to replicate "stock" gameplay as much as is reasonable.

OMW's native graphical rendering effectively makes redundant the MGE project for the original game engine, but OpenMW makes it available cross-platform, and in a project that can continue to be developed (instead of being tied to a hard-coded executable dating to 2002, which will eventually become incompatible with future versions of operating systems).

OpenMW uses its own savegame format, which is not compatible with original Morrowind save files.

There are two experimental third-party leveled list merging tools that support .omwaddon files, though one can merge lists with the usual Windows tools if only .ESP/.ESM files are involved.

Playthroughs and Demos[edit]

OpenMW is stable and feature-complete enough that it has been used to make playthrough ("Let's Play") videos.

From the developers:

  • Release Commentaries — summary description and demonstration of significant changes in new releases; for both OpenMW and OpenMW-CS
  • Feature-Specific Videos — often showcasing recently-implemented features which have yet to be released

Future development[edit]

Built-in support for leveled list merging is a Wishlist item for post-1.0 release, though volunteer developers are free to work toward implementing it sooner.

More goals for the project include adding new scripting capabilities that exceed those of MWSE, but this is also slated for after the v1.0 release.

It will also be ported to more Unix-like platforms, including *BSD, iOS, and Raspberry Pi; this is largely dependent on individuals attempting to compile it and providing feedback about issues that arise in the process.

OpenMW-CS remains rudimentary as of early 2017, and is primarily a debugging and tweaking tool at this stage, and very much experimental alpha-stage software.

There are plans to enable the engine to also be used to develop entirely new, distinct games, after the v1.0 release

OpenMW is also the client used for TES3MP, a multiplayer fork which has been in a playable state since July 2017.

If you encounter problems, then consider submitting bug-reports to help; the developers are keen to fix things, in order for OpenMW to become a comprehensive replacement. Feature ideas go on the Wishlist.