Jump to content

RWG City District - Grid


zztong

Recommended Posts

A number of players have requested an Airport POI. Yet, the scale of such a POI presents a challenge. If we were to mimic an actual regional airport runway, we'd need 1500 blocks in length, or more. That's 10 Tiles (unless you make the runway run diagonally along the hypotenuse of a square area).

 

Obviously, POI designers take liberties with scale. How many blocks makes a reasonable runway? Unless the answer is less than 150, you need more than one tile. If you settle on 100 blocks of runway to allow for various runway trappings (lights, barriers), then your runway will be rivaled by the in-game equivalent of the Walmart parking lot.

 

An idea for getting around this is having a way to specify groups of Tiles that appear together in a predictable pattern. The following example XML attempts to suggest letting folks define a District in grid form, specifying which Tiles are placed where, how they are rotated, and how other tiles can connect to them. As a District, it could be part of a larger city. Or, the District could be the only District of some custom settlement.

 

A 2x2 Grid is depicted. I suspect an airport would probably need to be 3x2, but its the grid concept that matters, probably not any potential limits on max dimensions.

 

<rwgmixer>

    <!-- Defines an Airport as a City District of type "Grid" -->
    <!-- Alternatively, the presence of a "grid" property might be enough. -->
    <district name="airport" type="grid">
        <property name="district_spawn_weight" value="0.2"/>
        <property name="district_required_township" value="city"/>
        <property name="district_preview_color" value="0.5,0.5,0.1"/>
        <property name="poi_required_tags_all" value="airport"/>
        <property name="grid" value="airport"/>
    </district>

    <!-- Defines an Airport Grid as 2x2 Tiles -->
    <grid name="airport">
        <row id="0">
            <column id="0">
                <property name="tile" value="rwg_tile_airport_parking_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="0,3" />
            </column>
            <column id="1">
                <property name="tile" value="rwg_tile_airport_terminal_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="0,1" />
            </column>
        </row>
        <row id="1">
            <column id="0">
                <property name="tile" value="rwg_tile_airport_runway_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
            <column id="1">
                <property name="tile" value="rwg_tile_airport_runway_02" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
        </row>
    </grid>

    <!--
        TAGS: Row, Column - Specify the Grid Cells.
        TILE: Specifies the Tile's filename root.
        ROTATION: Just like a POI's Rotation to Face North value.
        EXITS: Tells RWG the tile sides to connect to City Tiles.

        I had thought about Tiles having "Corner", "T", etc. But within a grid
        you can end up with Tiles that have no exits to the city, like the
        runway tiles in this example.

        Perhaps an Airport would be better as its own settlement. In which
        case, make it the only district of that settlement.
    -->

</rwgmixer>

 

Thanks for listening.

Link to comment
Share on other sites

  • 1 month later...

zztong,

 

You are spot-on with your assessment of generating an airport. This is fantastic, and goes inline with a little something that I have been working on; A regional airport! Since many players (myself included) would love to see airports included in the game.

 

So far I have been able to finish a terminal complete with concourse, gates and a few airliners parked at the gates. 20221017164633_1.thumb.jpg.0b12fa48bb3be3aa73b7840ed1329292.jpg

 

It's a modular design comprised of 2 tiles, a large part (Skybridge) and 9 inter-connected POIs. The image above is the complete terminal put together. As you can guess, the terminal has to be assembled in a certain order and orientation to make sense. This is just the tip of the iceberg, as an airport encompasses much more than just a terminal. To complete the airport, I came to some of the same conclusions;

 

- Airports should be treated like special towns upon map generation

- Certain parts of the airport, such as the terminal and runways, must be placed in a specific order and in a specific orientation to each other and the map

- Runways would range between 1000 - 3000 meters (spot on with the 1500 meter estimate that you came up with)

- "Districts" would be handled differently than normal towns in the sense that they would represent certain parts of an airport environment such as runways, taxiways, tarmac, hangars, terminal, etc.

- Non-airport tiles could be integrated into the airport as a whole, leading up to the terminal tile; Around an airport it's not uncommon to see large parking areas (including parking garages), small businesses, car rental lots, hotels, restaurants, etc. In my opinion, I would start with the usual trader tile, but then quickly move to industrial and/or commercial tiles which then give way to the terminal tile and the rest of the airport.

- Given the vast size of the runway environment, it dawned on me that this might be best treated as special "wilderness" tiles; Besides the runway, certain smaller POI's could spawn.

 

Anyway, these are my opinions to introduce airports into 7 Days to Die. What do you think?

If you like what you see, check out some more of my Steam screenshots;

https://steamcommunity.com/profiles/76561197966986156/screenshots/

 

Link to comment
Share on other sites

48 minutes ago, AH64_Jimbo said:

Anyway, these are my opinions to introduce airports into 7 Days to Die. What do you think?

 

I largely agree.

 

The local regional airport where I live is 1707 meters, which I rounded off for the sake of discussion. Nobody is going to make an 11 Tile (1700/150) runway in the game, but how many tiles is enough to convey the theme? 3? 5?

 

You're showing a 6 gate terminal with larger aircraft, so you're going to be looking for a long runway to go with that, I'm guessing 5-7 Tiles in length so that the runway is longer than the terminal.

 

I was thinking of my regional airport with 1 gate and no passenger boarding bridges. I was also thinking of the airport in Nome AK that I once visited: 2 gates, no bridges.

 

But either vision would be supportable with the base idea of declaring a grid. Anything more about integration with cities, stand alone settlements, etc. we would just roll with whatever support TFP could extend via RWG. An airport off on its own in the wilderness works well enough. Other non-airport projects that might want to use a grid might prefer to be more tightly integrated into a settlement.

Edited by zztong (see edit history)
Link to comment
Share on other sites

Since we're sharing pictures, here's my regional airport. Of all the buildings pictured, the one on the far left is the gate/terminal/operations building. There is no tower. The two larger hangers contain some maintenance facilities. There's a flight school in one of the buildings, some research, etc. Parking is hidden by the hangers or the gate/terminal building. A taxiway is only partially shown. I'd probably try to make the buildings depicted fit on 1 Tile. Then a runway could be maybe 3 Tiles, though 5 Tiles would probably look better. If we had some flexibility in what we could do with Gateway Tiles, then maybe I'd put the airport buildings there and just have a runway for the settlement.

 

image.jpeg.92d507b5f4b65aaa2c254d22f4ae393f.jpeg

 

1370353760_UNIGeneral011817(41cr)_1.jpg.1a52cf6aa383f73720355f140e539031.jpg

Edited by zztong (see edit history)
Link to comment
Share on other sites

3 hours ago, AH64_Jimbo said:

zztong,

 

You are spot-on with your assessment of generating an airport. This is fantastic, and goes inline with a little something that I have been working on; A regional airport! Since many players (myself included) would love to see airports included in the game.

 

So far I have been able to finish a terminal complete with concourse, gates and a few airliners parked at the gates. 20221017164633_1.thumb.jpg.0b12fa48bb3be3aa73b7840ed1329292.jpg

 

It's a modular design comprised of 2 tiles, a large part (Skybridge) and 9 inter-connected POIs. The image above is the complete terminal put together. As you can guess, the terminal has to be assembled in a certain order and orientation to make sense. This is just the tip of the iceberg, as an airport encompasses much more than just a terminal. To complete the airport, I came to some of the same conclusions;

 

- Airports should be treated like special towns upon map generation

- Certain parts of the airport, such as the terminal and runways, must be placed in a specific order and in a specific orientation to each other and the map

- Runways would range between 1000 - 3000 meters (spot on with the 1500 meter estimate that you came up with)

- "Districts" would be handled differently than normal towns in the sense that they would represent certain parts of an airport environment such as runways, taxiways, tarmac, hangars, terminal, etc.

- Non-airport tiles could be integrated into the airport as a whole, leading up to the terminal tile; Around an airport it's not uncommon to see large parking areas (including parking garages), small businesses, car rental lots, hotels, restaurants, etc. In my opinion, I would start with the usual trader tile, but then quickly move to industrial and/or commercial tiles which then give way to the terminal tile and the rest of the airport.

- Given the vast size of the runway environment, it dawned on me that this might be best treated as special "wilderness" tiles; Besides the runway, certain smaller POI's could spawn.

 

Anyway, these are my opinions to introduce airports into 7 Days to Die. What do you think?

If you like what you see, check out some more of my Steam screenshots;

https://steamcommunity.com/profiles/76561197966986156/screenshots/

 

These are great, incredible work man. The detail on the jet planes look awesome too!

Link to comment
Share on other sites

6 hours ago, zztong said:

Since we're sharing pictures, here's my regional airport. Of all the buildings pictured, the one on the far left is the gate/terminal/operations building. There is no tower. The two larger hangers contain some maintenance facilities. There's a flight school in one of the buildings, some research, etc. Parking is hidden by the hangers or the gate/terminal building. A taxiway is only partially shown. I'd probably try to make the buildings depicted fit on 1 Tile. Then a runway could be maybe 3 Tiles, though 5 Tiles would probably look better. If we had some flexibility in what we could do with Gateway Tiles, then maybe I'd put the airport buildings there and just have a runway for the settlement.

 

image.jpeg.92d507b5f4b65aaa2c254d22f4ae393f.jpeg

 

1370353760_UNIGeneral011817(41cr)_1.jpg.1a52cf6aa383f73720355f140e539031.jpg

Admittedly, an airport like this would have made a better proof-of-concept than the monster that I have been making. Oh well! However, with your Grid idea, it would be more than possible to generate a smaller airport like this, or a larger one like I am making; After all, there are different sizes to the various towns that are generated in RWG.

Link to comment
Share on other sites

2 hours ago, AH64_Jimbo said:

Admittedly, an airport like this would have made a better proof-of-concept than the monster that I have been making. Oh well! However, with your Grid idea, it would be more than possible to generate a smaller airport like this, or a larger one like I am making; After all, there are different sizes to the various towns that are generated in RWG.

 

I think you're going for a "taste of phoenix", which I think TFP does too with their skyscrapers.

Link to comment
Share on other sites

I endorse this idea of having tile systems that we could configure in a predictable manner.  I've been wanting to do a canal tile system, but with how the tiles are semi-randomly placed with the current system, you just end up with a unrealistic grid of canal networks.  Same thought could be applied to a railway tile system.  Noe, if we could have a custom tile system where you didn't have to have all five tiles as you do now - maybe just limited to straight, corner, and caps (not to mention adding custom gateway tiles), then we'd be able to generate a "linear" type district/city.   Though that wouldn't necessarily help out with the Airport setup - as you'd want to have control over specified placement and orientation of the tiles used for something like that.  

Link to comment
Share on other sites

This grid tile suggestion would also work well for the elevated road/train that is depicted in the images/videos section.  Right now, it can only be done by making a custom map.  With a grid system, it would be easy.

 

As a side note, in the original thread about the airports, I provided a way to avoid the very long runways without looking odd if you want to take a look.

Link to comment
Share on other sites

1 hour ago, Riamus said:

As a side note, in the original thread about the airports, I provided a way to avoid the very long runways without looking odd if you want to take a look.

 

I saw it. Basically, make the runway look like it dissolved into ruin or overgrown land. Position it in the Wilderness, or perhaps the edge of town, hoping that RWG won't place a landmark or a POI where the runway would have continued. It's an interesting idea with merit. I'd go Wilderness with this approach. As a Tile, I worry RWG will rotate it such that the runway ploughs into an Industrial zone or puts it next to Downtown.

 

I've also thought about the military. An Air Force Base would be too big. (The one I was stationed at would be a 10k map all by itself.) Also, aircraft have very long ranges, so why rush around during a pandemic to build a dirt airfield near Navezgane? I mean, somebody is _still_ airdropping crates on the area. What I could see is somebody clearing a patch of dirt for helicopter transports to use.

Link to comment
Share on other sites

  • 3 months later...

Something occurred to me while I was laying out the airport that it might be easier to have pre-defined airports. Instead of having a completely random layout, a few airport designs (reusing the same tiles and POI's) could be defined and sequentially unpacked in a specific order and rotation. That way we could get the exact airport we needed without any random weirdness . . . if any of that makes sense.

Link to comment
Share on other sites

47 minutes ago, AH64_Jimbo said:

Something occurred to me while I was laying out the airport that it might be easier to have pre-defined airports. Instead of having a completely random layout, a few airport designs (reusing the same tiles and POI's) could be defined and sequentially unpacked in a specific order and rotation. That way we could get the exact airport we needed without any random weirdness . . . if any of that makes sense.

Well, you could always turn that entire airport into a single POI and it will always be laid out the same way.  The issue is that POI sizes, although supposedly unlimited in wilderness seem to have a max usable size before you run into problems and I have a feeling yours would be larger than that.  If they could fix the issues relating to larger POI, it would be feasible.  In the meantime, you could break it up into POIs that are within that size range and make them available for people to add to their maps through the world editor.  If it's a limited number of POI "pieces", players would be more likely to add it to their world than if each building was its own POI and they had to make a real effort adding it.

Link to comment
Share on other sites

59 minutes ago, Riamus said:

In the meantime, you could break it up into POIs that are within that size range and make them available for people to add to their maps through the world editor. 

That's actually exactly how I made my terminal and concourse. It's actually made up of 9 individual but inter-connected POIs sitting on two RWG tiles. For example, see below my airport_concourse_01_b POI. Together with the concourse_a, all six gated aircraft (or aircraft remnants) together with the terminal they make up the entire concourse and terminal.

 

I should have been more specific; When hypothetically unpacking the airport, the program would have to lay out the RWG tiles in a specific way. Once the correct RWG tiles are in the right place and the correct orientation, then it's just a matter of placing the POIs, which can  be controlled by the RWG tiles (i.e. Zoning). 

 

FYI, the tarmac, runways, taxiways, and hangar bases are all made up of 150 x 150 RWG tiles.

 

image.thumb.jpeg.18bc51d054b4a7fd6e6413aeb155da40.jpegimage.thumb.jpeg.9efe020ce23672d8ba5c4234343da9cb.jpeg

Link to comment
Share on other sites

So if I understand this, you're making Tiles but instead of having RWG place them, you're placing them manually. Did I get that right?

 

Randomness is appealing to me, so it probably isn't a direction I'll go, but I see the logic behind the idea of making an airport for people to manually place and it meets the goal with features available today.

 

6 hours ago, Riamus said:

Well, you could always turn that entire airport into a single POI and it will always be laid out the same way.  The issue is that POI sizes, although supposedly unlimited in wilderness seem to have a max usable size before you run into problems and I have a feeling yours would be larger than that.  If they could fix the issues relating to larger POI, it would be feasible.

 

Agreed. I'm aware the CP folks having trouble with larger POIs too. I stick to 150 since it seems safe TFP will support the Tile size.

Link to comment
Share on other sites

On 8/22/2022 at 4:47 PM, zztong said:

A number of players have requested an Airport POI. Yet, the scale of such a POI presents a challenge. If we were to mimic an actual regional airport runway, we'd need 1500 blocks in length, or more. That's 10 Tiles (unless you make the runway run diagonally along the hypotenuse of a square area).

 

Obviously, POI designers take liberties with scale. How many blocks makes a reasonable runway? Unless the answer is less than 150, you need more than one tile. If you settle on 100 blocks of runway to allow for various runway trappings (lights, barriers), then your runway will be rivaled by the in-game equivalent of the Walmart parking lot.

 

An idea for getting around this is having a way to specify groups of Tiles that appear together in a predictable pattern. The following example XML attempts to suggest letting folks define a District in grid form, specifying which Tiles are placed where, how they are rotated, and how other tiles can connect to them. As a District, it could be part of a larger city. Or, the District could be the only District of some custom settlement.

 

A 2x2 Grid is depicted. I suspect an airport would probably need to be 3x2, but its the grid concept that matters, probably not any potential limits on max dimensions.

 

<rwgmixer>

    <!-- Defines an Airport as a City District of type "Grid" -->
    <!-- Alternatively, the presence of a "grid" property might be enough. -->
    <district name="airport" type="grid">
        <property name="district_spawn_weight" value="0.2"/>
        <property name="district_required_township" value="city"/>
        <property name="district_preview_color" value="0.5,0.5,0.1"/>
        <property name="poi_required_tags_all" value="airport"/>
        <property name="grid" value="airport"/>
    </district>

    <!-- Defines an Airport Grid as 2x2 Tiles -->
    <grid name="airport">
        <row id="0">
            <column id="0">
                <property name="tile" value="rwg_tile_airport_parking_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="0,3" />
            </column>
            <column id="1">
                <property name="tile" value="rwg_tile_airport_terminal_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="0,1" />
            </column>
        </row>
        <row id="1">
            <column id="0">
                <property name="tile" value="rwg_tile_airport_runway_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
            <column id="1">
                <property name="tile" value="rwg_tile_airport_runway_02" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
        </row>
    </grid>

    <!--
        TAGS: Row, Column - Specify the Grid Cells.
        TILE: Specifies the Tile's filename root.
        ROTATION: Just like a POI's Rotation to Face North value.
        EXITS: Tells RWG the tile sides to connect to City Tiles.

        I had thought about Tiles having "Corner", "T", etc. But within a grid
        you can end up with Tiles that have no exits to the city, like the
        runway tiles in this example.

        Perhaps an Airport would be better as its own settlement. In which
        case, make it the only district of that settlement.
    -->

</rwgmixer>

 

Thanks for listening.

It doesnt have to be a major municipal airport.....

I had an airport on Guppycurs server ...at the time 200x200 was the max size...I had several hangers ....Actually had a small municipal one and a suburban rural one...both the same size . With the added blocks.....im sure it would be easier to do

Airport 8.jpg

Airport 9.jpg

Airport 10.jpg

Helicopter.jpg

Airplane.jpg

Airport 1.jpg

Airport 2.jpg

Airport 3.jpg

Airport 4.jpg

Edited by Ouch Quit It (see edit history)
Link to comment
Share on other sites

On 2/15/2023 at 7:46 PM, zztong said:

So if I understand this, you're making Tiles but instead of having RWG place them, you're placing them manually. Did I get that right?

 

Randomness is appealing to me, so it probably isn't a direction I'll go, but I see the logic behind the idea of making an airport for people to manually place and it meets the goal with features available today.

Exactly! I modified a pre-gen map with manually-placed prefabs first, in order to work out the kinks and also give you folks a chance to playtest the airport POIs that I designed. The goal is to eventually have randomly-generated airports. Plus more prefabs to explore. I wanted to generate a framework first, though, with which we can add more to it.

 

I could definitely use help figuring out the best way to randomly generate airports, as the vanilla random gen wouldn't support such an endeavor.  If you want to take a crack at designing new prefabs to place in and around the airport, then have at it! The more content the merrier, right?!

Link to comment
Share on other sites

10 hours ago, AH64_Jimbo said:

I could definitely use help figuring out the best way to randomly generate airports, as the vanilla random gen wouldn't support such an endeavor.  If you want to take a crack at designing new prefabs to place in and around the airport, then have at it! The more content the merrier, right?!

 

With the tech available today, the best I can think of would be to make an extra large wilderness POI and hope it gets placed by RWG and lands intact.

 

The next best approach might be to experiment with a settlement inspired by the Western Town as it often ends up being a strip maybe with a bend, but I'm not sure why. It might have to do with the maximum size of the settlement. You might get a runway with that approach some of the time.

 

Your approach to manually placing a series of airport tiles in the wilderness is completely reliable and likely to be popular with those who like to handcraft their maps.

Link to comment
Share on other sites

It depends what you want to accomplish with an airport.  An airport POI could be just the terminals and the start of a runway that brakes up, so it doesn't have a full length runway.  This could be done within the 150x150 parameters.  Another option that could be a bit odd is to have the start of a runway that fades into a full width road.  Not sure if there is a way to force that side of the airport POI to always connect to a road like how may traders are on the corner of an intersection.  It's not ideal, but if it was always on the outskirts of a city like a trader, it could be possible.

Link to comment
Share on other sites

14 hours ago, DocRussel said:

Not sure if there is a way to force that side of the airport POI to always connect to a road like how may traders are on the corner of an intersection.  It's not ideal, but if it was always on the outskirts of a city like a trader, it could be possible.

 

If you were to work on a Gateway Tile you could predict road connections, but not necessarily the path the roads take leading away from it. The problem will be that each Settlement uses the same Gateway Tile, so even the Western Town will have a copy of your airport.

Link to comment
Share on other sites

  • 2 weeks later...
On 8/22/2022 at 2:47 PM, zztong said:

I suspect an airport would probably need to be 3x2, but its the grid concept that matters, probably not any potential limits on max dimensions.

 

zztong, I took your city grid code and expanded it to what I believe my airport on my map, Navezgane Regional Airport, would look like as a 10x12 Grid.

 

Here is my airport depicted as a grid:

image.png.4599fbf35336ed0d1c99d561b53fdb4b.png

 

And here is the XML code:

<rwgmixer>

    <!-- RWG City District Grid
		Original Code Author: zztong, 22 August 2022
		Modified: AH64_Jimbo, 14 March 2023
				used original 2x2 Grid code to expand to a 10x12 Grid for 
				the airport found on map Navezgane Regional Airport -->
		
	<!--	Defines an Airport as a City District of type "Grid" -->
   
    <district name="airport" type="grid">
        <property name="district_spawn_weight" value="0.2"/>
        <property name="district_required_township" value="city"/>
        <property name="district_preview_color" value="0.5,0.5,0.1"/>
        <property name="poi_required_tags_all" value="airport"/>
        <property name="grid" value="airport"/>
    </district>

    <!-- Defines an Airport Grid as 10x12 Tiles -->
    <grid name="airport">
        <!-- First Row, Row 0 -->
		<row id="0">
            <column id="6">
                <property name="tile" value="rwg_tile_airport_runway_17" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
            <column id="7">
                <property name="tile" value="rwg_tile_airport_taxiway_corner" />
                <property name="RotationToFaceNorth" value="1" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_rural_corner" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="1,2" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_rural_straight" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="1,3" />
            </column>
			<column id="10">
                <property name="tile" value="rwg_tile_rural_t_02" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="1,2,3" />
            </column>
			<column id="11">
                <property name="tile" value="rwg_tile_gateway_cap" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="3" />
            </column>
        </row>
		<!-- Second Row, Row 1 -->
        <row id="1">
            <column id="6">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
            <column id="7">
                <property name="tile" value="rwg_tile_airport_tarmac_corner" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_hangars_cap_01" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_airport_tarmac_corner" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
			<column id="10">
                <property name="tile" value="rwg_tile_commercial_straight" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
		</row>
	    <!-- Thrid Row, Row 2 -->
		<row id="2">
			<column id="6">
				<property name="tile" value="rwg_tile_runway_segment" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="7">
                <property name="tile" value="rwg_tile_tarmac_edge" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_airport_tarmac_01R" />
                <property name="RotationToFaceNorth" value="1" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_hangars_cap_01" />
                <property name="RotationToFaceNorth" value="1" />
                <property name="exits" value="1" />
            </column>
			<column id="10">
                <property name="tile" value="rwg_tile_commercial_t" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="0,2,3" />
            </column>
		</row>
		<!-- Fourth Row, Row 3 -->
		<row id="3">
			<column id="6">
				<property name="tile" value="rwg_tile_runway_segment" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
			<column id="7">
				<property name="tile" value="rwg_tile_tarmac_edge" />
				<property name="RotationToFaceNorth" value="3" />
				<property name="exits" value="" />
			</column>
			<column id="8">
				<property name="tile" value="rwg_tile_airport_regional_concourse" />
				<property name="RotationToFaceNorth" value="1" />
				<property name="exits" value="" />
			</column>
			<column id="9">
				<property name="tile" value="rwg_tile_airport_regional_terminal" />
				<property name="RotationToFaceNorth" value="1" />
				<property name="exits" value="1" />
			</column>
			<column id="10">
				<property name="tile" value="rwg_tile_rwg_commercial_corner" />
				<property name="RotationToFaceNorth" value="0" />
				<property name="exits" value="0,3" />
			</column>
		</row>
		<!-- Fifth Row, Row 4 -->
		<row id="4">
			<column id="6">
				<property name="tile" value="rwg_tile_runway_segment" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
			<column id="7">
				<property name="tile" value="rwg_tile_tarmac_edge" />
				<property name="RotationToFaceNorth" value="3" />
				<property name="exits" value="" />
			</column>
			<column id="8">
				<property name="tile" value="rwg_tile_airport_tarmac_01L" />
				<property name="RotationToFaceNorth" value="1" />
				<property name="exits" value="" />
			</column>
			<column id="9">
				<property name="tile" value="rwg_tile_tarmac_edge" />
				<property name="RotationToFaceNorth" value="1" />
				<property name="exits" value="" />
			</column>
		</row>
		<!-- Sixth Row, Row 5 -->
		<row id="5">
			<column id="6">
				<property name="tile" value="rwg_tile_runway_segment" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="7">
                <property name="tile" value="rwg_tile_airport_tarmac_corner" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_tarmac_edge" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_airport_tarmac_corner" />
                <property name="RotationToFaceNorth" value="1" />
                <property name="exits" value="" />
            </column>
		</row>
		<!-- Seventh Row, Row 6 -->
		<row id="6">
			<column id="6">
				<property name="tile" value="rwg_tile_airport_runway_35" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="7">
                <property name="tile" value="rwg_tile_airport_taxiway_t" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_airport_filler" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
		</row>
		<!-- Eighth Row, Row 7 -->
		<row id="7">
			<column id="6">
				<property name="tile" value="rwg_tile_airport_filler" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="7">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_airport_filler" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="3" />
                <property name="exits" value="" />
            </column>
		</row>
		<!-- Ninth Row, Row 8 -->
		<row id="8">
			<column id="0">
				<property name="tile" value="rwg_tile_airport_taxiway_corner" />
				<property name="RotationToFaceNorth" value="0" />
				<property name="exits" value="" />
			</column>
            <column id="1">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
			<column id="2">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
			<column id="3">
                <property name="tile" value="rwg_tile_airport_taxiway_t" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
			<column id="4">
				<property name="tile" value="rwg_tile_airport_taxiway_straight" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="5">
                <property name="tile" value="rwg_tile_airport_taxiway_t" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="6">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="7">
                <property name="tile" value="rwg_tile_airport_taxiway_4-way" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_airport_taxiway_straight" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_airport_taxiway_t" />
                <property name="RotationToFaceNorth" value="0" />
                <property name="exits" value="" />
            </column>
			<column id="10">
                <property name="tile" value="rwg_tile_airport_taxiway_corner" />
                <property name="RotationToFaceNorth" value="1" />
                <property name="exits" value="" />
            </column>
		</row>
		<!-- Tenth Row, Row 9 -->
		<row id="9">
			<column id="0">
				<property name="tile" value="rwg_tile_airport_runway_08" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="1">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="2">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="3">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
			<column id="4">
				<property name="tile" value="rwg_tile_runway_segment" />
				<property name="RotationToFaceNorth" value="2" />
				<property name="exits" value="" />
			</column>
            <column id="5">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="6">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="7">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="8">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="9">
                <property name="tile" value="rwg_tile_runway_segment" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
			<column id="10">
                <property name="tile" value="rwg_tile_airport_runway_26" />
                <property name="RotationToFaceNorth" value="2" />
                <property name="exits" value="" />
            </column>
        </row>
    </grid>

    <!--
        TAGS: Row, Column - Specify the Grid Cells.
        TILE: Specifies the Tile's filename root.
        ROTATION: Just like a POI's Rotation to Face North value.
        EXITS: Tells RWG the tile sides to connect to City Tiles.
		
	   May need one or more additional attributes to work with RWG
	   TAXIWAYCONNECTOR: Signals that a Taxiway Connector Part needs to be placed between a runway/tarmac and taxiway.
	   AIRPORTTILES: Specifies which sides of an Airport tile can be adjacent to other Airport tiles.
	   PERIMETER: Specifies which sides have no adjacent Airport tiles. Important for defining airport fence placement.
	  
	  Note that these last two attributes may be able to be rolled into one.
    -->

</rwgmixer>

 

One glaring issue is that this would, in theory, lay out the RWG tiles, but NOT any critical parts such as the taxiway-runway connectors, taxiway-to runway connectors, taxiway lines on the tarmac as well as the entire perimeter fence. These could be laid out using part spawners on the RWG tiles, however they would have to be dependent on certain conditions and should not left up to random chance.

 

This is one step closer to adding airports to random gen. Thoughts?

Link to comment
Share on other sites

14 minutes ago, AH64_Jimbo said:

One glaring issue is that this would, in theory, lay out the RWG tiles, but NOT any critical parts such as the taxiway-runway connectors, taxiway-to runway connectors, taxiway lines on the tarmac as well as the entire perimeter fence. These could be laid out using part spawners on the RWG tiles, however they would have to be dependent on certain conditions and should not left up to random chance.

 

I don't understand. Wouldn't those be built into the Tiles and just match up because the Tiles do? You're talking about columns 7-8 and rows 9-10, right?

Link to comment
Share on other sites

 

1 hour ago, zztong said:

Wouldn't those be built into the Tiles and just match up because the Tiles do?

Yes, fence parts and taxiway connectors would be built as part of the RWG tiles. However, the game would need to know exactly what parts to place and where to place them. Parts, to my knowledge and understanding are currently subject to be placed RANDOMLY to some degree. I need the exact parts to be placed CONDITIONALY.  In other words;

 

IF <There are no airport tiles on this side> THEN <Spawn fence section> ELSE IF <There is a taxiway segment that needs to be connected> THEN <Spawn a taxiway connector part> ELSE <If there is no connecting taxiway, and an airport tile on that side then spawn nothing>

 

Sorry for the confusion, but it's a problem that's been at the back of my mind that I've been trying to work out.

 

Edited by AH64_Jimbo (see edit history)
Link to comment
Share on other sites

To help visualize what I mean, consider rwg_tile_airport_runway_17 in the level/prefab editor:

20230314094005_1.thumb.jpg.a4fe85187ff918c9a3b1ceb5b1e6a93d.jpg

 

Here you can see can see all of the possible parts (taxiway ends and fence parts) that can potentially spawn. However it is the Part Spawn Chance that determines whether or not the part actually spawns . . . Random Chance. For now I've set that chance at 0%.

 

In the world editor you can see the parts that I have manually placed for rwg_tile_airport_runway_17 to make sense.

20230314094350_1.thumb.jpg.ceee0e6c96cfb73a3db3506d9119667b.jpg

 

Same with rwg_tile_airport_runway_35, which in this case requires a different set of parts to be placed.

20230314094442_1.thumb.jpg.db55e804fd1b08cce31479e2ba3a460e.jpg

 

If left to chance there is a high probability that the fence parts would spawn in the wrong places, fences could bisect taxiways, and taxiway ends would likely not spawn in the correct place or be missing entirely. That's why I need to figure out how to get the parts to spawn Conditionally

 

If that can be solved, I believe that random gen would be within reach for airports. Hopefully this makes things more clear. Any insight into how to make this work is much appreciated.

 

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...