Fixing the 64x64 cell havok bug. For when you just want a bi

Post » Tue Jun 19, 2012 12:19 pm

I don't think too many actual end users will really complain if they can't see for 18 miles anyway, providing any mountains you put in the way look awesome. So long as the impassable bits just say to the player - "you're never gonna be able to climb this dude" or the possible "snowstorm of doom will wipe you out if you try" as seen on the Throat Of The World. It's almost a shame mind, that we don't have Fallout's option of irradiated areas...

"..dear Bethesda, please write nuclear holocaust into the official, canon lore of Tamriel as it's easier than you fixing the stupid bug"

Then again I'm totally putting impassable ash storms and lava rivers into the Morrowind map.
It's possible to make damaging snow storms or whatever, so that's always an option. Either by triggers, attaching to meshes or just a scripted radius, you can get it to behave a lot like radiated areas (just damaging health instead).
User avatar
Teghan Harris
 
Posts: 3370
Joined: Mon Mar 05, 2007 1:31 pm

Post » Tue Jun 19, 2012 10:38 am

Yeah, I suppose the only issue is areas where you don't want snow. Mountains are kinda easy for that I guess since it's pretty much a given they'll be snowy at the top. I guess sandstorms are an option for desert regions. Not really sure about much else, I guess rivers can be an option although a bit cheaper since they generally appear passable.. unless you fill them with various forms of death.
User avatar
El Goose
 
Posts: 3368
Joined: Sun Dec 02, 2007 12:02 am

Post » Tue Jun 19, 2012 5:57 am

A fast and wide flowing river would be a barrier to anyone really, given that our characters patrol about in full armour carrying masses of weaponry in an invisible bag that makes everything in it invisible as well. ;)
User avatar
trisha punch
 
Posts: 3410
Joined: Thu Jul 13, 2006 5:38 am

Post » Tue Jun 19, 2012 12:31 pm

Good point. Hooray for continuity!
User avatar
JUan Martinez
 
Posts: 3552
Joined: Tue Oct 16, 2007 7:12 am

Post » Tue Jun 19, 2012 5:20 am

I seem my name attached to this thread though I'm not sure exactly what the problem is for me to help try and solve. Also didn't read the whole thread so not clear on all of this.

It sounds like you are encountering limits of floating point precision in representing X,Y coordinates. Bethesda represents position in the world with a http://en.wikipedia.org/wiki/Single_Precision floating point number. As result you only have 22 bits of mantissa to work with in each direction. Each cell is 4096 units and we have 256. That is about 20 bits of precision and then a little extra for sub 1 unit and poof you're close to being out of bits to work with. Not sure this is correct interpretation but its the first thing that comes to my mind.

Edit: The issue I'm think of is the http://en.wikipedia.org/wiki/Machine_epsilon value where (1.0 + epsilon = 1.0) due to round of error. The article says we have 24 bits before that becomes an issue but still sounds about right to me.
User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Tue Jun 19, 2012 3:57 pm

I seem my name attached to this thread though I'm not sure exactly what the problem is for me to help try and solve. Also didn't read the whole thread so not clear on all of this.

It sounds like you are encountering limits of floating point precision in representing X,Y coordinates. Bethesda represents position in the world with a http://en.wikipedia.org/wiki/Single_Precision floating point number. As result you only have 22 bits of mantissa to work with in each direction. Each cell is 4096 units and we have 256. That is about 20 bits of precision and then a little extra for sub 1 unit and poof you're close to being out of bits to work with. Not sure this is correct interpretation but its the first thing that comes to my mind.

Edit: The issue I'm think of is the http://en.wikipedia.org/wiki/Machine_epsilon value where (1.0 + epsilon = 1.0) due to round of error. The article says we have 24 bits before that becomes an issue but still sounds about right to me.

Summary: The issue is with, and only with, NPC's and Creatures - not the PC on the x-axis only. Once you exceed 4 quads (-64, 64) the havoc animations go... crazy shall we say. Clipping through the ground or freezing entirely (freezing is the common action, or rather inaction).

It very well could be a precision issue, but I was watching your thread on the custom animation havocs and had a thought that perhaps there may be something in the way the havocs are set up in NPC/Critters that may be the problem (or part of) and that if you can decode the full hkx we might find the problem, or at least get pointed to in the right area that some coder might be able to come up with a solution (or perhaps the SKSE crew could take a whack at fixing).

The other thought I had was that perhaps the fix for the navmesh issue that Bethesda has said they're working on might also solve the problem.

What we're trying to do in this thread (though we keep side tracking ourselves. :P) is find a solution (or 3) to the problem and/or figure out what the exact problem is so someone with mad leet skillz can fix it since Bethesda has said they're not going to (at this time at any rate).

Hence, your name came up, by me. Blame Canada, er, me. ;)
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Tue Jun 19, 2012 2:10 pm

Hey no problem. I'd be happy to help if I better understood the issue and I do have my fingers pretty deep in the Havok code to extract the class definitions and could probably manipulate any data (code is slightly harder) at this point if required but not sure its required yet. Its curious that its x axis only but I wouldn't be surprised to find some round off somewhere creating this.

To be fair to Bethesda, I'm guessing its not that easy to solve if I'm on the right track with the round off error. I think it would tend to cause that kind of behavior. Really they need to move to doubles or multiple factors but that would be a lot of work I would guess.
User avatar
Stephanie Nieves
 
Posts: 3407
Joined: Mon Apr 02, 2007 10:52 pm

Post » Tue Jun 19, 2012 4:41 am

The problem with a numeric range/precision issue is that if this were the case you'd expect the problem to apply in both X and Y co-ordinate ranges, whereas in fact it only seems to affect the X co-ordinate. At least, this is my understanding.
User avatar
butterfly
 
Posts: 3467
Joined: Wed Aug 16, 2006 8:20 pm

Post » Tue Jun 19, 2012 1:54 pm

Hey no problem. I'd be happy to help if I better understood the issue and I do have my fingers pretty deep in the Havok code to extract the class definitions and could probably manipulate any data (code is slightly harder) at this point if required but not sure its required yet. Its curious that its x axis only but I wouldn't be surprised to find some round off somewhere creating this.

To be fair to Bethesda, I'm guessing its not that easy to solve if I'm on the right track with the round off error. I think it would tend to cause that kind of behavior. Really they need to move to doubles or multiple factors but that would be a lot of work I would guess.

@The Hologram. This is the original forum thread by MERP leader Maegfaer. Please be sure to watch the YouTube video he has linked in, in order to see the problem in all its (in)glorious splendour:
http://www.gamesas.com/topic/1351453-gamebreaking-bug-for-worldspaces-bigger-than-4-quads-in-width-thread-2/

Hope you can help solve this.
User avatar
Sunny Under
 
Posts: 3368
Joined: Wed Apr 11, 2007 5:31 pm

Post » Tue Jun 19, 2012 2:39 pm

Has anyone tried these settings yet, I havent had five minutes to do so since they were posted (getting my son off the PC is like trying to prise a limpet off a stone).

fMaxTime:HAVOK (default: 0.01666)
fWarmStartMaxTime:HAVOK (4.0)
fTimePerSubStep:HAVOK (0.008)
fMaxTimeComplex:HAVOK (0.033)
iMinNumSubSteps:HAVOK (8)
uMaxNumPhysicsStepsPerUpdate:HAVOK (3)
uMaxNumPhysicsStepsPerUpdateComplex:HAVOK (1)
As posted by Shade-Me
User avatar
Campbell
 
Posts: 3262
Joined: Tue Jun 05, 2007 8:54 am

Post » Tue Jun 19, 2012 6:45 am

tested at cell -70,70 in my world and the bandit I spawned still falls through the ground
User avatar
Maya Maya
 
Posts: 3511
Joined: Wed Jul 05, 2006 7:35 pm

Post » Tue Jun 19, 2012 5:39 am

The problem with a numeric range/precision issue is that if this were the case you'd expect the problem to apply in both X and Y co-ordinate ranges, whereas in fact it only seems to affect the X co-ordinate. At least, this is my understanding.
True but one more thing that came to mind is that when exporting havok collision objects in NIF format we have to apply an additional 69.9912 scaling factor to it in some situations. In Oblivion this was 6.9969. This combined with the other factors is 24 bits. log( 4096*64*70) / log(2) = 24.1

Again not sure if the 69.9912 is in play and doesn't quite explain why Y axis works. Perhaps that scaling factor is not evenly applied.

So did Oblivion do better in terms of overall worldspace? Could it be a factor of 10x?
User avatar
Neko Jenny
 
Posts: 3409
Joined: Thu Jun 22, 2006 4:29 am

Post » Tue Jun 19, 2012 7:37 am

Yes Oblivion worked perfectly over all three axis for NPC and player alike. I have a mod making use of the entire 16x16 quad grid and there are no ground clipping issues.

I am quite surprised that none of the devs who occasion the forum have chipped in to say

"Your problem is ....... and it can be fixed with ..............."
or even

"Your problem is ....... and sorry but it cant be fixed"
User avatar
Trish
 
Posts: 3332
Joined: Fri Feb 23, 2007 9:00 am

Post » Tue Jun 19, 2012 6:43 am

True but one more thing that came to mind is that when exporting havok collision objects in NIF format we have to apply an additional 69.9912 scaling factor to it in some situations. In Oblivion this was 6.9969. This combined with the other factors is 24 bits. log( 4096*64*70) / log(2) = 24.1
Yeah, noticed that meself - Doesn't seem to have much bearing on this issue, apart from affecting the havok broadphase's AABB (which in turn buggers other parameters like gravity, etc).

EDIT: To clarify, reverting to Oblivion's factor doesn't fix the problem.
User avatar
Nathan Maughan
 
Posts: 3405
Joined: Sun Jun 10, 2007 11:24 pm

Post » Tue Jun 19, 2012 6:18 am

... apart from affecting the havok broadphase's AABB.
Winner. Please lock thread ;)
User avatar
lexy
 
Posts: 3439
Joined: Tue Jul 11, 2006 6:37 pm

Post » Tue Jun 19, 2012 8:38 am

Winner. Please lock thread :wink:
Um, beg pardon?
User avatar
Neko Jenny
 
Posts: 3409
Joined: Thu Jun 22, 2006 4:29 am

Post » Tue Jun 19, 2012 6:11 pm

Winner. Please lock thread :wink:

Eh? BTW do not lock the thread as we haven't got this issue sorted yet.
User avatar
Mr. Allen
 
Posts: 3327
Joined: Fri Oct 05, 2007 8:36 am

Post » Tue Jun 19, 2012 4:44 am

I was going to write a longer response; but in the end, who the f**k am I, eh? Y'all carry on.
User avatar
Undisclosed Desires
 
Posts: 3388
Joined: Fri Mar 02, 2007 4:10 pm

Post » Tue Jun 19, 2012 2:32 pm

There are times when I seriously hate how quickly these forums move. *sigh*

Anyways, I split this off into it's own http://www.gamesas.com/topic/1354500-possible-scripting-solution-to-the-x-axis-bug/ to avoid cluttering others and to keep it from getting lost again.

"It" being the possibility of a scripting solution for the x-axis bug.
User avatar
RaeAnne
 
Posts: 3427
Joined: Sat Jun 24, 2006 6:40 pm

Post » Tue Jun 19, 2012 9:01 am

Perhaps a small tongue in cheek, but if I had the chance to make a game, I'd definitely make the ability to have lets say... 100x100 quad grid.. which in theory SHOULD be big enough for a lot of us. Would we need it? Technically no. If the issue is with Havok and is therefor part of the game engine itself. I highly doubt papyrus would fix the issue. going 4x16 slices for large world spaces is... very time consuming but really? Not exactly rational, as not only do you have to fight with that, you then also have to deal with LOD, making sure everything lines up right, and overall it becomes a nightmare of work.

My worldspace that I've been trying to work on, is very small compared to Meseogea and middle earth. I had to trim large chunks down while working on my pc to make it fit. The CS has a hard time working with it apparently. It's lead me to the conclusion I'd have to work solely on my laptop which is a 64bit system. That being said to hear that I cannot go to the scale I wanted to for skyrim is disheartening to say the very least. For new worldspaces that aren't already established such as ME and Meso the only workaround I can see is adding mountains/large bodies of water and other such obstacles to bottleneck players to "zone" points. This being said if we take the first guild wars for example, you had zones, these zones were in their own "worldspace" and went from one area to the next. The "problem" was to make each area line up properly and then show their location on the worldmap itself.

So the best solution I can propose using Middle Earth as an example is you have the area of Gondor and you have the gate heading to Mordor. That gate would be used as a portal to the Mordor worldspace. With Rivendell and the regions surrounding it, we'd have to do the same thing. Say you wand to go to southern parts of mirkwood, you create a choke point with say a path and making sure the terrain and trees are set up so the player goes to the next area. It's not the prettiest solution but it could work, problem is only the fact players would be turning off borders and going where they shouldn't. However normally this won't be the issue as I believe the modding community here can be creative and make it so that players can explore each space fully and immerse themselves, only to have a small break to come back to reality for just long enough during the loading screen. I believe that by doing this, we could make our worldspaces far larger than what Bethesda could ever have dreamed of. Or any game developer would.

For the TL;DR: Break up your regions as separate worldspaces this will cut down on size, allow for more frequent releases and ultimately allow for much larger worldspaces. Only limits would be the CK itself, engine, your computer and your imagination.

Just wanted to get my 2 cents in
User avatar
Brooks Hardison
 
Posts: 3410
Joined: Fri Sep 07, 2007 3:14 am

Post » Tue Jun 19, 2012 10:43 am

For the TL;DR: Break up your regions as separate worldspaces this will cut down on size, allow for more frequent releases and ultimately allow for much larger worldspaces. Only limits would be the CK itself, engine, your computer and your imagination.

Just wanted to get my 2 cents in

Unless there's a fix for the x-axis bug, this is the _only_ way to handle large world spaces, they have to be broken up.

The issue to decide (for each large world space mod group) is how/where to break things up.

World spaces that have clear break points make it easy.... Large Mountains, inland seas and the like... That's not enough though for the player who decides to climb said mountain, or swim across that inland sea... They'll get irritated at the 'forced teleport points'... Sure some will accept it, shrug, and just deal with it... others will scream their heads off about it though.

Depends on how much the large world space folks want to deal with.

A (I think) better solution is what I was talking about in my thread linked in the post above yours. (Summary - Have a script on the actors or make a 'land slice' that's a teleport activator).
User avatar
Angel Torres
 
Posts: 3553
Joined: Thu Oct 25, 2007 7:08 am

Post » Tue Jun 19, 2012 11:38 am

I had read that briefly earlier, it still comes down to the need for moving the player from one zone to another to keep the havoc engine happy. I find it strange that with oblivion they had such a huge area(though seemingly not big enough for some of us) it still makes me wonder why didn't they take it into consideration. You'd think by now they could have allowed 32x32 by now.. but 4x16? Seems kinda strange to me. But I think both your idea and the "zones" probably are the best case scenarios we have for now.
User avatar
SHAWNNA-KAY
 
Posts: 3444
Joined: Mon Dec 18, 2006 1:22 pm

Post » Tue Jun 19, 2012 8:08 pm

Dividing up worldspaces has been suggested by many lately and we at MERP have realized that possibility from the start... But I feel that most on the forums here proposing it are not fully aware of how annoying this would be. Not only with LOD and development, but also with AI, especially in MERP since we're going to simulate actual wars that happen. It would be a mean slap in the face to us and the planned features.

MERP is not going to seriously consider splitting up our world for at for at least a year, we're first going to develop in the "safe zone". If in 2013 there's still no workaround or fix, then we might do it, since we'd have no other choice. So concerning MERP, you can put splitting up out of your mind. We're going to focus on development in the safe zone while researching a fix/workaround.


I'm very glad to see that people like shadeMe and The Hologram are interested in finding a fix as well, with them there's a substantial chance we might find something.
User avatar
Laura Elizabeth
 
Posts: 3454
Joined: Wed Oct 11, 2006 7:34 pm

Post » Tue Jun 19, 2012 2:49 pm

Dividing up worldspaces has been suggested by many lately and we at MERP have realized that possibility from the start... But I feel that most on the forums here proposing it are not fully aware of how annoying this would be. Not only with LOD and development, but also with AI, especially in MERP since we're going to simulate actual wars that happen. It would be a mean slap in the face to us and the planned features.

MERP is not going to seriously consider splitting up our world for at for at least a year, we're first going to develop in the "safe zone". If in 2013 there's still no workaround or fix, then we might do it, since we'd have no other choice. So concerning MERP, you can put splitting up out of your mind. We're going to focus on development in the safe zone while researching a fix/workaround.

*nod nod* Oh I realize how annoying it would be... just loading screens alone, especially if the 'takes over your entire screen and shows me random Skyrim images/text' cannot be replaced.

The thread I made discusses the possibility of creating a script for actors as well... I'm not sure how well that would work in the case of full blown wars, not even sure the idea is doable at all... but it is an idea to discuss.

I sincerely, fervently, hope that there is eventually a fix for this problem... hack/work arounds/pie-in-the-sky wonky solutions should not be required to begin with.... and I really would like to see MERP and Mes and a full Tamriel in their full, non-split up glory!

Sadly, for now, we have exactly 2 options until/if a fix can be found: 1) Put on hold/don't do large world spaces 2) Break them up, come up with some other hack/workaround.
User avatar
Nymph
 
Posts: 3487
Joined: Thu Sep 21, 2006 1:17 pm

Post » Tue Jun 19, 2012 4:44 pm

I'm very glad to see that people like shadeMe and The Hologram are interested in finding a fix as well, with them there's a substantial chance we might find something.

(You edited while I was typing! :P)

Yea, Given how the non-PC actors were behaving, I had a thought it might be some havoc issue in the actors themselves, something that's not part of the PC because it didn't need to be (control wise)... I'd mentioned it a couple times and was going to poke The Hologram about it, but s/he (I think he? :s) popped into the thread before I could... couple of others and myself brought up the idea that maybe the SKSE team could do something if it was an engine/precision issue... and *poof* we're visited by ShadeMe! :D

So yeah for cross pollination of posting!

(that was a vaguely subtle hint for your Maegaer to come visit the thread I just made. Yea, okay, 'bout as subtle as a 4x4 upside the head, but hey, I never claimed subtlety was a virtue....*grin*)
User avatar
J.P loves
 
Posts: 3487
Joined: Thu Jun 21, 2007 9:03 am

PreviousNext

Return to V - Skyrim