_six wrote...
Regarding the horses I'm fairly sure the animation is the primary issue, with the high number of bones on that skinmesh (NWN was never truly designed for skinmesh in the first place) and the fact that its essentially two full creatures being loaded at once. Something like the Q balor model is actually rather higher poly than the horses as I recall, yet I haven't had a single hiccup using it in the game so far, whilst horses drop my framerate from about 90 to a modest-but-useable 25 or so.
I suspect your knowledge exceeds mine on this. The only thing that comes to mind that makes me question the relative import of anims versus polys is my experience with worm's trees - though I suspect they are big textures, by the look (no idea how the alpha would play into consideration). I don't recall them moving at all, so I don't think they have anims, though I haven't had the opportunity to place one in over a year, so I could be wrong. How does the poly count on one of those compare to the Q balor? The horse?
On the other side of the equation, we do use the Death God's Vault and a palace, both from NWN2, in one area, though one is far out of the bounds of the area. I seem to recall hearing a 50k poly count on one or both of those, which would be FAR above anything else, and I haven't noticed any real hiccups in that area. I don't know what the model size is on those, though I assume it uses a ton of textures (but no animations, I think).
Incidentally, area size might be rather more of an issue than you might
think. Using the standard Bioware tilesets you probably wouldn't notice a
difference, but with more detailed sets upping the area size is
dramatically increasing the amount of data needing to be processed each
time the scene is rendered. Admittedly camera angle might have an
impact, as well as fog (though don't forget that the models themselves
are rendered a considerably greater distance further than the fog
overlay's clipping distance), but it shouldn't be discounted as a
factor. Plus big areas tend to become kinda generic and boring, as they
often lose any sense of a focal point.
Interesting. I've little experience with nonstandard sets, though acaos did some extensive mods on ours that diverged from the cep's. I used to be a big believer in keeping areas small too, some years back, based on a bunch of stuff I'd read. It was actually acaos who pointed out to me that they had no impact on mod performance,
so long as no one was in the area, which is, I think, a common misconception. When players enter, of course the server is going to have to stream them the areas data, but I've yet to see that ever cause a hiccup, even when 10 players move into a 20x20 area near-simultaneously. It DOES take a while for the load screen, but seems to matter little to the server at large.
Anyway, after he told me that area size wasn't such a big deal on its own, I loosened my old restrictions on area size considerably - I used to try to keep to no more than 60-70 tiles, or around 8x8. We've seen no detectable performance hit from this loosening, though many areas wound up being close to twice as large (120 tiles is not uncommon). Granted, this has been over a long period, so a gradual hit would be hard to detect, but, at least with bioware/cep sets, there's no
noticeable hit at all, either during load, or during play in these areas (and we're talking a LOT of areas). I have no experience with other, larger/custom, sets though, so I'll bow to yours there.
Using larger areas actually allowed me much more creative freedom. I know what you mean about big areas being able to become generic and boring, especially if the builder doesn't need the space or spend time filling it. Still, though, when you really WANT the space to pull something off, the result is amazing. My favorite area in our mod is Pelor's palace in Elysium, which came in at 17x15 despite my best efforts to keep it down:
Then there's the Elemental Plane of Air, three areas at 16x16:
And the top of Demogorgon's fortress Abysm, featuring a bone bridge and weighing in at 8 x 22 (and I would've added another 6 to both dimensions to hide the corners, if I could've made myself, but that just seemed like too much space for the gain):
And, while I'm sharing, here's the good 'ole Pillar of Skulls in Avernus, which is a fairly normal-sized area by comparison, but it's the source/root cause of our knowledge on the effects of placeables (it used to be around 10x11). The pillar was spawned in on entry using gaoneng's EXCELLENT vfx scriptset, and would use a lot more places if we could've gotten away with it. As it is, we had to push the pillar out an extra 4 tiles or so and make it spawn ondeath, because players were moving in and out of perceptual range of it during the Tiamat bossfight, which was crippling server performance. Here's the code for the Pillar, should you be curious:
/* create the Pillar of Skulls */
if (GetResRef(oArea) != "avernus003" || GetLocalInt(oArea, "skullpillar"))
return;
SetLocalInt(oArea, "skullpillar", 1);
location lLoc = GetLocation(GetWaypointByTag("SkullPillarSpawn"));
vector vPos = GetPosition(GetWaypointByTag("SkullPillarSpawn"));
float fClean = 0.5;
for (i = 0; i < 60; i++) {
nRand = Random(9) - 4;
fRand = IntToFloat(nRand) / 100.0;
f = IntToFloat(i);
lLoc = Location(oArea, vPos + Vector(0.0, 0.0, (f * 0.15) + fRand), 0.0);
if (i % 3) {
AssignCommand(oArea, DelayCommand(
fClean + f * 0.01, PlaceCircle("plc_pileskulls", lLoc, 0.3, 3, 1.0, 1.0, f * (8.57 * (10 * fRand)), "z", 0, -1, 0.0, 1.0, 0.0)));
} else {
AssignCommand(oArea, DelayCommand(
fClean + f * 0.01, PlaceCircle("plc_bones", lLoc, 0.3, 3, 1.0, 1.0, f * (8.57 * (10 * fRand)), "z", 0, -1, 0.0, 1.0, 0.0)));
}
}
And the screenie:
Funky
Modifié par FunkySwerve, 20 décembre 2010 - 05:33 .