Mod Ideas/Balanced CTF
– by Kuhal
Background
This small mod was my attempt to make my favourite team game in UT more balanced for public games. In New Zealand, we have less than 6 CTF servers with sub 100 ping so naturally I wanted to maximise the fun to be had while playing public games. I put up my own server co-hosted at GamerNet NZ in order to achieve this.
Compatibility
Balanced CTF is a simple game type mod that will work on any existing CTF map.
Scoring
Balanced CTF modifies the scoring quite radically in that many more events are scored than the existing CTF game type.
- In normal CTF you score :
- 1 frag for fragging an enemy
- '-1' frag for fragging yourself
- 5 frags for fragging the enemy flag carrier
- 7 frags for for capturing the enemy flag
Well, most people who play CTF on public servers know that this scoring attracts certain types of non team play behaviour. Additionally, very few people seem to notice the team imbalance because the flag captires might be close. They fail to notice that the various factors of good team play are stacked against one team and that once the good team start to work together more cohesively, you will get multiple captures in a very short time.
The reason it's hard for alot of players to notice the imbalance is because it takes some experience in playing CTF to know when a team is working well.
To address this, Balanced CTF scores for several important events to attempt to encourage team play or at least give the players a better idea of just how big the gap in the team skills really is.
- In Balanced CTF, scoring events include:
- fragging enemy in the enemy Defensive Zone (attacker bonus)
- fragging enemy in your Defensive Zone (defender bonus)
- fragging enemy carrying the flag in your Defensive Zone (defender bonus)
- fragging enemy carrying the flag outside your Defensive Zone (flag save bonus)
- fragging enemy attacking your flag carrier (support bonus)
- fragging enemy near your dropped flag (support bonus)
- returning the flag from enemy Defensive Zone (flag save bonus)
- grabbing the enemy flag (attacker bonus)
Additionally, most of these have an equivalent "bonus" if it's a team kill. Normally this is negative but who knows, some admins might enjoy TK??
The points awarded for each event are configurable so that the server admin can have some influence over what he considers to be good team play.
ScoreBoard
The mod uses a new ScoreBoard layout in which individual points are not shown. Instead, each player recieves a "rating" of their "contribution" to the game. Their contribution is worked out by comparing their score to the total of all scores and weighting it by settings in the config file for "OwnageRelevance" and "FlagCaptureRelevance". It sounds messy and complicated and it probably is. I found it to be quite accurate when you assign these settings as 50% each.
In the ScoreBoard, as well as seeing each player's contribution and the captured flag count as normal, players can see their team's total "rating". That way, at a simple glance, they can tell if the teams are imbalanced.
HUD
The only change to the HUD is for the team ratings to be displayed alongside the flag icons. This helps players to be alert to any game imbalance.
Zones
The scoring in Balanced CTF relies heavily on "zones" which I've mentioned above. Since I've also said that all existing CTF maps are compatible, there has to be a way to inform the mod where these zones are. In the version of Balanced CTF that I have running so far, the zones are specified in the config file and represent a radius in UU's around the team's flag. A better method would be to record a value which represents the radius as a percentage of the overall map "radius". That way, the zones would increase or shrink in relation to the size of the map. Maps like Eternal Caves would remain imbalanced since blue's flag is right up against a wall whereas red's is in the open. Maps like Burning (where the flags are back to back) would be quite crazy in terms of scoring...but most maps would work well.
In the next version I planned to have each map listed in the config file as a section and in the section record specific region information. That way, each admin could slice the maps on their server up differently depending on what they considered the zones to be.
Other Settings
In the config file for Balanced CTF, there is a setting for the maximum allowable imbalance. This represents a ratio of one teams rating compared to the other. If one team is better than the other and the comparison ratio is greater than this figure, then new players that join will be put on the lesser team. In the next version I planned also to force player changes but this will be hard to do without disrupting the teams and possibly making it hard to know what team you're on...
Rejoining Player Detection
JailBreak does this and calls it LLama detection. SlaveMaster also detects "RunAway" players. For Balanced CTF to work well, this run away player detection is critical. I also happen to dislike aliases so this detection does two things.
Firstly, upon rejoining, if the player has a different nick, all other players see this in their log window. Something like "Alias-ho has rejoined as Newbie".
Secondly, the rejoining player gets his old score back. So if he left with a score of 100, then when he rejoins he will still have 100. The rating may change of course because there may have been alot more gameplay since he left. The purpose is twofold:
- He can't reset his score and thereby force a team change just by re-connecting (lame)
- If he accidentally disconnected (dialup users do this sometimes) he will not lose his points...
Bots
Bots are forced to join a team that is in need of help and will swap teams if needed. To be honest I didn't get this part working 100% but usually we have no room for bots in public games so it wasn't a priority.
Discussion
Camus: ooh boy!! this is exactly what i would like to see in ut2003. i am an avid instagib ctf player and i feel the scoring needs an adjustment exactly like you have made. any plans on a port? i would gladly help
NickR: Yes, very promising! I especially like the ratings idea. Nothing helps team play than self pride.
Mychaeel: Page moved below Mod Ideas.