OpenMW (Open source Morrowind)
Hey everyone,
I thought you might be interested in a project that also seeks to preserve and extend Morrowind. OpenMW is a new game engine for the role playing game Morrowind. It is open source, cross platform (currently supporting OS X, Linux, and Windows), and written in pure c++. We are designing an engine that runs faster and is vastly more modifiable. We want to preserve Morrowind and provide modders with a better engine and tool kit for creating their works. While Bethesda will not release Morrowind's formulas to us, they encourage our project and we in turn actively encourage our users to purchase Morrowind on Steam. So don't worry; we're not out to destroy Bethesda Softworks.
Primary Goal: Our initial goal is to create a functioning engine for playing Morrowind, Tribunal, Bloodmoon, and all user created mods. This will be version 1.0 of OpenMW and it is our team's most important goal. We are past the halfway point to 1.0.
Future Goals ( post 1.0 ):
Allow much greater modability: change game rules, create new spell effects, etc through advanced scripting.
Fix system design bugs, like the “dirty” GMST entries in mods, and the savegame “doubling” problem.
Continue improving performance
Improve the interface and journal systems.
(Possibly) Improve game mechanics, physics, combat and AI.
(Possibly) Support multiplayer at some point.
(Possibly) Improve graphics to use more modern hardware.
OpenMW is released under the GNU General Public License version 3, and
all source code has been written completely from scratch. It is built
on various other open source tools, most notably OGRE for graphics, and
Bullet for collision (and possibly physics).
Development Status
OpenMW is in the intermediate stage. There is terrain, cell, and water
rendering as well as collisions and animations. Some work has been done
on playable elements. We are at the point where we can now begin
implementing many skills, attributes, and abilities.
Official Youtube Channel
Official gallery
Official roadmap
What Technologies Does OpenMW Use?
OpenMW is built with various open source tools and libraries:
Programming language: C++
Graphics: OGRE3d
Physics: Bullet
Sound: OpenAL and Audiere
GUI: MyGUI
Input: OIS
The ESM/ESP and BSA loading code was written from scratch, but with much help from available community-generated documentation.
Likewise, the NIF (proprietary 3D mesh) loading code was written
with the help of available online information. Special thanks to the
NIFLA / NifTools gang!
(For an additional list of the technologies in use, see Development Environment Setup: Third-Party Libraries and Tools.)
How to Help
Join the official OpenMW forum and visit our #openmw IRC channel at
FreeNode. Tell your friends about our project!Checking out our Issue
Tracker and submitting a patch for a bug is a good way to get started.
We are looking for individuals with the following skills or experience
with.
C++
Qt
Ogre3d
Bullet physics library
Netimmerse/Gamebryo engine (especially Morrowind)
Bug hunting
Reverse engineering gameplay formulas
Where to Find Us:
OpenMW Homepage: Openmw.org
For New Developers: Openmw.org
Chat @freenode Freenode.net #openmw
Thats interesting, but Morrobliviskyrim is a project of bring morrowind and oblivion to the Skyrim engine not just polishing morrowind up. Though I wish you well, I think I am going to stick with morrobliviskyrim. Maybe in the future, if I see anything that looks greatly different than normal Morrowind in your project, I may try it. Also if you manage to update morrowinds graphics to modern standards I will praise you forever.
Hey, I remember checking out your guys' project years ago, sounds awesome! Wish you best of luck! Look forward to the day where I can play Morrowind natively on Mac or Linux and where the combat can be made better.
I'm not sure how we can be of help, but if there is something we can help you out with, let us know 
It's no problem if you can't help out. We're just raising awareness of a somewhat related project.
We are taking the "if we build, the modders will come" approach. We think that modders from the Morrowind community (as well as the Oblivion and Skyrim communities) will like the of freedom our project offers. You could see radically different mods or total conversions coming from OpenMW.
The engine is based off of well known open source projects and libraries with ecosystems of open source and freeware utilities and users. So experienced developers could extend OpenMW's graphics (and combat) substantially. We use Ogre3d as our renderer. The neoaxis engine uses Ogre as well and here are some videos of what they've accomplished. http://www.neoaxis.com/neoaxis/videos
I am impressed,that mountain village video,looks a lot like Skyrim,with NPC`s added it would realy come to life.
If that vid is a demo of what can be done then morrowind done like that would be cool!.
Will current morrowind mods work with this
The mountain village just shows what's possible using the ogre3d renderer. So we'll have to wait and see what graphical niceties people develop.
The plan is to support all existing mods and the script extenders.
Though there won’t be a new release for July, we've had some major improvements.
The new animation system has been merged into the
main branch of the engine and is awaiting testing. jhooks1 and Chris’s
work should prove a more effecient animation method and boost OpenMW’s
frames per second.
Although OpenMW had animations for awhile, the old system did not use
the built in animations system of Ogre3d (OpenMW's renderer). Instead
OpenMW manually moved all NPC and creature bones. This was both
inefficient and also caused some errors in creature animations. This was
especially true for Bloodmoon’s werewolf animations which looked really
bizarre. But now we're using Ogre3d and those problems should be behind
us.
Chris also improved the handling of the nif file format which was a
prerequisite to animating meshes, and anything else related to nifnodes,
correctly.
scrawl spent a lot of time working on shaders this month. We employ
shaders to render our skybox, water, terrain, and soft shadows. Scrawl
refined the first two, resulting in marked visual improvements over the
original Morrowind and also reduced the amount of code for our terrain
implementation by 75%. THREE CHEERS FOR EFFICIENCY!!!
scrawl's main focus was the creation a new shader library called
"shiny", which was also recently merged into the main branch. What does
that mean for OpenMW? Well, until now we have been using the Nvidia CG
toolkit. This toolkit works with DirectX and OpenGL on all graphics
cards. However, only Nvidia cards get good performance with it (which is
understandable since its developed by Nvidia). OpenMW needs both
DirectX and OpenGL support because Radeon graphics cards (made by amd)
lack quality OpenGL drivers. Otherwise we’d just write our shaders in
OpenGL. To make matters worse, CG is closed source and available only
for Linux, windows, OSX and not BSD.
To avoid using CG many game developers write all their shaders twice: in
GLSL for OpenGL and in HLSL for DX or just ignore OpenGL and focus on
DirectX. This duplication of work is obviously a waste of time. Scrawl's
new shader library called “shiny” allows developers to write a shader
once and then compile it as either GLSL or HLSL. A more elegant solution
to the AMD graphics cards, will make the lives of developers easier,
and allow for many beautiful new shaders in the future. But that’s not
all, here’s scrawl detailing the new library’s design and features:
- High-level layer on top of OGRE’s material system. It allows you to generate multiple techniques for all your materials from a set of high-level per-material properties.
- Several available Macros in shader source files. Just a few examples of the possibilities: binding OGRE auto constants, binding uniforms to material properties, foreach loops (repeat shader source a given number of times), retrieving per-material properties in an #if condition, automatic packing for vertex to fragment passthroughs. These macros allow you to generate even very complex shaders (for example the Ogre::Terrain shader) without assembling them in C++ code.
- Integrated preprocessor (no, I didn’t reinvent the wheel, I used boost::wave which turned out to be an excellent choice) that allows me to blend out macros that shouldn’t be in use because e.g. the shader permutation doesn’t need this specific feature
- User settings integration. They can be set by a C++ interface and retrieved through a macro in shader files.
- Automatic handling of shader permutations, i.e. shaders are shared between materials in a smart way.
- An optional “meta-language” (well, actually it’s just a small header with some conditional defines) that you may use to compile the same shader source for different target languages. If you don’t like it, you can still code in GLSL / CG etc separately. You can also switch between the languages at runtime.
- On-demand material and shader creation. It uses Ogre’s material listener to compile the shaders as soon as they are needed for rendering, and not earlier.
- Shader changes are fully dynamic and real-time. Changing a user setting will recompile all shaders affected by this setting when they are next needed.
- Serialization system that extends Ogre’s material script system, it uses Ogre’s script parser, but also adds some additional properties that are not available in Ogre’s material system.
- A concept called “Configuration” allowing you to create a different set of your shaders, doing the same thing except for some minor differences: the properties that are overridden by the active configuration. Possible uses for this are using simpler shaders (no shadows, no fog etc) when rendering for example realtime reflections or a minimap. You can easily switch between configurations by changing the active Ogre material scheme (for example on a viewport level).
- Fixed function support. You can globally enable or disable shaders at any time, and for texture units you can specify if they’re only needed for the shader-based path (e.g. normal maps) or if they should also be created in the fixed function path.
Since shiny is designed for
the Ogre3d rendering engine, it may have a bright future beyond OpenMW.
Huzzah for open source!
Take a look at the new water shader scrawl made using the “shiny” shader library.


http://wiki.openmw.org/index.php?title=Screenshots
If all that is not awesome enough, there’s more.
Zini, our fearless leader, finished up the potion usage task so that
when drinking a potion the correct sound effect is played. As well as
the magical effects drain and fortify. Additionally, zini refactored the
action class and the code for dynmaic statistics. While working on
refactoring he discovered many unnecessary “includes” in the source
code. Don’t worry about what includes are, all you need to know is they
cause slow downs in compile times. Many users complain that it takes
forever to compile and build OpenMW. Removing these unnecessary
“includes” improved build times by nearly half.
Corristo made sure that OpenMW still works for you OSX users out there.
There were mac specific bugs that should now be resolved.
We also picked up some new developers. _greye finished his first task
(making CreatureStats into a class) in a single day. Then he picked
another one (maintenance in the item dropping code) and finished that in
a short period of time. Both were very well done, so thank you _greye
and welcome to the team!
nhydock, another new developer, has taken the camera control task (which is composed of four or five subtasks).
Reverse engineering formulas is going well with several close to
completion (some things still need to checked and verified) thanks to
the efforts Myckel, Lazaroth, Tarius, and Epsilon who are designing our
formulas. It’s great work and we welcome them to the team. Reverse
engineering formulas requires testing to see if they accurately describe
Morrowind's behavior. Epsilon is developing scripts to speed up the
testing phase exponentially. BrotherBrick is using his powerful server
to calculate data points. We still need additional help on this front,
so if you have an extra computer and want to run some tests that would
be very useful.
Keep up a good work, guys!
@OpenMW:
I Can’t wait for OpenMW to become somewhat playable, with working quests and stuff. I got v001 (27-05-2008) upto v016 (30-06-2012) on my pc.
Did you just say for Mac? You just sold me 
Edit: Looking good guys, looking good! Thanks for keeping us up to date. When do you guys expect a version 1.0 release?
If you guys can improve the combat and AI, I'll be so happy. 
Thanks for the support everyone.
When do you guys expect a version 1.0 release?
We are hoping a year to a year and a half till it's really playable. We've come far since the start of the year and we still have five more months. 1.0 might be after that as we'll be doing a considerable amount of bug squashing and optimizations.
If you guys can improve the combat and AI, I'll be so happy.
The core OpenMW team is working just on compatibility and getting it to the 1.0 status. That said, OpenMW will allow developers and modders the power to change anything they want. So yes, I'm sure people are going to improve both of those things. I hope there are some wild modders out there who make it things like z-targetting from zelda, squad based combat, god of war/devil may cry style game play. We'll see how ambitious the modding community is.
Thanks for the support everyone.
When do you guys expect a version 1.0 release?
We are hoping a year to a year and a half till it's really playable. We've come far since the start of the year and we still have five more months. 1.0 might be after that as we'll be doing a considerable amount of bug squashing and optimizations.
If you guys can improve the combat and AI, I'll be so happy.
The core OpenMW team is working just on compatibility and getting it to the 1.0 status. That said, OpenMW will allow developers and modders the power to change anything they want. So yes, I'm sure people are going to improve both of those things. I hope there are some wild modders out there who change the combat to be like z-targetting from zelda, or squad based combat, or god of war/devil may cry style game play. We'll see how ambitious the modding community is.
Noticed that they've released 0.17.0 the other day. http://openmw.org/2012/08/27/openmw-0-17-0-released/
Water looks really cool
Dat water!
The OpenMW team is proud to announce the release of version 0.18.0!
Release packages for Ubuntu are now available via our Launchpad PPA.
Release packages for other platforms are available on our Download page.
This version introduces a myriad of new features, including Level-Up,
Key re-binding, Spell buying, eating ingredients, using Keys to open
things, and much more. Read on for the full changelog.
WeirdSexy stars again in the 0.18.0 release video:
https://www.youtube.com/watch?feature=player_embedded&v=LdEThh8efGs

Known Issues:
The launcher can crash on OS X versions < 10.8, this will be fixed in version 0.19.0
“Shaking screen effect” can occur on cell change
Changelog:
Implemented Level-Up dialog
Implemented Hide Marker, fixes big black blocks
Implemented Hotkey dialog
Implemented Keyboard and Mouse bindings, input system rewritten
Implemented Spell Buying Window
Added support for handling resources across multiple data directories
Implemented Object Movement/Creation script instructions
Initial AI framework implemented
Implemented eating Ingredients
Implemented Door markers on the local map
Implemented using Keys to open doors/containers
Implemented Loading screens
Implemented Inventory avatar image and race selection head preview
(note that only default Dunmer male displays at the moment)
Fixed the size of Preferences menu buttons
Fixed Hand-to-hand always being 100
Fixes for NPC and character animation
Fix for sound coordinates
Fix for exception when drinking self-made potions
Fix for clothes showing up in 1st person
Fix for weird character on door tooltips
Collision fixes
Fix for “onOfferButtonClicked” crashy7
Great progress guys!
It very nice to see OpenMW is only four versions away from becoming a stable playable game. I expect I will be playing OpenMW before the end of the year.
I see v0.19 is out.
Cant wait for v0.20 as it will include some basic NPC AI, Combat and some animations. OpenMW is almost getting some real life to it. Keep up the work, you are all making good progress.
@Sjors
Yeah, thanks for updating folks. I think it's safer to say that we'll have something feature complete (hopefully) by the end of 2013. Then after that the engine will mature and get performance improvements, enhancements, and become more stable. Also, we hope there will be an explosion in participation and that by the end of 2014 some truly interesting things will have happened.
The OpenMW team is proud to announce the release of version 0.19.0! Release packages for Ubuntu are now available via our Launchpad PPA. Release packages for other platforms are available on our Download page. This version introduces Sleeping, Potions, DEATH!!, Spell Creation, Travel, and many other features.
Check out our release video by WeirdSexy.
Known Issues:- Launcher crashes on OS X < 10.8
- Extreme shaking can occur during exterior cell transitions for some users
Changelog:- Implemented sleep/wait
- Further implementation for alchemy/potions
- Implemented death
- Implemented spell creation and spell creation window
- Implemented travel and travel dialogue
- Implemented first layer of global map
- Implemented trainer window
- Implemented skill increase from skill books
- Implemented ESM/ESP record saving
- Fix for Character shaking in 3rd person mode near the origin
- Implemented gamma correct rendering (does not work without shaders)
- Fix for fortify attribute effects on the last 3 attributes
- Fix for NCC flag handling, fixes some collision issues
- Sort birthsign menu alphabetically
- Various fixes/cleanup for the launcher
- Fix for sound listener position updating incorrectly
- Implemented dynamically generating splash image list
- Fix for markers interfering with raycasting
- Fix for crash after picking up items from an NPC
- Launcher crashes on OS X < 10.8
Just to keep everyone updated OpenMW v0.23 is out! They made some really nice new features possible and fixed a ton of bugs. Old school Morrowind is getting more playable by the week.
