Roundhouse

KotH Roundhouse a1

kungfusquirrel

L1: Registered
Dec 10, 2012
5
10
Greetings!

I hear word that the first alpha of koth_roundhouse did the rounds on the TF2Maps server tonight; I had planned to bring it over this way soon, probably with alpha 2, but since some of you may have seen it by now I figured I should pop my head over here.

Roundhouse has been something of a geometry experiment I've been fiddling with off and on for the last few years. I picked up a neat technique from former colleague Joe Swinbank for creating precise modular curves in UE3, and on a whim decided I'd try to replicate this in Source.

My first tests failed miserably as the rotated segments quickly degraded to floating point precision loss hell, but after Left 4 Dead shipped, I managed to convince some former colleagues at Valve to add instancing support back in to the Orange Box branch (so you can probably blame me for the horribly broken SDK that existed for a little while afterwards).

With instancing added, the technique worked perfectly - I could build a circular level on a happy grid, rotate segments to my heart's content, and never lose any floating point precision.

Shots 2-6 attached above demonstrate how the technique works. First, I build a segment on the grid as normal, using 0,0,0 in the world as a rotational pivot point. Then, I use two large brushes, rotated + and - 7.5 degrees on the Z axis, to chop off the sides (yes, the dreaded carve tool!). The chopped wedges can then be rotated on 15 degree increments, and as long as I'm careful about matching the geometry from one to the next, they seal perfectly.

This is a bit more detailed than an alpha should be, mainly in the central turntable section, but this was a necessary evil to prove how far I could take the concept and explore how various elements and textures would handle the seams.

I've run a couple playtests already and am well on the way to alpha 2 - because this level has been mostly focused on the technical geometry for so long, a few connections for alpha 1 are a little forced and awkward, and priority #1 in alpha 2 is streamlining that flow. Some other known issues:

  • The back door clips up through the roof. I'm an idiot and forgot I copied a non-animated door for that one. Oops.
  • The area behind the short side of the roundhouse is too empty, and that dump truck won't cut it. I'm playing around with a few options for more structure, including flipping the teams' spawns across the tracks to fill in more space and encourage more traffic through the roundhouse structure itself.
  • For some strange reason, you can build on part of the low roof, but not all of it. Some segments work, and some don't. Probably some weirdness with the rotated slope vs. the collision check in the engineer placement code. One possible option is adding some little flat ledges a la the little planks that roofers put out, and limiting roof-building to those locations. I'll need to fiddle.
  • There's some ugly displacement blends on the ground. The gravel/concrete blend is incredibly valuable for hiding the texture seams and repetition rotated around the center of the layout, but I've taken it as far as the proof of concept and no further.
  • I'm not happy with the big stairwell extending out behind the back entrance. Feels like it takes up too much X/Y space and makes an awkward extension from the building. The back entrance and this staircase has been re-worked and simplified for Alpha 2.
  • The rails on the ground in the roundhouse are jittery. I tried my HL1 instincts to use func_illusionaries, but these break when rotated in instances (they maintain their original rotation). I'm re-attempting non-solid rails with func_brush entities in alpha 2, but may have to experiment with some smoother clipping if that option fails.
  • General feedback so far has indicated a need for more cover around the turntable, this is on the way for alpha 2.
  • There is a third "back" exit from each spawn to help offset the spawn's proximity and line of sight to the main gameplay spaces. Unfortunately, I broke the Blue exit, so you might get stuck back there and curse my name. This is fixed (and the whole area re-worked a bit) in alpha 2.

I'm hoping to have Alpha 2 ready by next weekend, but if you had a chance to play around in it tonight or otherwise in your spare time, I'd still love to hear what you think. Enjoy!
 
Last edited:

tyler

aa
Sep 11, 2013
5,100
4,621
Cool, that means I don't have to post on MapCore!

You have some feedback (some of which you know already). Also, the demo.

Hopefully those help!

I like this map, but it needs to be focused more on gameplay areas if you want it to be a lot of fun to play. From a technical standpoint, though, I'm super impressed.
 
Last edited by a moderator:

kungfusquirrel

L1: Registered
Dec 10, 2012
5
10
That's about where I feel like it is right now - I'm super proud of the technical achievement, but there's a few areas that just still feel "off," especially in the interior. The big focus of A2 is streamlining those areas and making them more relevant to the flow, particularly in feeding people into the center. Now that I've had a chance to run around it with people, it's a lot easier to start re-routing things to where they should go.

I will note that it may be a revision or two before the two sides get textured differently. With the amount of duplicate files and geometry/texturing that comes out of the instancing setup I'm hoping to get the geometry a little closer to final before I take that leap. For what it's worth, the identical texturing drives me completely bonkers too :)
 

Seba

DR. BIG FUCKER, PHD
aa
Jun 9, 2009
2,364
2,728
23:01 - Seba: make it rotate
23:01 - Seba: otherwise what's the point

When I first saw the map, I thought the mid rotated, which would be rad as hell; unfortunately it apparently doesn't. Do it. I can't give other feedback because I haven't played it tonight :c
 

Penguin

Clinically Diagnosed with Small Mapper's Syndrome
aa
May 21, 2009
2,039
1,484
yeah basically what seba said, though i think the technical aspect is super neato, so i'm not gonna try and detract from that.
 

Micnax

Back from the dead (again)
aa
Apr 25, 2009
2,109
1,585
I think I can safely say everyone just got a boner from seeing all that technicality fit together perfectly. The roofs man! The goddamn roofs!

Also yes, make the point rotate. It makes things a lot more dynamic and equally more fun.
 

JeanPaul

L6: Sharp Member
Aug 5, 2010
295
284
Source's collisions/netcode would definitely make for a sloppy experience on a moving platform.
 

Sergis

L666: ])oo]v[
aa
Jul 22, 2009
1,874
1,258
I think I can safely say everyone just got a boner from seeing all that technicality fit together perfectly. The roofs man! The goddamn roofs!

Also yes, make the point rotate. It makes things a lot more dynamic and equally more fun.

the point should spin faster and faster as it gets capped, centrifuging everyone off it :D
 

Wilson

Boomer by Sleep
aa
May 4, 2010
1,388
1,227
This is probably good time to mention there is already other TF2 map under name Roundhouse.
 

tyler

aa
Sep 11, 2013
5,100
4,621
7Rm4e.png


Last seen 2010, with 0 servers. I'd say we're in the clear.

Enough of this now, let's not clog the thread further. And to make it clear, this is my opinion, not some Site Staff gospel or anything.
 
Dec 25, 2007
566
440
I mentioned this in chat, but for posterity (or in case you forgot): the roof building issue is resolved if you make the roofs just a little less steep. Reducing the height difference between the eaves and the peak by 32 units is enough to make the whole roof buildable (16 units was not quite enough).

For the rails: if func_brushes don't work, just turn them into non solid props (or you might even be able to use the existing long rail prop from 2fort).