The week in review 2012-06-18 - ap0

Hello everyone !

The OpenMW team is proud to show you the early works done on multiple esp/esm loading : Solstheim! But don’t expect this feature for the 0.16, there are still a lot of thing to do.

Bloodmoon

Everything written last week is still true today but developers progressed with their tasks:

Some funny notes now:

  • Eli2 has done some work on head-tracking!? It’s just a POC, for fun. Don’t expect this to be merged into the master 🙂 We’d also like to remind new developers to consult the development team about tasks, because we need to focus on getting to 1.0 before we implement amazing new features.
  • Normally I wouldn’t post a picture of something going wrong, but this is too crazy not to share. When using the Better Bodies mod it seems every part of the bodies are being replaced by the entire body mesh of BB. Anyone inspired to make a Silent Hill mod?! It’ll be a while before OpenMW has all the features mods use, so expect things to be slightly wonky.

Fork me on GitHub
Interview! 2012-06-01 - ap0
Since our last interview is 3 years old, time has come for new one with some of our developers: zini, scrawl and Ace.

Hello, who are you?

Zini

Zini. More mundanely know as Marc Zinnschlag. Lead Developer of OpenMW a.k.a. the Benevolent Dictator.

Scrawl

I’m a hobby programmer mainly interested in graphics programming and shader development.

Ace

I happen to be Ace, the resident Windows builder.

How did you discover the project?

Zini

I honestly don’t remember. Been a long time ago. I guess I read about it in some forum. OGRE maybe?

Scrawl

Initially I discovered it a long time ago (some time in 2009 or so when the mailing list was created). Don’t remember where I saw it, probably a blogpost or article. Since then I always followed the news updates and was very excited about it (Morrowind being my favorite RPG and disappointment with the newer Bethesda games), but I never felt I had the skills to contributing. Back then all I knew was a little web development, I didn’t know C++ (or even D)

Ace

I think I was discussing open-source remakes with a couple of friends when I found it, it was still in D back then.

Why are you contributing ?

zini

I am one of the developers of a Morrowind-TC (total conversion), namely U9: Redemption. That obviously made OpenMW interesting to me. While we were working on Redemption we ran into more and more problems, because of the inherent bugginess of Morrowind. It was manageable at first, but got worse over time.

I started by doing some bug reporting and privately providing an internal snapshot of Redemption to Nico (the previous lead developer) for testing. Later I started to help with coding.

And then we ran into one big disastrous bug in Morrowind, that we somehow did not notice before :
In Morrowind, if you move a NPC to a different cell via a script instruction and the NPC’s original cell wasn’t loaded, the NPC will be loaded only partially. That will result in odd behaviour and a crash, if you talk to the NPC.

We honestly did not know that and it didn’t show up in the (small scale) test setups we had. Broke at least a dozen features.
At this point it became clear, that we wouldn’t be able to release the game with the features and at the quality level we had planned. So I shifted a lot of free time from Redemption to OpenMW and even took over leadership when Nico dropped out.

scrawl

In the meantime I had gathered quite some knowledge about game development in C++ (I started making some small games in python and then moved on to C++ as I got interested in 3D graphics). I have also worked a lot with the OGRE engine which is used by OpenMW (and I think is a pretty cool engine).

I have started contributing to OpenMW a few months ago because I felt someone with an expertise on graphics was missing – most easily supported by the fact that in 4 years of development, no one even bothered to make a simple sky renderer (which was one of my first contributions).

Ace

The project needed a windows package and at the time I happened to have a fully working build environment.

What are you currently working on?

Zini

Planning, scheming, giving directions and assistance, worrying, swearing and occasionally cleaning up other people’s garbage. The usual thing a lead developer does.

On the coding side of the job I am currently busy with sorting out the last bits of fallout from a rendering-subsystem refactoring we had a couple of releases ago.

scrawl

I will have to hold my horses with implementing kick-ass graphics until OpenMW 1.0 is released (more below). So currently I’m mostly working on GUI tasks. I’m quite familiar with MyGUI (the GUI engine used by OpenMW) and have only recently cleared up a big amount of incomplete or non-optimal things in the GUI. Now I want to implement all missing GUI windows completely and in all detail (currently working on the alchemy window)

Ace
I’m working on getting the loaded ESM records to save again, haven’t had much progress in a while (I blame university) but I’m hoping to have it done before the 0.16 release.

What’s the weirdest bug you’ve encountered so far?

Zini

Nothing major. As bugs go, OpenMW has been pretty tame so far.

Well, it is a bug in Morrowind and not in OpenMW, so it doesn’t really matches the question but anyway: In Morrowind, if you move a NPC to a different cell via a script instruction and the NPC’s original cell wasn’t loaded, the NPC will be loaded only partially. That will result in odd behaviour and a crash, if you talk to the NPC.
We honestly did not know that and it didn’t show up in the (small scale) test setups we had. Broke at least a dozen features.

scrawl

Can’t answer this one really, nothing big that i’ve encountered. The code base is pretty well organized thanks to our pragmatic leader which apparently has saved us from a lot of trouble.

Ace

I happened upon a weird one related to windows building around the time the audio refactoring happened, maybe a bit later. At the time the project built without a single error but still failed to link because of a supposedly missing function. I dug through the file in question for a while, checking and double checking that the function in question did in-fact exists.

In the end, after testing everything I could think of (Including renaming the function, moving it, changing arguments), I decided to try switching the forward declaration of the argument type from a struct to a class.
And lo and behold, suddenly the linker can find the function and successfully link the executable.

What do you dislike about openmw?

Zini

Nothing major again. The project had a somewhat messy start, but we have that under control now and its nothing more than a minor annoyance.
I don’t like how the work on the planned editor is delayed again and again. Everything else looks reasonably good.

scrawl

The lack of progress, overall. A wrong programming language being chosen following a rewrite in another language causing a huge slowdown. Developers going MIA and not coming back. Of course you can’t demand anything like that from an open source project, but I still find it a bit disappointing that after 4 years there is still no playable version. Luckily there’s been a substantial increase of development speed in the last months, so I’m very optimistic that OpenMW will eventually be released (but of course, never finished).

Ace

The fact that it’s not in a fully playable state yet.

How do you see a future of the project?

Zini

Finishing OpenMW 1.0 obviously, which will be a functionally complete replacement for Morrowind. After that we need to focus on a new editor, because having a construction set replacement available at source level is a requirement for almost any substantial improvement we are going to do after 1.0.

Then I would like to gradually improve OpenMW beyond what Morrowind can do. Extending existing features, moving away from hardcoded functionality, removing limits. That kind of stuff.

scrawl

The future.. I guess that’s the part we’re all most excited about and keeps us motivated to work on OpenMW. After OpenMW 1.0 is released, I want to bring the technical graphics in line with newer games such as Skyrim. Some people might think that improving graphics is not possible without providing better assets, but there’s a lot of stuff to go with. Some inspirations can be found in the MGE (Morrowind Graphics Extender) project.

But, from a developers point of view MGE totally SUCKS. Being able to design the whole rendering backend from the ground-up enables us a lot more possibilities. Only to mention a few things, that are all easily possible with OGRE and that I’m most excited about:

  • Seamless and infinite world LOD
  • Realtime soft shadows, deferred lighting with point light shadows, Ambient occlusion
  • Volumetric sunlight scattering (Godrays)
  • True High Dynamic Range (HDR)
  • High quality water rendering with real, moving geometry

Once these basic things are done, it really depends on the modders if the graphics will be improved further. Supporting newer mapping techniques (e.g. normal/parallax/specular maps) is no big deal at all, but there have to be some modders who actually produce these assets.
Being able to bring OpenMW to state-of-the-art graphics will not only increase immersion with the game world, I also think that it might lower the “entry barrier” to play morrowind and attract more players who didn’t discover morrowind for themselves yet (“Ugh, that looks like 2002… I’m not playing that”)

Ace

Hopefully breathing more life into the Morrowind modding scene, I’ve had a lot of fun in there. Even though none of my mods have ever been released to the public.

If you could change anything about Morrowind, what would it be?

Zini

If you mean Morrowind as a game: Everything or nothing. I often hear people saying that Morrowind is a great game. I don’t agree with that. I think Morrowind is coming damn close to being a great game in every aspect, but it just doesn’t manage to make the final couple of steps, in literally every aspect (okay, almost; the UI sucks and the lore rocks).

If you mean Morrowind as a modding/development platform: The whole implementation and the editor (which is actually what we are doing with OpenMW).

scrawl

Making it open-source. There are so many things wrong about morrowind that it can’t simply be fixed by changing “one” thing. If Bethesda released the sources that would simplify our work a lot (also considering all the game mechanics formulae that we have to reverse-engineer)

Ace

I would change their rendering engine so the game doesn’t run slower than Skyrim on my high-end desktop.

One more thing to say?

Ace
Avoid angering the gazebo gods.

Thank you for your time.

The Week In Review 2012-04-15 - OlderTroll

Raevol started a thread on the forum where developers write about what they are currently working on and what they are about to start. It was a terrific idea and should happen more often. So:

ACE
“Working on getting the esm records to save properly, right now some data is lost when saving so I’m working on tracking that down and hopefully being able to make close to byte-perfect copies.
Once I’ve gotten all that worked out I think I’m going to slip back to only being the Windows package maintainer for a while, perhaps see if I can build a new dependency package for windows developers.”

jhooks1
“Right now I am working on clothing/armor.

For .15 I hope to work more on the physics system that I showed off on youtube recently.

I also want to bring in some of Chris’ work on animating creatures. Of course though, if he wants to, he should take the lead in bringing them into openmw. Even if we can’t get Ogre’s animation system working, the way he is applying the bone weights is more efficient and may be able to be implemented into openmw.”

Chris is still trying to insert animations into ogre3d’s animation system and it actually sort of works. The main problem is that .nif file format used for Morrowind’s character models is closed source and have no documentation on how they are designed. To get the animations working Chris needs to reverse engineer everything himself.

OTOH collision with terrain works with the new physics jhooks implemented. That’s very good news for 0.15.0.

zini
“Working on the world model; data structures and preparations for game mechanics. Basically the non-exciting stuff. Wasn’t planning to do that for 0.14.0. originally, but people are chomping through the exciting stuff (graphics and the user visible parts of game mechanics) so fast, we were on the verge of running out of this kind of tasks that don’t have uncompleted prerequisite tasks.”

hircine worked on GUI for containers and inventory, but his C++ is a little rough. It was not a problem because gus stepped in to help. Now they have teamed up and everything looks good.

Oh, yes: gus finished with factions. It’s ready! More quests!

scrawl:
“I’m getting a little annoyed already by the graphics stuff, so I’ll take a break in terms of implementing some GUI elements that I’ve wanted to see for a long time. Mainly:
– Tooltips
– Door markers on the map
– Tooltip for the object that the crosshair points on”

Scrawl’s contribution is quite apparent in the 0.14.0 relase with things like the minimap, terrain (in cooperation with yacoby), pretty water and even more. Let’s clone 7 of you, scrawl!

The OpenMW team is approaching 0.14.0. We’re completing some unfinished tasks, moved other features to 0.15.0, and readying for the release party!

 

The Week in Retrospect 2012-04-09 - OlderTroll

Happy Easter to all our Christian friends! Happy Sunday to all our non-Christian friends!

Scrawl, our resident CG beast, is on the loose again. Just look at this screenshot.

Reflection can be turned off completely or individually for everything except sky and terrain. We can put an end to the question of whether OpenMW will be able to compete with MGE for improving graphics. OpenMW has the potential for amazing graphics improvements and doesn’t yet because we have more important tasks concerning the game engine and gameplay to do first. Maybe we’ll make some screenshots in full HD with eyecandy turned up high without the gui and cross hairs for wallpapers… but first we need to add option to turn off gui and cursor…

 

chris is trying to insert nif animations into ogre properly, which should give us a moderate increase in fps. He’s produced very nice results so far. I thought his expertise was just openAL, but it seems he is not new to the video game business.

Jhooks1 very recently started work on clothing rendering, not much to tell about it yet.
Kromgrat got bored with bugfixing so he started work on new feature: gui window pinning.

Zini finally got someone to work on the boring, but important, task of Record Saving. Thank you Ace!

gus is working on implementing factions. Hopefully soon we’ll be able to join factions and get quest their quests!

swick finished work on the initconfig.

lgro worked on bugfixes, because he currently lacks time to start larger tasks.

Corristo finished with his pathgrid rendering.

Mark76, the man who is singlehandedly making Crystal Scrolls (another Morrowind engine),  joined the OpenMW team last week. News about task He picked are coming (hopefully) soon.

 

Stardemon has also returned to the fold and is starting work on making new videos. Here’s just a quick test he did. It is titled 0.13.0, but it’s actually a snapshot of 0.14.0. Warning! Stardemon is pretty hyper in this video.  🙂

 

Finally, zini started working on a new gameplay feature that we’ll explain next week. Soon stay tuned :-]

The Week in Restrospect 2012-04-01 - OlderTroll

Who says it’s not all about looks? Version 0.14.0 is shaping up to be one sexy release. People, we’re getting terrain rendering, water rendering and possibly clothed npcs… sometimes it’s all about looks. Part of me is going to miss the floating houses, boats, and ruins when terrain is added, but I’ll forget them once I’m running around Morrowind freely. 🙂

Visuals:

scrawl is in the process of completing water rendering. He found a solution for displaying water in interiors cells, which was problem up till now. Now he’s back to working on occlusion and the Minimap to have it face the right orientation and some other polishing.

There is beginnings of an inventory gui thanks to hircine. Soon you’ll be able to see all that stuff you’re hoarding and face the reality, “Why do I have all this useless cutlery? I have 10 buckets, and 24 brooms?!? I don’t want to drop any of them… I think… I think I have problem.” Good, step one is admitting it has become a problem.

Ah yes, zini managed to get auto-equipping working. For now it is only putting the first suitable item on the npc, but soon we’ll see the glory of jhooks1 work on rendering clothed npcs!

The terrain branch has been merged to main so if you want to test it, just build the main.

Sound:

Chris’s epic sound redesign is going well. His branch was recently merged into main and he fixed the long-standing no sound bug.

Bugs:

ACE and Corristo are working on squashing them. Corristo fixed the 0.13.0 OSX launcher bug so path to the binary can contain spaces now and a bug affecting autodetection of Morrowind install on a mac. Please, if you’re trying out OpenMW and you find a bug, register on our bug tracker and submit it. OpenMW needs bug testers!

Initconfig:

swick is working on a morrowind.ini converter. His first version of it is completed and waiting to be reviewed by zini.

Physics:

jhooks1 has finally triumphed over the physics implementation. Work remains to be done, but it is leaps better than the previous implementation. Speaking of leaping, jhooks1 implemented jumping! Here is jhooks1 doing a well deserved victory lap after getting physics working.