Water Troubles

Discussion in 'Mapping Questions & Discussion' started by Mathyaz, Feb 28, 2016.

  1. Mathyaz

    Mathyaz L1: Registered

    Messages:
    27
    Positive Ratings:
    10
    Hey, everyone. I'm quite new here, but not so new to the game. Name is Mathias, stylized as Mathyaz.

    So, wow, talk about community. Watched Crash's tutorials that have been posted so far about building TF2 maps, and never even knew about a place like this. I hope I can be of some use and enjoy the site. Great place.

    But, I'll get down to the nitty-gritty. I've had this idea for a TF2 map since like, 2010, but I was a wee babby when it came to actual mapping. I'd draw schematics and blue-prints for my maps but never actually delve into Hammer in fear of it being too complicated or losing interest too fast.

    koth_subplatform blueprint
    TF2 Map (King of the Hill).png

    One of my ideas was a map that drew inspiration from Bioshock's Rapture and MGS2's Big Shell. I called it subplatform, and have referred to it ever since. Attached are pictures for those of you who need a bit of visual projection.
    I wanted a sprawling underwater facility, with walls and ceilings made of glass so that you could see out into the ocean. But I also didn't want just a big block on the sea floor, I wanted something that would insinuate research, science, but also mystery and fantasy. So, I took the two and smashed them together. I present, koth_subplatform. A project almost six years in the making.

    Red / Blue Spawn
    2016-02-28_00001.jpg

    Hallways
    2016-02-28_00002.jpg 2016-02-28_00003.jpg 2016-02-28_00004.jpg

    koth stadium - sniper's nest, hallway, and basin
    2016-02-28_00006.jpg 2016-02-28_00007.jpg 2016-02-28_00008.jpg

    koth_subplatform top-down
    2016-02-28_00011 (SECOND).jpg

    So, the entirety of the map will be exploreable. The ocean floor, shortcuts from hallways TO the ocean floor, and a second route out of the spawn room to the ocean floor. Each hub has five routes to take to get to the point in the middle, so I know there's plenty of space, regardless of the "cramped hallway" feel. There are still a handful of things to do before this is ready for testing, but here is my main concern:
    What would be the best route to take to get the actual ocean water into the map?
    I know that you create water by making a brush with the nodraw texture on it, and then making the visible face the only water texture, but in a map that is literally IN the water, I'm going to need way to fill the spots I need with water, whilst leaving places for the player to go without drowning.

    Any feedback or ideas are appreciated. If you need more information about the map itself, let me know.

    And just a note, I HAVE covered the structure blocks with dev texture, moved the subplatform itself, and tried carving the structure shape into the water. It crashed Hammer every time I tried it.
     
  2. iiboharz

    aa iiboharz Meme Queen

    Messages:
    711
    Positive Ratings:
    1,034
    I mean, you're gonna have issues with this no matter what you do, but honestly the best way is to just manually build the water brushes around the map.

    The engine has issues (or I think even out-right can't) rendering water on planes that aren't coplanar to a horizontal axis.

    Even moreso (and I know this for a fact) if you have multiple instances of expensive water at different heights in the same PVS (potentially visible set) there will be rendering issues. You also cannot use both expensive and cheap water in the same PVS.

    You might be able to set up some sort of trick using player conditions (in particular the one from Doomsday Event), but I don't know much about those. Maybe ask @Egan ?

    For more info about water in the Source Engine, please go here.

    Hope I was of some help.
     
  3. Mathyaz

    Mathyaz L1: Registered

    Messages:
    27
    Positive Ratings:
    10
    I'm totally prepared to just transform the map into an above-surface oil refinery sort of map. The map is early enough in development where that is possible, but I'd like it to be a last resort.
    There are just a good amount of angles and slants with staircases and such. Making each of the brushes would probably have to be the last thing I would do before I detail the map.
     
  4. radarhead

    aa radarhead Hands out ratings like cheap cigars

    Messages:
    1,004
    Positive Ratings:
    543
    Six years in the making? That is too long, man. Hopefully it will be worth the wait! (Though be warned, the majority of players dislike fighting underwater)
     
  5. Vel0city

    aa Vel0city func_fish

    Messages:
    1,919
    Positive Ratings:
    1,536
    After reading trough your OP, I can already say that what it is that you want to do can't be done in Source.

    As I understand it from your post, you want different brushes surrounding your map that emulate the feel of being under water. The only way for that to happen is actually by not using water at all, and instead use a moving refracting material on the glass walls. A map that's also set under the ocean and does the same thing is cp_hadal. That said, you shouldn't actually use refracting materials in your case. You have glass panels all over the place, and while Source does support refracting on more than one axis at the same time, it gets incredibly heavy to render which drags down dat fps. Try emulating that underwater feeling with detailing and an equal colored skybox with appropriate fog settings (for example, cp_abyss, another underwater map, has a skybox texture that has an equal colored skybox with a slight gradient from light on top to dark on the bottom. See this thread for that. It also plays with artificial light rays coming down from the top to emulate the under water feeling).
     
  6. henke37

    aa henke37

    Messages:
    1,890
    Positive Ratings:
    443
    Remember, there is a difference between water physics and the water shader. While they are traditionally always used together, there is no rule that they have to be. Likewise, water materials are more than the shader, they are two materials, each with its own shader.
     
  7. Tumbolisu

    aa Tumbolisu  I ⌄ I 

    Messages:
    944
    Positive Ratings:
    922
    Now onto something more important: Gameplay, Optimization, Visuals.
    All three are important for a good map, but you can't go ahead and sacrifice a ton of frames just for a pretty map. You need to design your layout in a way that it not only plays well, but also allows for pretty good optimization.
    You know how many people bitched about koth_suijin having shit optimization? The problem isn't the optimization, it's the layout. It's very open, so most of the time you can see nearly the entire map. (Lumberyard is also a very open map, but at least it's small) Meanwhile Junction is littered with props (in a negative way) and yet it has good frames. All because the different areas of the map aren't particularlly huge and are seperated by relativlly small doorways.
    tl:dr If you wanna keep all your stuff see-through, you are fucked.
     
    • Agree Agree x 1
  8. Hagfishsaurus

    Hagfishsaurus L1: Registered

    Messages:
    20
    Positive Ratings:
    0
    Water is so incredibly hard to work with in source, id advize against water themed maps unless its mostly cosmetic
     
  9. Lampenpam

    aa Lampenpam

    Messages:
    1,019
    Positive Ratings:
    337
    You should have used hammer since you came up with this idea. Only like this you can get used to the programm. And since it is indeed somewhat complicated, your first map won't be very good. That's the story of pretty much everyone who used hammer and I recommend you to scrap this water map and try something more traditional.
     
  10. Mathyaz

    Mathyaz L1: Registered

    Messages:
    27
    Positive Ratings:
    10
    Thanks everyone for your input. I recognize the difficulty with water, and are probably going to dumb-down the amount of glass within the map. Being able to see around would be nice, but it's going to be nearly impossible with the amount of water I'd need to put in the map. That being said, I'd still like to be able to explore the outside. Perhaps putting the structure on the seabed would be the better idea in the end?
    I'll post updates as I get farther in production if anyone is interested.