MultiTeam CTF (MultiCTF) is a capture-the-flag variant for Unreal Tournament. A whole host
of new options have been added, as well as the ability to play with up to four teams!
The major difference between MultiCTF and other CTF mods is that having points is bad. Whenever
you capture another team's flag, THEY get a point! The team with the lowest points at the end of
the game wins!
MultiTeam CTF supports its own map type (CTFM maps), as well as regular CTF maps, CTF+ maps,
and CTF4 maps.
MultiTeam CTF requires Unreal Tournament version 436. Many of the HUD features require a screen resolution of 640 x 480 or higher.
Installing MultiCTF from the UMOD version is simple: double-click on the UMOD file and follow the on-screen instructions.
From a ZIP file, unzip the following files into the following locations (where /UnrealTournament is your UT directory):
- The documentation (MultiCTF Docs.htm, all jpg files) - UnrealTournament/MultiCTF
- MultiCTF.u - UnrealTournament/System
- MultiCTF.int - UnrealTournament/System
- MultiCTFTex.utx - UnrealTournament/Textures
- CTFM-TestRoom.unr - UnrealTournament/Maps
- CTFM-TestRoomReadMe.txt - UnrealTournament/Maps
To set up a MultiCTF practice session, simply follow the same guidelines as starting a regular
Unreal Tournament practice session, after reading the Game Options, Bots, and Key Binding sections.
Note that all of the MultiTeam CTF maps (prefixed CTFM) will be at the bottom of the map list.
There are two kinds of game modes in MultiTeam CTF -- Regular and One Flag.
In Regular Mode every team has a flag, and players must take opponents' flags and bring
them home in order to give the opposing team a point.
In One Flag Mode, every team has a visible flag which CANNOT be taken. Instead, a team must
find the One Flag (placed randomly thoughout the level) and bring it to an opponent's base. This gives
the opponent a point.
There are only two main changes that MultiTeam CTF makes to the Unreal Tournament HUD:
Also, if a team is eliminated and can no longer score points, that team's flag's icon disappears.
In the One Flag Mode HUD, the Enemy Team display has been replaced by the One Flag display. This shows the
current condition of the One Flag. If it is held, the icon appears in the color of the holder's team, and the
holder's name appears over the flag. If the option Omniscience is enabled, the zone that the flag is in will
also be displayed.
All of the game options for MultiCTF can be accessed by clicking on the RULES tab in the practice
session window.
- Tournament, Weapon Stay, and Time Limit are the same as in regular Unreal
Tournament matches.
- Score Limit - this is the point total that a team must reach before it has lost the game. If
set to zero, the game will continue until the time limit is reached.
- Max Teams - this is the maximum number of teams allowed in the game. When a regular CTF map is
used, only two teams will be present, no matter what the setting is here. Max Teams must be a value from 2 to 4.
To change the MultiTeam CTF rules, click on the Configure MCTF Rules button. The rules are described
in the following three sections.
With none of the rules checked, the game will simply be a straightforward match where nothing special happens when
flags are captured and nothing happens once a team has reached the score limit. In other words, teams that are above
the score limit can still capture flags and be captured on.
The rules are detailed below:
- One Flag Mode - activates One Flag Mode.
- Omniscience - The zone that a flag is in is displayed above the flag. Some maps do not support this feature.
- Flag Elimination - A team that has reached the score limit will no longer have a flag! That
team can no longer capture flags or be captured on.
- Team Elimination - A team that reaches the score limit is eliminated. The players can continue
playing, but once they are killed they become spectators. Note that activating this will also activate Flag Elimination.
- Rejoin Teams - A team that reaches the score limit is eliminated. The players on that team, once
killed, automatically join another team and continue playing. Note that activating this will also activate Team
Elimination.
- Carry Flags Back - Flags must be carried back to their original position before they are returned.
- Multi-Flag Caps - Players can carry (and capture!) more than one flag at a time.
- Sudden Death Mode - Once one team hits the score limit, the team with the lowest score immediately
wins.
- No Overtime - when a game is over and two teams are tied for lowest (only can occur when Sudden Death
is enabled or a time limit is set), the game will immediately end. The team with the lowest score and the highest
total individual Player Scores will win.
- Random Placement - Teams' positions on the map are randomized. While this can be confusing, it is
helpful in keeping things fair on asymmetric maps.
- Heavy Bot Defense - bots go heavier on defense. More details in the BOTS section.
- Random Enemies - the enemy teams are randomized.
- Reward Captures - enable the rewards configured in the REWARDS menu (below).
- Enable Crazy Options - enable the options in the CRAZY menu (below).
- LMS Mode - this option only affects multiplayer games. Whenever a team is out, new players
can no longer join the server as active players. Instead, they are spectators until the next game starts.
- Smart Bots - bot teams will work together if they share a common target team (detailed in the
BOTS section). Bots will also not attack humans with whom they share the same target team as often - in short,
teams will try to work together to put other teams out. Note that this option can lead to abuse by humans, who can
often get free kills on bots that they were supposed to be working together with.
The setup is pretty straightforward. The rows are the rewards; the columns are the number of flags that
must be captured at once for a reward to be given. 'Return' means that a reward is given whenever someone returns
their own flags, '1' means that someone is given a reward for one flag capture, '2' means they are given
a reward for two flag captures at once, and '3' means they get rewarded for capturing three flags at once.
In One Flag mode, people who capture the flag get the rewards listed under '1'.
The rewards are self-explanatory, except for Full Health, Full Ammo, and Subtract Point.
- Full Health - this reward heals a player up to 100 health.
- Full Ammo - a player gets full ammo in all of their weapons except for the Redeemer.
- Subtract Point - the player's team gets one point taken away!
Example: If Full Health, Shield Belt, and Subtract point are checked under '2', then if I capture
2 flags at once my team loses a point, and I get 100 health and a shieldbelt!
The crazy options are not recommended in most circumstances - they are mostly there just because I thought
it would be interesting for a mod to have them. They are -
- Take Own Flag - Players can take their own flag from the home base.
- Flag Translocations - Players can translocate without dropping flags.
- Reward Pickups - Players who pick up a flag get rewarded as if they'd captured as many flags as they're carrying.
- Full Ammo = Loaded - players who are rewarded with Full Ammo (in the REWARDS menu) get all the regular
Unreal Tournament weapons (except the Redeemer) and full ammo for all of them. This option may cause problems when
using weapon mutators.
A lot of work went into the MultiTeam CTF bots to make them play as intelligently as possible. I will attempt
here to explain how the bots work. All said and done, I tried to make the bots play well so that single player
games would be almost as fun as multiplayer games.
First, the Enemy Team. Bots will always go after their enemy team and just their enemy team, since having a team
coordinate attacks against a single team is the easiest way to capture a flag. The bots attack the enemy team base
in the same way that they do in regular capture the flag. Bot teams will select enemy teams based on several criteria,
in this order:
1. If the Enemy Team has been set by a human, the bots will go after that team.
The way the bots go after flags is the following:
- Bots go after the Enemy Team's flag.
Additionally, if Smart Bots is enabled, bots will not attack others carrying flags (unless they are carrying the
bot's flag), nor will they attack others who have the same enemy team. However, bots will still attack humans in
these conditions a little bit of the time, especially if the human attacks them. Humans should take special care to
notice what teams are helping them out.
If Heavy Bot Defense is enabled, more bots will defend then normal. Normally, bots have an attacker:defender ratio
of 2:1. Heavy Bot Defense changes that ratio to 1:2.
The One Flag Mode AI is a little different. Bots in one flag mode will go from base to base looking for the
flag. If they get a flag, they will try to bring it to the nearest base of a team that is still in the game. If
another player gets the flag and the bots do not know where it is, they will go back to base to defend against a
possible attack. If Smart Bots is enabled, bots will always know where the flag is.
The console commands for MultiTeam CTF are
These commands can be bound to keys in the CONTROLS section of the main PREFERENCES menu (shown below).
To run a MultiCTF server, you must have the following line in your UnrealTournament.ini file (or whichever .ini file you use):
ServerPackages=MultiCTF
Otherwise, running a MultiCTF server should be relatively easy. There are several options I suggest, however, given in the SUGGESTIONS section.
Making a MultiTeam CTF map is simple. Make a good 4-way CTF map with four standard flagbases. Then set the flagbases'
teams to 0,1,2, and 3. 0 = red, 1 = blue, 2 = green, 3 = gold. Make appropriate DefensePoints, prefix the map name
CTFM-, and you're set!
However, MultiTeam CTF has a number of new map objects that mappers can use to really make playing MultiCTF on their
map much more interesting. The list of new objects is below. Most are also used in CTFM-TestRoom][ (which, incidentally,
I made to test out and showcase the new map objects).
-MCTFFlagBase (Parent is FlagBase). A leftover from previous versions this is here simply to make MultiCTF
backwards-comparible with old maps. Don't put any of these in maps.
-MCTFKillFlagZone (Parent = ZoneInfo). Whenever a flag, whether a person is carrying it or not, enters this zone
the flag is automatically sent home. Useful if a designer wants to make a flag holder leave a base a certain way.
-MCTFTeamOnlyTrigger (Parent = Trigger). A trigger only activatable by the team designated, unlike the original
TeamTrigger, which only can be triggered by a pawn not on the designated team. Good for team-only doors.
-MCTFTeamOutTrigger (Parent = Triggers). Much like a dispatcher, only it is called whenever the designated team
reaches the score limit and Team Elimination is enabled. Useful for cutting off bases after a team is out.
-MCTFScoredOnTrigger (Parent = Triggers). Similar to a dispatcher in setup. There is an array of events, each of
which is called only when the designated team reaches a designated percentage of the Score Limit. Useful to activate traps,
open rooms, etc. to help a team out when it is getting scored on.
-MCTFTranslocatorInfo (Parent = Info). When this is added to a level, Translocators can be forced on or off,
regardless of the server settings. Useful for levels where having/not having translocators would make capturing flags too
easy or hard.
-MCTFUnblockedPath (Parent = BlockedPath) This is a pathnode that acts as a regular pathnode until triggered, at
which point bots will no longer use that path. Exactly the opposite of the BlockedPath navigationpoint.
All of the original CTF objects, like Alternate Paths, Blocked Paths, and Defense Points, all work the same as before.
If and when you make a MultiCTF map, send it to me (at wyzard@planetunreal.com) and I will gladly post it on the MultiCTF page!!
The MultiTeam CTF Mutators allow greater access to gameplay than regular mutators. Look at the MultiCTF code, and
subclass any mutators off of MCTFBaseMutator. The new functions are listed there, but I will paste the code here as
well for reference. You will need the following line in your UnrealTournament.ini file:
EditPackages=MultiCTF
NOTE that you should NOT call NextMutator for ANY of these functions!!
class MCTFBaseMutator expands Mutator;
//////////////////////////////////
// called when a team is out and when Team Elimination is on.
// Once all the accounting for flag captures is complete, this function is called.
// when the game is over and a winner has been decided, this is called.
/////////////////////////////////////
// called when a flag is sent home for whatever reason.
// called when someone drops a flag. theFlag is the dropped flag,
// called when someone takes their own flag off of the flagbase.
// called whenever a flag is taken off of the base normally.
// called when someone picks up their own flag off of the ground.
// called when someone picks someone else's flag off of the ground.
// called when someone returns their own flag - whether by bringing it
// called every time someone captures a flag.
////////////////////////////////////////
// called when the one flag moves to a new postition, from either being captured,
// called once the OneFlag is brought to an opponent's flagbase.
// if the oneflag is dropped this is called.
// when the oneflag is picked up, this is called.
For examples on how these functions are used, look at the MultiCTF Mutator Pack that I released (on the
MultiCTF Home Page).
After LOTS of playtesting, coding, answering questions, etc. I have a pretty good idea of how this mod works in
most situations - and what to do if you want to win.
The KEY factor is defense. By not telling your bots to defend, the first few bots on your team will go on offense,
leaving nobody at home guarding the flag (if you go on offense). Not good. Make sure someone stays at home at all times.
If you have lots of points, up the number of defenders on your team.
Another important thing to remember is picking the best Enemy Team. Keep in mind what options are on - Flag
Elimination, Team Elimination, etc. If you can get a team off of your back by scoring on them, do it!
While throwing flags may not seem too important, it has three good uses:
Keep it in mind if Smart Bots is on - if so, don't kill bots just because they're on other teams! They'll help
you get out a common enemy.
For servers: I personally like relatively quick games. I often set a time limit between 5 and 10 minutes and a
Score Limit of zero to keep games quick and simple. Remember that in online play people want to be playing most of the
time, and that epic struggles games aren't fun every game. So keep the score limit not too high. But this is my
suggestion, do what you will!
My favorite options to have enabled are the following:
MultiTeam Capture the Flag took about eight months to develop fully, and lots of hard work on my part. This is
basically a one-man mod! The feedback and interest I have recieved have well exceeded my expectations. The UT
community is great! I hope you greatly enjoy the mod. MultiCTF was built for fun - try using all of the options
and see what kind of games you can play!!
And now, here are all the cool people who beta tested for MCTF! Without these guys' input, MultiCTF would be
absolutely nowhere. My personal thanks goes out to:
Ace_3000,
Action Hank,
Agent248,
Agent Orange,
Area 51,
Berzerker,
Bretai [DPW],
Chris Pandolfo,
Ciparis[FAT],
Csuthy Andras,
Dark Defender,
Dirk Forsterling,
Disposable_Hero,
Donald Noordt,
Ebonite[DPW],
E.R.N.,
Farid Hamidouche,
Goyim_Smasher,
Hamburger_Pimp,
Hendrik Vermeylen,
jAcKhAmMeR,
Jay,
Jeffery Russel,
Jim Montz,
John Phillips,
Josh Spencer,
Kim Gellet,
Keith Malinowski,
Leigh Makewell,
Lister of Smeg,
Ludovic,
MADMAXQUINN,
MarczoiereY,
Menno Lodder,
milliByte,
Moo,
Nero,
Nightmare,
Nina Batina,
Nocrutis,
Pazarius,
Qaisar,
Rene Jacobson,
Ronald Steinkellner,
Schnieder Alexander,
Sean Sexton,
[ZB]_Sephiroth_,
{BIO}Solomon,
Spicy,
The_Stranger,
TechnoArcher,
Telarium-Y2K,
Tolle,
Toter,
Wing_Zero,
Zan
.
Here are the great mappers who made MultiCTF maps:
CTFM-Ancient, CTFM-BurningHot, CTFM-Random, and CTFM-Small: Death Circus
Thanks, Bob-Dog, for some MCTF textures!
I also gotta give mad credit to UCLASSES, UMODWIZ, and EMACS for helping me out in the creation
process, and the boyz at PLANETUNREAL for hosting my site.
If you think you deserve credit and you were left off of this list, email me and tell me what's up!
The MultiTeam CTF homepage is http://www.planetunreal.com/MultiCTF.
Stop by anytime!
And now, the copyright stuff...
This gametype is Copyright 2000 / 2001 Colin McCann.
Authors may NOT use this game type as a base to build other game types, nor are they allowed to commercially exploit
this gametype, i.e. put it on a CD or any other electronic medium that is sold for money, without my explicit permission.
You MAY (please do!) distribute this game type through any electronic network, provided you include this file and leave
the archive intact.
You MAY have fun with the game!!
Unreal Tournament (c)1999 Epic Megagames, Inc. All Rights Reserved. Distributed by GT Software, Inc. under license.
The MultiTeam CTF HUD
The Regular HUD
- The ENEMY TEAM indicator in the upper left corner. This indicates what team your bots are going after.
- If a flag is being carried, the name of the person carrying the flag is displayed in the color of that
person's team above the flag's icon (on the right of the screen). If the option Omniscience is enabled, then the
zone that the carrier is in will also be displayed.
The One Flag Mode HUD
Also, the flag display on the right of the screen is replaced by the team symbols. If a team symbol is not
present, that team has been eliminated from play.
Game Options
MultiCTF Rules
Rewards
Crazy Options
Bots!
2. If Random Enemies is enabled, bots will go after a randomly selected team.
3. If there is a time limit and the Score Limit is 0, the bots will go after the team with the lowest score.
4. If Sudden Death is enabled, losing teams will go after the team with the lowest score. The winning team will
go after the team with the highest score in order to get them out.
5. Otherwise, bots will go after the next team in color order.
- If a bot is close to any flag that is dropped, it will go to pick them up.
- If a bot sees someone with its own flag, it will try to kill them and take the flag.
- If a bot has a flag, its team is over the Score Limit, and the reward Subtract Point is enabled, the bot
will try to get more flags so that its team can get back into the game.
Commands / Key Bindings
- mutate SetEnemyXXXX where XXX is the color of the desired Enemy Team. Once set by this command, the
enemy team will stay the same until changed by a human again or the Enemy Team becomes invalid (too high a score).
- mutate ThrowFlag throws all carried flags. Useful for giving a flag to a teammate so that they can
capture multiple flags at once!
Running a MultiTeam CTF Server
Mapper's Reference
Coder's Reference
/////// Game Functions
/////////////////////////////////
// OutTeam is the team number of the team that is out:
// 0 = red, 1 = blue, 2 = green, 3 = gold
function TeamOut(byte OutTeam) {}
function AllFlagsScored(MultiCTFFlag theFlag, Pawn Scorer, byte TotalFlags) {}
function GameOver(int WinningTeam) {}
/////// Regular MCTF Flag Functions
/////////////////////////////////////
// theFlag is the flag that was sent home, OldHolder is the former flag holder.
// NOTE: OldHolder can be none!
function FlagSentHome(MultiCTFFlag theFlag, Pawn OldHolder) {}
// OldHolder is the former flag holder.
function FlagDropped(MultiCTFFlag theFlag, Pawn OldHolder) {}
// theFlag is the taken flag, NewHolder is the guy who grabbed his own flag.
function OwnFlagTakenFromBase(MultiCTFFlag theFlag, Pawn NewHolder) {}
// theFlag is the taken flag, NewHolder is the person who took it.
function OtherFlagTakenFromBase(MultiCTFFlag theFlag, Pawn NewHolder) {}
function OwnFlagPickedUp(MultiCTFFlag theFlag, Pawn NewHolder) {}
function OtherFlagPickedUp(MultiCTFFlag theFlag, Pawn NewHolder) {}
// back home or by touching it and returning it.
function OwnFlagReturned(MultiCTFFlag theFlag, Pawn Scorer) {}
// If someone caps multiple flags, this function is called for each of those flags.
// Not called for flag returns.
function OtherFlagScored(MultiCTFFlag theFlag, Pawn Scorer) {}
////// One Flag Mode Flag Functions
////////////////////////////////////////
// dropped into a damage zone, or sitting around too long.
// NOTE that OldHolder can be none!!
function OneFlagSentHome(MultiCTFFlag theFlag, Pawn OldHolder) {}
function OneFlagScored(MultiCTFFlag theFlag, Pawn Scorer) {}
function OneFlagDropped(MultiCTFFlag theFlag, Pawn OldHolder) {}
function OneFlagGrabbed(MultiCTFFlag theFlag, Pawn NewHolder) {}
Author's Suggestions and Strategies
1. Giving a teammate (who also has a flag) another flag. He can then get the reward for more than one flag -
PARTICULARLY important if Point Subtraction is on!
2. Throwing your flag off of the map. If carry flags back is on, and you're on Face 4 and you're not gonna make
it back to base to return your flag, ensure that it goes home by tossing it over the edge. Jumping off works too,
but sometimes you can't even make it that far before being gunned down.
3. By throwing the flag somewhere inaccessible or hidden, you can protect the flag for 60 seconds (until it
is automatically sent home). Also, you can do 'short translocations' by throwing the flag up somewhere and then
translocating and grabbing the flag. Handy.
Smarter Bots, Carry Flags Back, Multi-Flag Caps, No Overtime, Random Enemies, and Reward Captures (I have
the rewards set up the way they appear in the picture in the Rewards Section). These are my personal preferences,
but of course anything goes!
Author's Comments and Thanks
CTFM-Catacomb and CTFM-GlassBang: Jasper 'Weenydog' Lodder
CTFM-CruxCitadel and CTFM-CrystalPower: The Shadow
CTFM-CrypTitan: TheSpoonDog
CTFM-Deck16][, CTFM-HyperBlast, and CTFM-Mazon:
CTFM-FireIceSlimeBullet: [DMF]ABU5E
CTFM-InstaMayhem: [MK]Annihilator (wherever you are)
CTFM-Lavaforme, CTFM-MorTal, CTFM-Tutorial][, and CTFM-SlimeRotor: Crokx
CTFM-LavaGiant][: Dark Defender
CTFM-MetalDream: Rens2Sea
CTFM-Sphere: SlayerA
Other textures in the MultiCTFTex.utx package were compiled from the levels mentioned above - each texture there
is prefixed with the name of the level it was originally packaged with.
Copyright and Contact Info
Please send anything MultiTeam CTF related - questions, maps, mutators, comments, suggestions, etc. - to wyzard@planetunreal.com and I will get back to you A.S.A.P!
MultiTeam CTF has been tested on a variety of systems, but it is provided as is. The creator of MultiTeam CTF (that's
me) assumes absolutely no responsibility for anything that happens to a user's system while running MultiTeam CTF.
Unreal Tournament and the Unreal Tournament logo are registered trademarks of Epic Megagames, Inc. All other trademarks
and trade names are properties of their respective owners.