All water map spanning the entire possible size?

dawdler

Newbie
Joined
Jul 10, 2003
Messages
2,980
Reaction score
0
Well mostly water, maybe a few small islands.

Is this even possible? I might be doing something wrong, but I keep getting BSP errors (max leaf/faces for some reason) OR when it does build the game simply boots me to the desktop.

Too much stress for it? It works up to a point making the water larger and larger, but then it just craps out. Is there anyway to go a bit lower on the quality? I tried changing the "cheap" water start distance to 0 in the lod thingie, but it doesnt seem to have much effect.
 
Can't be entiely sure but I'd say that Source doesn't like you having that much water, do ya really need that much water anyway? I mean with use of 3D skybox and fog I should imagine you could very easily create the effect of water being as far as the eye can see.


Oh but just for the record I take it this body of water that won't load is bigger than any body of water in Half life 2 single player right? 'Cause if it isn't then there's definately a problem there,

-J
 
I havent measured the water bodies in HL2... I dont draw it around a level, I just try making an entire box. Its difficult to compare sizes.

And yes I need that much water since it would be a sea map. Not something you just see in the distance, something you can actually travel. The biggest size that can succesfully build is still to small for my use (about 1/6th of the max map size), especially if we have to take into account building a border around it.
 
Have you tried scaling the water texture up? Try using a texture scale of 1.5 instead of 0.25 and see if you can then fill the map with it. Failing that, try it with cheap water, and failing that too then you may have to resort to modding in a very small boat in order to make everything else SEEM bigger :)

If possible, you should consider splitting your ocean into multiple levels. The global entity system should hopefully give you everything you need to keep mission objectives constant inbetween levels, no matter which way they go. And use fog. Lots and lots of fog. Fog that lets you see only about 2000 units at the MOST.
 
Revenge said:
Have you tried scaling the water texture up? Try using a texture scale of 1.5 instead of 0.25 and see if you can then fill the map with it. Failing that, try it with cheap water, and failing that too then you may have to resort to modding in a very small boat in order to make everything else SEEM bigger :)

If possible, you should consider splitting your ocean into multiple levels. The global entity system should hopefully give you everything you need to keep mission objectives constant inbetween levels, no matter which way they go. And use fog. Lots and lots of fog. Fog that lets you see only about 2000 units at the MOST.
Tried scaling the texture up, no change.

The scaling everything down thing is of course an option, but I want to recycle a bunch of HL2 stuff... So its not really something I would like to start fiddling with.

Does splitting a level work in multiplayer? That's its use :)
For SP that would have been the trick, but I didnt think that would work in MP...

I have lowered fog distance (ending at 1000 I think), but it doesnt matter much: In my successivly larger water boxes, performance didnt seem to drop much at all. Well until it becomes too large and CTD, lol.

Here is what the build says when it CTDs (with a water box about 1/4th the hammer grid) (sidenote: Not running rad and vis at fast):

Code:
** Executing...
** Command: "xxxvbsp.exe"
** Parameters: -game "xxx" "xxx"

Valve Software - vbsp.exe (Dec 15 2004)
1 threads
materialPath:xxx
Loading xxx
fixing up env_cubemap materials on brush sides...
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (1)
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
Processing areas...done (0)
Building Faces...done (1)
FixTjuncs...
PruneNodes...
WriteBSP...
done (0)
writing xxx\.prt...done (0)
Creating default cubemaps for env_cubemap using skybox sky_day01_01...
Run buildcubemaps in the engine to get the correct cube maps.
Finding displacement neighbors...
Finding lightmap sample positions...
Displacement Alpha : 0...1...2...3...4...5...6...7...8...9...10
Building Physics collision data...
done (0) (3613 bytes)
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Writing xxx\rs.bsp
19 seconds elapsed
Memory leak: mempool blocks left in memory: 49
Memory leak: mempool blocks left in memory: 1

** Executing...
** Command: "xxxin\vvis.exe"
** Parameters: -game "xxx" -fast "xxx"

Valve Software - vvis.exe (Dec 15 2004)
fastvis = true
1 threads
reading xxx.bsp
reading xxx.prt
 549 portalclusters
1313 numportals
BasePortalVis:       0...1...2...3...4...5...6...7...8...9...10 (2)
Optimized: 0 visible clusters (0.00%)
Total clusters visible: 301393
Average clusters visible: 548
Building PAS...
Average clusters audible: 549
visdatasize:80158  compressed from 79056
writing xxx.bsp
12 seconds elapsed

** Executing...
** Command: Copy File
** Parameters: "xxx" "xxx"
 
No, level splitting wouldn't work in multiplayer... Hmm... Ok so any luck with making separate blocks of water side by side out of cheap water? Dunno if that'll make any difference, especially if the compiler combines adjacent water faces...
 
Revenge said:
No, level splitting wouldn't work in multiplayer... Hmm... Ok so any luck with making separate blocks of water side by side out of cheap water? Dunno if that'll make any difference, especially if the compiler combines adjacent water faces...
I tried that, it didnt alter anything, sigh... Its something in the water (hehe). Even though the map has like 80 faces, it appear to shoot through the roof when building it. Oh well, I have to get some sleep.
 
use cheap water

also use the 3dskybox to fake it

don't make your map the _full_ size, seems you need to leave a good couple of grid squares (at the largest grid setting) thick around it.

Also something that big needs to be low, as in the ceiling height needs to be low down or it will struggle to ever compile correctly.
 
The Dark Elf said:
use cheap water

also use the 3dskybox to fake it

don't make your map the _full_ size, seems you need to leave a good couple of grid squares (at the largest grid setting) thick around it.

Also something that big needs to be low, as in the ceiling height needs to be low down or it will struggle to ever compile correctly.
Its still hard to fake something you should be able to travel across ;)

At any rate, low roof? Havent thought of that. I didnt have it that high though, but a quickie test shows that lowering it further (about 6 player entities high) makes no difference, still CTD...
 
dawdler said:
Its still hard to fake something you should be able to travel across ;)

At any rate, low roof? Havent thought of that. I didnt have it that high though, but a quickie test shows that lowering it further (about 6 player entities high) makes no difference, still CTD...
You could try lots of smaller cubes of water, see if that helps. The compile tools don't seem to like brushes that are too big generally anyway.

Don't forget to surround it with a skybox, cut at the level of the water surface and the lower faces given a dark texture (so you can't see the bright skybox way off in the distance when underwater)
 
Use hint brushes. You generally will crash hammer trying to compile a full size empty box without them. You should be able to have one huge-ass water brush (about 512 units shy of full size) if you cut it up with hint brushes. Maybe 6 all together, creating 9 squares.
 
pur3r4ge said:
Use hint brushes. You generally will crash hammer trying to compile a full size empty box without them. You should be able to have one huge-ass water brush (about 512 units shy of full size) if you cut it up with hint brushes. Maybe 6 all together, creating 9 squares.
I tried making it into squares divided by the hint brushes, but it still craps out... Build says numvertexes == MAX_MAP_VERTS
 
dawdler said:
I tried making it into squares divided by the hint brushes, but it still craps out... Build says numvertexes == MAX_MAP_VERTS
the map will cut itself up into 1024 sized sections anyway, so the hint brushes might help a little but probably not all that much. Not in that way anyway, to use them properly you want to surround your island with them, cutting that off from the large open water, and then use extra hints inside that island box to further cut up detailed area's from empty area's.

Btw from the sounds of it your trying to do exactly what I tried to do for the DM contest, your gonna have to shrink the map size cause it does crap out otherwise. I don't know of a way around it.. Unless you try the suggestion of lots of smaller water cubes, and use cheap water

Maybe even put things in area portals so they shut off completely when you aren't near them.. though I dont think thats gonna help with compiling it.

Just stick watery death in the deep water to keep people out of it ;)
 
The Dark Elf said:
Btw from the sounds of it your trying to do exactly what I tried to do for the DM contest, your gonna have to shrink the map size cause it does crap out otherwise. I don't know of a way around it.. Unless you try the suggestion of lots of smaller water cubes, and use cheap water
I have tried smaller cubes using one that did build, then just placed 4 of them: Craps out again. The amount of faces that water generate doesnt change with more blocks vs one big block. And I have also tried cheap water, which didnt do anything either.

Gonna try some block configurations to see if I can maximize the water, otherwise I suppose I have to go with the backup plan by using scaled down things.
 
Hmm... How does one cut it up using portals? But if that doesnt help compiling its not very good.

Another thought, is everything still "built" if there is a physical wall seperating the player from an area he cant possibly get though (just something I accidentally did and got it to build, lol)? I dont know the ins and out of Hammer. One could build it out of multiple rooms (water with surrounding hills or whatever), and simply warp the player to another room when he is entering for instance a dark cave. That should still work in multiplayer, yes? But it assumes that the impossible to get to areas are still there...
 
dawdler said:
Hmm... How does one cut it up using portals? But if that doesnt help compiling its not very good.

Another thought, is everything still "built" if there is a physical wall seperating the player from an area he cant possibly get though (just something I accidentally did and got it to build, lol)? I dont know the ins and out of Hammer. One could build it out of multiple rooms (water with surrounding hills or whatever), and simply warp the player to another room when he is entering for instance a dark cave. That should still work in multiplayer, yes? But it assumes that the impossible to get to areas are still there...
Yep that method works fine, spirit of halflife showed it very well.. You can quite easily then silently teleport someone from one point to another, as if its a level transition only its in the same map and instant. decals n such created by the player will give it away though. So yeah a dark cave and make it hard for players to see when there's a change (right on a corner for example)

So yeah that works fine. And you can use areaportals aswell, though they can't intersect with the water surface so you have to split them

|| <--- area portal brush
----- <--- water surface
|| <--- area portal brush

or something along those lines, i've never tried putting an area portal through water yet.

---

What areaportals do is simply turn off area's for the player, client side. So whole sections aren't calculated, but they do still exist, only the really general basic things are calculated. You can test it by making an area portal closed by default (so its invisible unless your stood inside it) and filling it with zombies, throwing a grenade in then backing out into the portal next to it, you'll hear the effect but it wont slow down when all the zombies explode like is normally the case if you've got so many in a closed space.
 
If compiling still works with area portals, then that is the better idea, but HOW do one do it? I've searched and searched and cant find anything about how to set up an area portal (not even at VERC). Cutting the level in half with a big wall with the area portal texture results... in a big wall with the area portal texture. Presumably it needs an entity (func_areaportal) to go with it. But when I try to create one of those it just dissapears?
 
dawdler said:
If compiling still works with area portals, then that is the better idea, but HOW do one do it? I've searched and searched and cant find anything about how to set up an area portal (not even at VERC). Cutting the level in half with a big wall with the area portal texture results... in a big wall with the area portal texture. Presumably it needs an entity (func_areaportal) to go with it. But when I try to create one of those it just dissapears?
http://www.valve-erc.com/srcsdk/Levels/performance_and_visibility.html

tells you on there. Explains that areaportals can only be open/closed (visible/invisible) you don't _have_ to use a door opening/closing to turn them on and off, but it helps.

Think of them like a curtain between two area's, when your on either side of the curtain, you can't see whats on the other side (hence the door for giving a reason _why_ you can't see into the other portal.)

areaportals are only a benefit in game though, they won't really help when compiling, hint brushes are what you use to improve vis compile times and improve general in game speed aswell.
 
Thanks, must have overlocked that page.

It DID help compiling (despite complaining my areaportals didnt meet any solid brushes or something) :)

HOWEVER I managed to make the entire first part of the level underwater (while not seeing any underwater fog), nearly died trying to get to my little "tunnel", lol! That might have to do with the fact I forgot about the "no intersecting part" ;)
 
dawdler said:
Thanks, must have overlocked that page.

It DID help compiling (despite complaining my areaportals didnt meet any solid brushes or something) :)

HOWEVER I managed to make the entire first part of the level underwater (while not seeing any underwater fog), nearly died trying to get to my little "tunnel", lol! That might have to do with the fact I forgot about the "no intersecting part" ;)
your areaportals need to be touching (though inside just a little) the surrounding world brushes

say if you've got a cave and it opens up onto a large beach, stick an areaportal in the cave entrance, with its thin sides inside regular brushes (not brush entities or displacement maps or water brushes)

according to that page they improve things even if its open and doesn't close off an area in such situations as above.
 
Crap, I cant replicate it with functional water... Think I bugged it somehow, and that got it to work in some odd way, lol.
 
dawdler said:
Crap, I cant replicate it with functional water... Think I bugged it somehow, and that got it to work in some odd way, lol.
just put the area portals where there's no water in the way. Remember to make the areaportal really thin aswell. and flythrough the map to check that an area the areaportal is supposed to seal can't be accessed from other parts of the map without going through one of them (so its completely enclosed from the other portals/area's in the map.
 
The Dark Elf said:
just put the area portals where there's no water in the way. Remember to make the areaportal really thin aswell. and flythrough the map to check that an area the areaportal is supposed to seal can't be accessed from other parts of the map without going through one of them (so its completely enclosed from the other portals/area's in the map.
I tried, but it refused to build again...

GAH!!! Well I give up on that.

I timed the traveltime from one end to another at the blazing default runspeed (that makes me motionsick) and it takes about 1 minute. Considering the fact one wont run much on the map, and that I can tune sizes so that the map appear bigger than it is, I hope its workable. Just have to try and see what comes out, lol.

Thanks for all your help anyway.
 
dawdler said:
I tried, but it refused to build again...

GAH!!! Well I give up on that.

I timed the traveltime from one end to another at the blazing default runspeed (that makes me motionsick) and it takes about 1 minute. Considering the fact one wont run much on the map, and that I can tune sizes so that the map appear bigger than it is, I hope its workable. Just have to try and see what comes out, lol.

Thanks for all your help anyway.
Do a morrowind on it. Thats the way to do it.

And I KNOW you know what im talking about there :) how Morrowind seems so much bigger than it really is. Works a treat, using tricks like that in SW along with a few others to make things appear bigger than they are. But the MW method works a treat, and is well suited for areaportal usage for turning off huge area's that you'd not be able to see without noclipping up unclimbable faces anyway.
 
The Dark Elf said:
Do a morrowind on it. Thats the way to do it.

And I KNOW you know what im talking about there :) how Morrowind seems so much bigger than it really is. Works a treat, using tricks like that in SW along with a few others to make things appear bigger than they are. But the MW method works a treat, and is well suited for areaportal usage for turning off huge area's that you'd not be able to see without noclipping up unclimbable faces anyway.
Well the problem is that its multiplayer. For singleplayer constantly loading new areas would work fine, but not quite so for multiplayer. And I dont really want to waste my time making it work, lol.

One map will have to do! And if it dont... Err... I'll just force everyone to crawl on their bellies.
 
dawdler said:
Well the problem is that its multiplayer. For singleplayer constantly loading new areas would work fine, but not quite so for multiplayer. And I dont really want to waste my time making it work, lol.

One map will have to do! And if it dont... Err... I'll just force everyone to crawl on their bellies.
nooooo damn hehe

no I didn't mean the loading new area's bit. I meant the way its styled. When you play Morrowind, the journey from where you start to Balmora seems quite a track, but fly over it all its just a short distance away. It's how they built the map that gives the impression of being bigger. The way they force you to go in set directions without you feeling like your being limited in how you move about.

HL2 does the same, the coast maps seem huge but they are really just but U shaped maps. Throw in other tricks and that silent teleport trick and you can make it seem even bigger.

HL1 did it too with the interiors, made single maps seem bigger when they were infact incredibly small. That brainbread mod does it too, with the Town map, feels huge but its only really small.
 
Back
Top