Tutorial: DM to Greed Conversion

 

This tutorial presumes you have a good understanding of the editor.  There are a few technical requirements to convert a map to work for Greed. There will also be suggestions on how to set up the map to work well for Greed. These are based on my perspective on what makes a good Greed map and are not required.

The Technical Requirements

1. Open up the unpublished version of your map, select the “File” menu, then “Save As…”. Save the map into the Unpublished\CookedPC\CustomMaps directory in your “My Documents” UT 3 folder.  It must have either “CTF-” or “VCTF-” as the prefix name depending on whether or not you will be adding vehicles.

    a. While you can open a published version of a stock map to convert it to a Greed map (as I have done this), you should never do this to another person’s map with out their approval first.

2. With your unpublished version open, select the “View” menu, the “World Properties”. Expand “WorldInfo”, then expand “GameTypesSupportedOnThisMap”

3. Select the red “X” button for the first three entries which should be the original DM game types. You should only have one left (UTCTFGame_Content or UTVehicleCTFGame_Content, depending on your map’s prefix).

    a. If you want to allow hover boards, but not other vehicles, you can make the prefix “VCTF-” and either not add any vehicles or remove any existing ones.  If you do this, you should communicate clearly with potential players that there are no additional vehicles in the map.

4. You need to add a blue and red flag which are located in the Actor Browser (NavigationPoint -> Objective -> UTGameObjective -> UTCTFBase -> UTCTFBase_Content (whew!).

5. You need to add team based player starts which are also located in the Actor Browser (NavigationPoint -> PlayerStart -> UTTeamPlayerStart).

    a. By default, the team color is red.  To change it to blue, open it’s properties, expand “UTTeamPlayerStart” and change the 1 to 0 (zero).

6. You can also add defensive points for the bots to use, which are located in the Actor Browser (NavigationPoint -< UTDefensePoint.

    a. Open up the defensive point’s properties and fill out the appropriate info in the “UTDefensePoint” section.

7. Be sure that there are paths going to the new flag bases. You can press the “P” key in the editor to verify this.

The Subjective “Requirements”

The following are my personal guidelines in converting a DM map to Greed.

1. Flag placement: Since most DM maps aren’t symmetrical and thus are imbalanced (which is great for DM), it’s virtually impossible to try and make it balanced.  I usually will place both flags in the same place, some where in the center of the map.

    a. If you place one flag, then rotate the other 180 degrees on the Z axis, then align the hole where the flag would rest in, when you play Greed, the red and blue effects will be going towards the same spot.  There will only be one conduit (or flag base) displayed in game and the red and blue effects should be clear enough for players.b. While you can place more than one flag base for each team, the bots will only recognize the first flag base you place in your map for each team. 

    c. For each flag, you should adjust some of it’s properties. In the “UTCTFBase” section, adjust the values for the “MidFieldHighZOffset, MidFieldLowZOffset”, and “NearBaseRadius”. These are used by the bots to communicate to you where the enemy is. If you place the flags in the middle, there is a greater chance most players will be near the flag most of the time.  This is different than your traditional CTF flag placement. There fore, you should probably reduce the values.

    In the “UTGameObjective” section, adjust the value for “BaseRadius”. This is used by the announcer in case some one kills an enemy player that is carrying skulls and is in this radius.  Again, if the flag is in the center, this value should be reduced to make more sense.

2. Player Starts: Similar to the flag placement suggestion, I would place these in pairs (one red, one blue) through out the map. You may want to keep them close to a weapon and possibly a couple near the flag. But by keeping them in these pairs, there is an “equal” chance for either team to spawn in the same place.

If the map has a linear layout with flags place apart from each other, you can probably be able to place each team’s player starts around the each flag.

3. Weapons and pick ups: If there are any pick ups near the flag location, feel free to move them. For Greed maps, I believe there should be any or a limited amount of certain power ups/weapons.  These include the shield belt, big health (100), Redeemer, more than one power up (Udamage, berserk, invisibility, etc.). I strongly believe there should never be an invulnerability power up.

The reason why I say this is Greed is less about killing people and more about taking a skull and delivering that skull to a particular place. There fore, it shouldn’t be too easy to kill or not to be killed.  In addition, the game adds game play adjustments based on how many skulls you are carrying (extra armor and Udamage).

While it’s not a good thing to fall into an exact way of doing things, item placement should always be thought out to make sure it works for the game mode and especially your map’s layout.

4. File Name: I personally suggest adding “GRD” at the beginning of the map name if your level doesn’t follow the traditional CTF layout (as most DM maps won’t).  For example “CTF-GRD-YourMapName”.  This can communicate to the player that this map is meant to only be played in the Greed mode.

5. Level Preview Pics: If there is a another version of this map (DM, WAR, standard CTF), I suggest adding a conduit in your level preview picture to help the player understand this map is meant for the Greed game mode.

Returning Skulls/Players back to the map.

If the original map has a great chance of either a player or skulls failing off the playable area, it might be a good idea to add a system to return them to the playable area.  Since the main focus of Greed is the skulls and returning them to a base, having players that are carrying the skulls or dropped skulls disappearing can be frustrating for players and will extend the game.

To accomplish this, we are going to create a trigger volume/s which will then teleport the player or skull back to the map.  Where they decide to return is up to you and it should be in a place that doesn’t give the returning players an advantage.  Also keep in mind that players will keep their momentum of the fall as they return to the map.  The farther they fall, the more damage they will take when they finally land.  So let’s begin.

Here is a picture of the Kismet sequence I created and you can download the map here.

ut3-tut-greed-triggers

  1. Creating the Trigger Volumes
    1. Create a trigger volume (or multiple volumes) by sizing the builder brush to the correct size and place them in your map.
      1. Try to use as few volumes as you can.
      2. The height of the volume shouldn’t really matter, but I use 64 units.
  2. Adding the destination Path Nodes
    1. Place a path node for each area you want the player to return back to the map.
      1. If you only add one path node, it’s possible for players to get telefragged if they both fall at the same time.  Even if there is only going to be one general area, place as many path nodes as you can.
      2. Rotate the pathnodes in a direction that will make sense to the player.  The player should be able to move right after they teleport.
      3. Keep in mind that if the player dies when they return to the map (because the received too much damage or another player caused them to fall off the map), the skulls will bounce around.  There should be no chance of the skulls falling off the map until a player picks them up again.
      4. Since the skulls will disappear after a given time, they should be returned to the map in a high traffic area that is not beneficial to either team.
      5. Bots should also have paths that will help them get back into the fight.
  3. Adding the Touch Nodes in Kismet
    1. Select ALL of your trigger volumes that will be used to return players/skulls to the map and open up Kismet.
      1. Right click in the workspace, select “New Event/s using TriggerVolume_0,…“, then select “Touch“.
      2. Depending on how many trigger volumes your map contains and how many you have selected, the first menu after you right click may look slightly different.
      3. A touch event will be created for each trigger volume you had selected.  Organize these as needed.
      4. In the properties for each Touch node you will have to select the correct “ClassProximityTypes“.  The default class is “Pawn“, which is for players/bots.
        1. If you want to teleport Greed skulls, expand that field by selecting the “triangle”, then the “drop down triangle” to the right of the word “Pawn”.
        2. Scroll down until you see “UTGreedCoin” or you can just type it until it’s selected.
        3. You could additional classes by selecting the “green plus sign”, which will add another entry.
        4. Be thoughtful when deciding if you want to return players and Greed skulls to the exact same spot.  In one of my maps, there were in two different locations in the map.
        5. Be thoughtful when deciding you want to use the same trigger volume for both players/skulls.  You may want to “punish” the player a bit more by making them fall farther.
      5. In the properties for each Touch node, you will also need to change the “MaxTriggerCount” to “0” (zero) so that it can be used over and over again.
  4. Adding the Random Node in Kismet
    1. To the right of the Touch event node/s, right click, select “New Action“, then “Switch” on the sub-men, then “Random” from the sub-sub-menu.
      1. In the properties for the Random node, change the value of “LinkCount” to match the number of path nodes that will be used to teleport the players back to the map.
  5. Adding the Teleport Nodes in Kismet
    1. To the right of the Random node, right click, select “New Action“, then “Actor” on the sub-menu, then “Teleport” from the sub-sub-men.
      1. There should be the same number of Teleport nodes as there are path nodes used to bring the player/skulls back to the map.
      2. In the map, select a path node that will be used to return the player back to the map.
      3. In Kismet right click on the “Destination” output on the Teleport node and select “New Object Var Using PathNode_1“.  The pathnode number might be different.
        1. Repeat this for every set of Teleport node/pathnodes.  There should only be one pathnode connected to each teleport node.
  6. Connecting the Touch Nodes to the Random Node
    1. For each Touch Node, connect the “Touched” output connector to the “In” input connector on the “Random” node.
  7. Connecting the Random Node to the Teleport Nodes
    1. For the Random node, each “Link” output should be connect to a unique Teleport’s “In” input connector.
  8. Connecting the Touch & Teleport Nodes to an Object Variable
    1. Find one of the Touch event nodes, right click on the “Instigator” output and select “Create New Object Variable“, which will connect a purple (when it’s not selected) circle with 3 question marks (???) in it.
    2. Move this circle (Object Variable) to a spot in your workspace that is either above or below your Random node.  We will be making a lot of connections to it soon and we need some space around it.
    3. Now connect the remaining “Instigator” outputs to the same Object Variable
    4. Now connect all of the “Target” outputs from each Teleport node to the same Object Variable.
    5. This object variable will tell the engine that what ever specific player/bot/skull triggers the trigger volume will also be the same “actor” that will be teleporter.

In my O-bert map, I created a “Greed Returning Base” that looks similar to a weapon base using some stock assets (static mesh and an emitter) so it looks there is a device that is returning the player/skulls back to the map.

Written by Odedge, with help from Diesalot.  Thanks to Stevelois for requesting the “Returning Skulls/Players back to the map” section to be created.

  2 Responses to “Tutorial: DM to Greed Conversion”

  1. THX for sharing this info, very useful :) The only settings I don’t truly understand yet are the “MidFieldHighZOffset, MidFieldLowZOffset”, and “NearBaseRadius” settings.

    It would be a good addition to add the info when you have a open map & skulls can fall into the sea / space / void whatever & then automatically respawn in a certain spot in the map. For example, like it’s the case in DM-Obert map & DM-OrbitalFlux by LPS. I have a map that I would like to make Greed specific but it’s very open & I would like to know how to do to make the skulls respawn at a specific spot in the map.

    If it’s not to much to ask ofc :)

  2. I don’t remember the exact phrases, but the bots will say when things are “midfield” and such. Which really doesn’t help you as it can mean many things for each map.

    The “near base radius” is also used by bots to tell you when an enemy is near the base. Depending on your radius, this may help a bit more than the other fields. I don’t think Epic carried this out feature as much as they wanted.

    No problem Steve. I will add that to the end of this tutorial to keep it all in one place. Should be done by this weekend.

    Thanks for your feedback.

© 2010 Odedge Level Design Suffusion theme by Sayontan Sinha