OpenMW (Open source Morrowind)

22 replies [Last post]
OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9

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

brutal7
brutal7's picture
Offline
Contributor
Joined: 11/11/2010
Posts: 425
Thats interesting, but

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.

Clint
Clint's picture
Offline
Administrator
Joined: 05/04/2010
Posts: 988
Welcome

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

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
It's no problem if you can't

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

 

 

ironman12345
ironman12345's picture
Offline
Moderator
Joined: 08/30/2011
Posts: 1512
I am impressed,that mountain

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

 

brutal7
brutal7's picture
Offline
Contributor
Joined: 11/11/2010
Posts: 425
Mods

Will current morrowind mods work with this

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
The mountain village just

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.

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
July's update

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:

Quote:

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

RammS
RammS's picture
Offline
Contributor
Joined: 05/24/2011
Posts: 311
Keep up a good work, guys!

Keep up a good work, guys!

Sjors Boomschors
Sjors Boomschors's picture
Offline
Contributor
Joined: 07/21/2011
Posts: 517
@OpenMW:

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

Clint
Clint's picture
Offline
Administrator
Joined: 05/04/2010
Posts: 988
Did you just say for Mac? You

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?

EnvyDeveloper
EnvyDeveloper's picture
Offline
Contributor
Joined: 04/07/2011
Posts: 366
If you guys can improve the

If you guys can improve the combat and AI, I'll be so happy.

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
Thanks for the support

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.

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
Thanks for the support

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.

Sslaxx
Sslaxx's picture
Offline
Newbie
Joined: 05/27/2012
Posts: 2
0.17.0 has been released.

Noticed that they've released 0.17.0 the other day. http://openmw.org/2012/08/27/openmw-0-17-0-released/

RammS
RammS's picture
Offline
Contributor
Joined: 05/24/2011
Posts: 311
Water looks really cool

Water looks really cool

Mehh
Mehh's picture
Offline
Moderator
Joined: 08/12/2012
Posts: 1164
Dat water!

Dat water!

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
Version 0.18.0 Released.

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

RammS
RammS's picture
Offline
Contributor
Joined: 05/24/2011
Posts: 311
Great progress guys!

Great progress guys!

Sjors Boomschors
Sjors Boomschors's picture
Offline
Contributor
Joined: 07/21/2011
Posts: 517
It very nice to see OpenMW is

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.

Sjors Boomschors
Sjors Boomschors's picture
Offline
Contributor
Joined: 07/21/2011
Posts: 517
I see v0.19 is out.Cant wait

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.

OpenMW
OpenMW's picture
Offline
Newbie
Joined: 07/03/2012
Posts: 9
Version 0.19.0

@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

Sjors Boomschors
Sjors Boomschors's picture
Offline
Contributor
Joined: 07/21/2011
Posts: 517
Just to keep everyone updated

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.

https://openmw.org/en/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Syndicate content