Mine

Join the team. This area is for people who want to participate in OpenMW's development in one way or another.
affine
Posts: 9
Joined: 04 Jan 2013, 23:38

Mine

Post by affine »

Hello everyone.

My name is Tom. I have extensive knowledge and experience with C++ game/engine development. Currently I'm working on my own game engine, as I have plenty of time during winter break off from college classes. Some of you may know me from #openmw, and I'm here finally making a post.

I'm not necessarily committing to anything by posting this, by the way. Convince to work and I will work :)

About a week ago I did some graphics stuff with PCSS shadows, which is what Cryengine3 and some other engines use for their shadow map sample filtering. Here are two pics:
http://i.imgur.com/LBa34.jpg
http://i.imgur.com/t0Ic2.jpg

^^ Notice the perceptually correct penumbra size as the distance away from the shadow caster and light source is greater, and it also varies with the area of the light source.

I've done a bit of GUI stuff in Qt as well, but I don't enjoy it much :) I was making a UDK/Maya-like material editor:
http://i.imgur.com/ZWcI2.jpg

I take more of an interest in areas other than graphics, though, and personally prefer writing other systems such as AI or animation. Threading and optimization is also a big interest of mine :) And incidentally so is engine architecture. Most recently I've been writing some multiplayer code for my engine.

What I'd like to do:
Some cool stuff that nobody else can or wants to do. Features along the lines of multiplayer (some of you just cringed,) AI, animation, or whatever systems you have left to write, I'd likely be willing to help out with. Even if it's a massive pain in the ass. I love Morrowind so much and still periodically play it, so my potential motivation for this project is quite high.

Ideally some team members could drop by on #openmw and have a discussion with me. I enjoy talking about programming, and it'd be nice to meet some of the people on this project :)
User avatar
Zedd
Posts: 288
Joined: 05 Sep 2012, 12:08

Re: Mine

Post by Zedd »

Hello Tom, welcome to the community.

I hope you enjoy your time here, if you get involved in work here it would be handy to keep us updated whenever real life comes up to take away your time on the project.

Now:
affine wrote: Some cool stuff that nobody else can or wants to do.
That cool stuff you're talking about will be entirely to yourself to decide, I guess most devs have their own specific preferences when it comes to parts of a program, I suggest you take a look at our roadmap and see for yourself what you would like, reading recent forums also should give you a heads-up about needed tasks, not to say Zini will soon give you a few suggestions.
Normally, if you have enough experience to set up the environment without many problems you should be ok to chose a task as you see fit.
Speaking of which, a new member wanher said to update the 'how to:environment setup' page on the wiki, it seemed it was outdated, but has been gone for a while now and knowing how developers come and go, it could be for quite a while. I'm hinting that maybe you could be interested, if you want to.

Any words about the engine you're making? I'd like to see the project page, of is it in a too early stage? :)
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Mine

Post by Zini »

Welcome.

I guess we could use some help in the animation department. Chris is the guy to talk to here.

We are not ready for AI yet, so if you want to have something tricky other than animation, then you would be left with bug fixing for now:

* Incorrect physics obstacle near the origin
* Parts of dwemer door not picked up correctly for activation/tooltips
* Extreme shaking can occur during cell transitions while moving
* Sliding stairs

Or, if your aversion against GUIs doesn't cover the in-game GUI:

* Advanced Journal GUI


btw. we are doing most of the development discussion on the forum.
affine
Posts: 9
Joined: 04 Jan 2013, 23:38

Re: Mine

Post by affine »

I wrote this really nice post on multiplayer, but it was deleted after going right-aligned while I was typing it.

Long story short: multiplayer is possible as long as other systems don't care what code paths are executed by the client. This includes animation and sound.

My engine is coming along well. I keep rewriting core components, but hopefully one day it'll be finished :) it's more of a pet project than anything. Its architecture is a bit like Doom3's, but the networking itself is more like Quake3's. Right now I'm working on the renderer, which is quite a pain in the ass to manage when it is on its own thread :) but oh-so worth it (considering rendering is on average 50%+ of the frame time.)


Honestly my primary concern with this is that its architecture is not at all well-defined (systems read/write from each other wildly) and therefore rampant with bugs and difficult to understand. About half of this concern is stemmed from the fact this project is FOSS (I make no apologies for this ;) ) and the other half is the fact that some strange bugs are reported that simply shouldn't exist. Don't get me wrong, lots of good software is FOSS, but most of it screams "some assembly required" even after final releases.

Why is so much effort spent attempting to maintain runtime compatibility with vanilla Morrowind? Why make the systems identical? AI shouldn't have anything to do with physics or animation, and yet some people on #openmw tell me this is so.
Also, what's with the dependencies on libraries such as boost? You should never use boost :)
affine
Posts: 9
Joined: 04 Jan 2013, 23:38

Re: Mine

Post by affine »

I went to the Balmora Fighter's Guild and saw the problem. Response here: http://bugs.openmw.org/issues/502

This one too: http://bugs.openmw.org/issues/416
User avatar
Zedd
Posts: 288
Joined: 05 Sep 2012, 12:08

Re: Mine

Post by Zedd »

Chris is indeed searching for some help -> http://forum.openmw.org/viewtopic.php?f ... 814#p12814
Be sure to check it out.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Mine

Post by Zini »

AI shouldn't have anything to do with physics or animation, and yet some people on #openmw tell me this is so.
AI in Morrowind mostly means moving, i.e. walking for your average NPC. Having an NPC walking involves physics and animation.
affine
Posts: 9
Joined: 04 Jan 2013, 23:38

Re: Mine

Post by affine »

Zini wrote:
AI shouldn't have anything to do with physics or animation, and yet some people on #openmw tell me this is so.
AI in Morrowind mostly means moving, i.e. walking for your average NPC. Having an NPC walking involves physics and animation.
AI should simulate player input, and nothing more. The animation should be automatic. This was a good read: http://dev.johnstevenson.co.uk/bots/205 ... na-Bot.pdf

The navigation "mesh" is really just a graph that can be traversed by A*. It should have nothing to do with the collision geometry. Collision geometry is far too complex, and is totally different in nature. Nav meshes can be concave and open, whereas collision shapes must be convex and closed. The "mesh" may crudely resemble the physics world, but in reality it's just a hint to the bot as to where it can go and not a hard rule.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Mine

Post by Zini »

AI should simulate player input, and nothing more. The animation should be automatic.
Yes, but that still needs to be implemented. And without it you have no way to verify that your AI implementation works.
affine
Posts: 9
Joined: 04 Jan 2013, 23:38

Re: Mine

Post by affine »

Sure you do. It's called incremental solving :) every frame you check and see if you're closer to your goal, and if so, assume everything is good and you didn't fall off a cliff. As along as the nav mesh is valid (and it should be) then you shouldn't ever assume the paths generated based off it are invalid in any way.
Post Reply