• Welcome to Freedom Reborn Archive.
 

tommyboy's Map Making Misadventures and Conundrums

Started by tommyboy, July 21, 2008, 05:43:18 PM

Previous topic - Next topic
|

ow_tiobe_sb

Not only does he mesh World War Hulk, but now he also provides a proper arena to play host to the green giant's justice!  Nicely done, Tom.  :thumbup:

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

style

Huh,say something!?.....Oh, I thought I heard something! :unsure:

tommyboy

Quote from: style on August 29, 2008, 08:17:58 AM
Huh,say something!?.....Oh, I thought I heard something! :unsure:

Nope, really slow week this week. Combo of RL, work, and needing a little rest from it, has meant No Map Progress.
For what it's worth, I think it's 80-90% done, overall. I could keep adding stuff indefinitely, and some things still need fixing (like a weird problem where you cant stand on top of the taller custom buildings, only inside them about 2/3's of the way up :banghead:), but the bulk is done.
But it shouldn't be too much longer, I hope. Two, three, four weeks, at a guess.. 

Conduit

I've run into that "can't stand on top of really tall buildings" problem myself a few times.  I would guess that it has to do with the boundaries as determined by the extents.txt, so you might want to try increasing the vertical extents.

laughing paradox

I love the idea of a sandbox in Freedom Force and your city of Manhattan looks incredible.

Unbelievably good, Tommy. Kudos.

tommyboy

Quote from: Conduit on August 29, 2008, 10:57:25 AM
I've run into that "can't stand on top of really tall buildings" problem myself a few times.  I would guess that it has to do with the boundaries as determined by the extents.txt, so you might want to try increasing the vertical extents.

That's a logical suggestion.
However, a peek in my extents.txt reveals:
[14685.2,14787.6,13437.6]
[-14677.6,-14361.1,-9850.46]

Now, I assume the third set of numbers is the 'height/depth' extents, in which case its set to 13437.6 which is pretty high (bear in mind there's a 'skysphere' built into the terrain, and the extents are based on its huge height/depth), much more so than any building.
And I should mention that my placeholder version of the empire state building, which consists of two in game empire state 'bases' stacked on one another topped off with the shrunken and re-exported ESB level is stand-upon-able. And its much higher than all the other custom buildings that aren't. Suggesting that either, there is an intrinsic maximum height for a building, that can only be gotten around by stacking them, or that something in the way I exported the esb top bit is different.
My four storey avengers mansion is stand-upon-able, so I'm going to try shrinking one of the problem buildings and see if its the size itself.
If anyone knows of a variable that can be set for building heights, sing out please.

GogglesPizanno

Is the bounding box tall enough to include the top section of the ESP? (always start with the obvious)...'
Might it have something to do with the sheer angle of the top section, like the game sees that section as not flat enough to stand on?

Also might it be a limit with the height that a character can actually reach in game?
Is the character jumping or flying to the top? Have you tried placing a character in the editor to see if that works?

Im just spitballin...

tommyboy

Quote from: GogglesPizanno on September 01, 2008, 09:30:30 AM
Is the bounding box tall enough to include the top section of the ESP? (always start with the obvious)...'
Might it have something to do with the sheer angle of the top section, like the game sees that section as not flat enough to stand on?

Also might it be a limit with the height that a character can actually reach in game?
Is the character jumping or flying to the top? Have you tried placing a character in the editor to see if that works?

Im just spitballin...

And all worth checking.
Either with or without bounding boxes my custom buildings cannot be stood upon. Whereas the ESB is three seperate meshes, each with its own BB, piled on atop the other.
I did wonder about the angle myself, the Chrysler building being obviously steep, for instance. But the flatiron building has a flat roof, as do the tallest sections of Madison square Garden, the UN complex, the Baxter building. All are shorter in-game than where the top of the ESB is, none can be stood on, only in.
If the character had a height limit, the ESB peak would be above it, as all the others are shorter.
I usually teleport characters on top (I have the developer cheats on by default), but have flown up too. Haven't tried editor placement, thats worth a shot (allowing for the half hour or so it takes to load up the jumbo map, make a change and then save it).

tommyboy

Oooohhh...my head hurts...it's much more complex and impossible to understand than I thought...
Lets start with the flatiron. I thought you couldnt stand on the roof, ever.
Turns out, if you destroy a segment, you can then stand on some of the remaining segments roofs, which are of course the same height as the undamaged building.
OK, thinks I, I must have done something to the geometry or bounding boxes in the destruction version that aint in the undamaged one. But an examination in max reveals no information I can make use of.
So I make a big box, as high as the flatiron, and wide and long, but its just a box, no geometry to speak of. I export this as 'flatiron' and replace the undamaged version with it. I start the game up, teleport Alchemiss onto the roof of the new boxy flatiron and she stands there! It's a proud day for etc etc etc. Except. Ex-cept....when I move her about on the roof, after a few steps, she drops through, back down to the 'phantom' level. It seems that only certain bits of the new roof are 'solid', but not in any way that makes sense. The new boxy version has a boundingbox that is just a box, a clone of the original.
And there are odd spots on the other buildings I can teleport onto and stand on, at roof height as well. Some of these only seem to work once, or are so small that you cannot get onto them again.
So I've no idea whats going on, and my head hurts from thinking about it.
I could see a consistancy to not being able to get up there at all, but to be able to get up to some of a flat polygon, but not to other bits of it is maddeningly maddening.
I'll come back to it tomorrow, cos tonight I've had enough...

GogglesPizanno

This almost sounds like the type of behavior you get when when the memory is running out and it starts dropping "stuff" to compensate.

What I might try is taking your final flatiron custom building, and placing it on a couple of regular sized maps and see if the problem is duplicated. If it is, then you can be pretty sure its some kind of building mesh problem (or engine limitation regards to building size). If not, then it may start looking like the size and the resource demands of the map may be the problem...

tommyboy

Quote from: GogglesPizanno on September 01, 2008, 03:23:09 PM
This almost sounds like the type of behavior you get when when the memory is running out and it starts dropping "stuff" to compensate.

What I might try is taking your final flatiron custom building, and placing it on a couple of regular sized maps and see if the problem is duplicated. If it is, then you can be pretty sure its some kind of building mesh problem (or engine limitation regards to building size). If not, then it may start looking like the size and the resource demands of the map may be the problem...

I put the flatiron building in mp_city_small (the smallest map there is), and it still has the roof with 'holes' in, so I don't think it can be memory based.
I need to check out a few things tomorrow.

Lunarman

This sounds similar to the problems I experienced in my mod with the pirate ship. It was essentially a new mesh, but whatever I did with flags or bounding boxes there were some places they just would not stand.

tommyboy

OK, this morning, I exported a version of the flatiron that was less than half the original height, and, sure enough, ALL the roof is walk-upon-able.
So now I'll extend upwards till I find where the problems begin, and at least I'll know that up to a certain point there are no complications.
Beyond that height I still think there must be something I can do, even if its as crude as a second mesh thats just a plane in the shape of the roof that stacks on top of the original building, since stacking works with the ESB.

ow_tiobe_sb

Quote from: tommyboy on September 02, 2008, 03:36:13 AM
Beyond that height I still think there must be something I can do, even if its as crude as a second mesh thats just a plane in the shape of the roof that stacks on top of the original building, since stacking works with the ESB.
I would really like to see this Gordian knot untied (not cut).  I agree, stacking seems like a crude resolution to the problem, especially given what is possible within this versatile game engine.  If these restrictions on height could be lifted (ho-ho!) via Python scripting or--*gasp* dare I say it?--hacking the game engine, I'd like to see such solutions implemented.

I know precisely what to do:
[spoiler]

[/spoiler]

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

tommyboy

Well, two-thirds the height of the original gets us the phantom roof syndrome, and my system has been bluescreening most of the day so I havent really had a chance to do more testing on the height side of things. It did allow me to export a flatiron_roof mesh, which when placed (via the editor) atop the full size flatiron does indeed prove the principle that stacking works. The character can stand on, and run around on the flatiron.
'Great' you may say, 'get on with it and make roofs for all the other buildings and we'll be laughing'.
Would that it were so simple. The flatiron_roof, being a separate building needs a destruction version, and how can I 'tie' it's destruction version to that of the original building in such a way that both crumble the same bits at the same time, so we aren't left with bits of roof hovering in mid air with no buiding beneath to support them? The answer? I've no idea how. So although I have a 'solution' to the original problem, the solution itself has other problems.
So I think the way to go is to fix whatever it is in the meshes that isnt working.
Clearly the game allows you to stand on buildings at these heights, or at least on bits of buildings that are these heights (the section of the flatiron I could stand on after destroying a segment is the same height as the original building, after all).
Maybe the game engine 'caps' building heights, but not object heights (because I can teleport a character to stand on the skysphere, which goes higher than any building, and is neither a stack of meshes nor a fragment).
Maybe I'll try making them objects in the editor, see how that pans out.

GogglesPizanno

QuoteWould that it were so simple. The flatiron_roof, being a separate building needs a destruction version, and how can I 'tie' it's destruction version to that of the original building in such a way that both crumble the same bits at the same time, so we aren't left with bits of roof hovering in mid air with no building beneath to support them? The answer? I've no idea how.

Have you tried making the building half height, and then using nifscope to combine multiple instances of it into a single building where each instance of the building is its own separate niNode? Ive done this with original FF1 buildings where I stacked 3 of them together in Nifskope saved it as a single building object and it worked fine. The potential of this is that you could do the same thing with with the damage versions (which in my FF example worked fine).

My theory is that if stacking the buildings works, maybe stacking them as components of a single Nif file may 'fix' whatever quirk is causing the problems. This is the theory behind my versatile building that I may one day actually finish.

ow_tiobe_sb

Quote from: tommyboy on September 02, 2008, 10:59:17 AM
Maybe the game engine 'caps' building heights, but not object heights (because I can teleport a character to stand on the skysphere, which goes higher than any building, and is neither a stack of meshes nor a fragment).
Maybe I'll try making them objects in the editor, see how that pans out.

Good question.  The only problem I can foresee (with my myopic vision) is that, unless you want a building to be reduced to rubble all at once, you would also need to export numerous OBJECT_damage_version_#.nifs as well as an OBJECT_fragments.nif for each building instead of one BUILDING_destruction.nif (which, with the exception of the naming conventions within the [building] group, would be identical to the OBJECT_fragments.nif).  My understanding is that the damaged versions are swapped in as the object's health is gradually reduced, and, without careful planning, this may affect the look of the building's destruction animation sequence.

Incidentally, can you target the buildings that have "phantom roof syndrome" in-game?  If not, you may have discovered the reason behind the problems C4 experienced with my mesh of Hillbrow Tower (which may be too tall for its own good) for his "Reformed" mod.

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

tommyboy

Quote from: ow_tiobe_sb on September 02, 2008, 11:36:21 AM
Incidentally, can you target the buildings that have "phantom roof syndrome" in-game?  If not, you may have discovered the reason behind the problems C4 experienced with my mesh of Hillbrow Tower (which may be too tall for its own good) for his "Reformed" mod.

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

Yes you can target, hit, and destroy them, you just cant stand on top of the beggars!
Well, at least I'm learning why hardly anyone makes custom buildings.........its a royal pain..

ow_tiobe_sb

Quote from: tommyboy on September 02, 2008, 11:42:12 AM

Yes you can target, hit, and destroy them, you just cant stand on top of the beggars!

Curses!  I thought you'd done all the hard investigative work for me. :(

Keep me posted, Tom, for, obviously, anything you discover will affect the Daily Bugle, the Baxter Building, the ESB, etc.

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

cmdrkoenig67

So King Kong won't be climbing Empire State any time soon...

:(

Symon

I take it careful inspection of the Nifs reveals nothing strange about the bounding boxes?

If not, my guess might be that the game engine either assumes limits on, or internally represents (very large) bounding boxes in such a way that is causing the problem.
Might be worth asking the NifTools crew if they are aware of any limitations on bounding boxes. It could be down to the use of a short Int or similar.

style


yell0w_lantern

The laws of Thermodynamics preclude self-organization.  :P

tommyboy

Quote from: yell0w_lantern on September 03, 2008, 02:42:31 PM
The laws of Thermodynamics preclude self-organization.  :P

Tell that to Illya Prigogine..
Back in head hurting territory, I made a new version of flatiron_destruction, this time with only 4 sections.
The original retains its phantom roof syndrome, but if you destroy a segment, in the flatiron_destruction version the segments adjacent to the gap have a solid roof.
As you move away from the gap, the roof becomes phantom once again.
So if you destroy the segment at the thin end of the wedge, only the bit right next to it can be stood upon.
If you destroy one or both of the two middle segments, those either side become solid, even though they may not have been before. Yes, the solidness of the roof in the destruction versions at least is not an intrinsic property of the mesh itself, it is something the game engine does. By destroying the segment next to one which does not have a solid roof, you can give it a solid roof.
To add to the inscrutability of it all, the solidness of the segments does not extend to the whole segment. Walk or run across half a segment (especially away from the 'gap' where the destroyed segment was), and you will fall through before you reach a different segment. And where you fall through is, as far as I can tell, completely unconnected to geometry. It isn't where an edge, face, poly or even vertex are sited, nor is it purely a function of distance from the gap, the 'edge' of the solid bit doesn't follow the 'edge' of the segment itself.
So, I remain stumped as to what is going on. There is a height component involved, as it's only the taller buildings that develop these tendencies. The game engine and physics clearly can support standing on structures of that height, be they stacked like the esb from separate bits, or be they segments of a version_destruction as with the flatiron. And even with whole, contiguous buildings, there are anomalous spots atop them that can be teleported to and stood upon even though 99% of the rest of the roof remains phantom.
But the ability to create a tall structure and have characters stand on its undamaged roof continues to elude me.
Some my custom buildings are all one polygon, these dont work, some are several polygons like the UN or Madison Square garden, these dont work. I've tried exporting with or without boundingboxes, and the result is identical.

That's where I am with it...

ow_tiobe_sb

At the risk of sounding daft (and a tad impolite), do the strange results of Tom's experiments suggest the possibility that he is witnessing the game engine crap out while doing its collision calculations?  Would a log of some sort be potentially useful to those who know how to interpret it?  In other words, is there game data (short of a home video) that Tom could collect and share here that would demonstrate a successful rooftop-character collision calculation versus the unsuccessful rooftop-character collision calculations he's witnessed?  I know too little about game logs, the game engine, and console messages to speak intelligently about this matter; however, perhaps someone else could explain the data collection options (if any) open to Tom.   :unsure:

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

tommyboy

Quote from: ow_tiobe_sb on September 05, 2008, 12:20:07 PM
At the risk of sounding daft (and a tad impolite), do the strange results of Tom's experiments suggest the possibility that he is witnessing the game engine crap out while doing its collision calculations?  Would a log of some sort be potentially useful to those who know how to interpret it?  In other words, is there game data (short of a home video) that Tom could collect and share here that would demonstrate a successful rooftop-character collision calculation versus the unsuccessful rooftop-character collision calculations he's witnessed?  I know too little about game logs, the game engine, and console messages to speak intelligently about this matter; however, perhaps someone else could explain the data collection options (if any) open to Tom.   :unsure:

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

I'm happy to upload a few buildings so other can 'share' the 'pleasure' of trying to figure out what exactly I've broken this time.
I'll round up a handful for this weekend.

Xenolith

I don't know if this oberservation will be of any value, but I've noticed that buildings in FFvTR always collapse in a specific order (Section1, Section2, Section3), even if the damage occurs on the opposite side (Section3, for example) of the building.  I think some/most of the buildings collapse in 3 sections, too.  What I'm getting at is that maybe the game is looking for specific information and isn't finding it?  Its looking for some type of generic information that your custom buildings don't have?  I've had a lot of troulbe with M25AI moving standing on partially demolished buildings, so...?

This discussion is over my head, but I'm trying to follow along.  :)

yell0w_lantern

You've probably already tried importing native 3R buildings for comparison? It could be a problem with the exporters we have.

ow_tiobe_sb

Quote from: tommyboy on September 05, 2008, 02:46:15 PM
I'm happy to upload a few buildings so other can 'share' the 'pleasure' of trying to figure out what exactly I've broken this time.
I'll round up a handful for this weekend.

I seriously doubt this is an issue related to breaking anything about these meshes, and I am fully prepared to to concede yell0w_lantern's point about the exporters.  We've already seen how the direct-from-IG character NIFs differ from anything an amateur user exports; perhaps building height provides another example of these limitations (though, something tells me that the stacking solution underlines a limitation in place in the way the game interprets the meshes and not a characteristic of the meshes themselves).

Hmm.  If we cannot puzzle this out ourselves, I'll drive down to Quincy (with billdamn and lugaru as the muscle) and pay IG Boston a personal visit.  (And I won't come back without the 3ds max files for the FFvT3R meshes, aye?  Have you seen lugaru's Ginsu knives?  Muhahahahaha! ...)  :twisted:

ow_tiobe_sb
Phantom Bunburyist and Fop o' th' Morning

tommyboy

Here we go, heres some buildings and destruction versions to play with.
Download them if you know what you are doing, if you cant figure out how to get them in the game, you are unlikely to fix them (if they need fixing).
This is not a 'release', this is an attempt to get around the phantom roof problem mentioned in my previous posts.
http://www.sendspace.com/file/uc6hq9

|