Betrayal

Need some nice Mods? Here, you are right!
Post Reply
User avatar
Vankuss
Experienced
Posts: 111
Joined: Wed Jan 25, 2012 6:35 pm

Betrayal

Post by Vankuss »

I was reading this thread (this one) and find out how exactly Betrayal works. Sorry if there are any mistakes, this is the first time I write a big text in english, lol.

Betrayal is a free for all gametype introtuced for the first time in Unreal Tournament 3 Titan Pack. It is a mix of all vs all and team match. The rules are simple. At the start of the game, teams are formed. Players start with a modified version of the InstaGib rifle: alternate fire shots a blue beam. Now, when a player kills an enemy, the team's pot grows (+1). If the enemy killed had more points than the killer, the killer has a bonus point of the difference divided by four (up to 9). This way a regular kill can be worth up to 10 points.

Now, a player can "betray" his team by killing one of his team-mates with the alternate fire. This way, if a bot is trying to betray you (or viceversa) but the hit is missed, you can react and betray first. If you betray, you become a rogue for thirty seconds and you're not part of the team anymore. When you betray you steal all the team pot, adding its total to your score. Your old team-mates have this thirty seconds time trying to kill you back, having a "payback". If one of your old team-mates kills you back, he gets the regular score point + 6 bonus points and you become a freelancer. If they don't succeed to do this, you become a freelancer and game goes on.

A player can be a freelancer, a rogue or can be part of a team. A team is formed by 2-3 players, and usually there are not more than 4-5 teams (based on total players). After some seconds (how much!?), a freelancer become part of an existing team with a preferibly pot not too large. It also can be this: players don't betray each other, and when the pot becomes too big, well, team is removed and a new team is formed.

An example: A team is formed by Loque, Necroth and Tamerlane. The team pot is 14. Loque (score: 6) just betrayed his team killing Necroth (score: 20). The regular points are: (20 - 6) / 4 = 3,5 = 4 (or 3, it depends on settings). Plus, Loque gets 14 points, so the total is 14 + 4 + 1 (this one is regular kill): 19. Loque is now at a score of 25, that bastard! Anyway, Necroth and Tamerlane (still on the same team) have 30 seconds to kill the bstard. Tamerlane (score: 15) kills back Loque, getting 1 (regular kill) + 6 (bonus for payback) + 2,5 (2 or 3, again it depends) going up to 1 + 6 + 3 = 10 + 15 = 25!

In uScript:

- We obviously need Betrayal Game Mode, Betrayal Player Replication Info and Betrayal Team (extends what?).
- We need a modified version of the InstaGib to shoot out a blue beam on alternate fire. Team mates can be killed only this way, and normal enemies can be killed only with primary fire.
- We also need changing to the HUD. The most important ones:
a) Your team mates
b) The team's pot
c) On F1, number of betrays, payback and other little statistics
d) A little number on players head to show their value to you (the difference we talked about before, and +6 if he is a rogue).
This little thing on player's head is colored red if enemy, blue if team mate.
- Bot support: I don't think this is going to be hard. I'm not experienced, but these are the most important ones:
a) If a bot sees a blue beam fired by his team-mates, he react quickly tring to betray his team
b) If the pot becomes high, the bot tries to betray (but also keep killing for ordinary frags)
c) When fighting with multiple players, the bot should try to kill the one with the highest value (the difference again)
d) Obviously, when someone betrayed him, the bot should try to payback
e) Optional (?): when the game is going to finish (time limit or score limit), the bot betrays.

Said like that, it doesn't seem hard. We need to work out on the "add this appropriate player to this appropriate team when this appropriate time", this is the only thing that makes me think it is hard. Points assignments is not that hard; other things, with a little help from everyone, can be done easily. Another thing is making team, as said before. When a player becomes freelancer, he remains so until a new team can be found, and if it can't, he is assigned the team with the lowest pot.

Some keywords to remember:

- Team: a team is formed by 2 or 3 players; you actually don't care about other teams, only yours is important to you.
- Team's Pot: it increases by 1 everytime a member of the team gets a kill.
- Rogue: a player become a rogue by betraying his team; plus the ordinary points, he steals the team's pot and he is removed from the team and, obviously, the team's pot became one.
- Payback: a player that has been betrayed can kill back the rogue, but only in 30 seconds: if the player kills him, he gets +6 bonus points. This number can obviously be set.
- InstaGib Betrayal Rifle: that's just an InstaGib Rifle with a secondary mode that shoots a blue beam instead a red one. Enemies are killed by the red beam, team mates by the blue one.
- Frag Difference: I don't know how to call this, but it's a simple bonus point when an enemy is killed. If the enemy had more score than the killer, the difference divided by four up to nine is added to the killer. In math: (Killed.Score - Killer.Score) / 4, up to nine, rounded up or down.
- Freelancer: everyone starts out as a freelancer. A player become a freelancer after he has been a rogue, or after a team is removed (because the pot was too high and no one betrayed). A freelancer is added in a new team, or in the one with the lowest pot.

Want to know other?

- A Guide to Betrayal for UT3:
- Betrayal for UT2004, made by WormBo: http://forums.epicgames.com/threads/804 ... 79340ce0e0
- I could try to ask WormBo some advices, I know he made some other cool mods, he is a legend in the Unreal World.
User avatar
papercoffee
Godlike
Posts: 10448
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: Betrayal

Post by papercoffee »

Well it will be a mod for UT ...I'll move it to Modifications.

It sounds really interesting. But somehow nasty in the same way. You can never trust a team mate ...how cruel. :mrgreen:
User avatar
Vankuss
Experienced
Posts: 111
Joined: Wed Jan 25, 2012 6:35 pm

Re: Betrayal

Post by Vankuss »

Sorry for the wrong section.
Yes, it's really funny. I just tried it for UT 2004 (never bought UT 3) and I was like "Whoah".

A lot of work have to be done... If anyone can give his little help, we are here :)

Betrayal Player Replication Info Variables. Last three are teams, but I don't know how to implement them... another player replication info, maybe? or just replication info? Will this work?

Code: Select all

var Pawn Pawner;				// The pawn itself

var int BetrayalCount;			// How many times: the player betrayed a team
var int BetrayedCount;			// How many times: the player got betrayed
var int PaybackCount;			// How many times: the player got a retribution
var int FailCount;				// How many times: the player didn't do a good job while being a rogue
var int SuccessCount;			// How many times: the player did a good job while being a rogue

var int PotStolen;				// How many pot he stole
var int PointStolen;			// How many points he stole

var int RogueTime;				// When he becomes a rogue, this becomes thirty

var bool bRogue;				// If true, the player is a rogue

var BetrayalPRI LastBetrayed;	// Last person the player betrayed
var BetrayalPRI LastBetrayer;	// Last person the player got betrayed by

var ??? CurrentTeam;	// Player's current team
var ??? BetrayedTeam;	// Last betrayed team by the player
var ??? LastTeam;		// His last team (betrayed or not)
iDeFiX
Average
Posts: 70
Joined: Sat May 15, 2010 10:11 am

Re: Betrayal

Post by iDeFiX »

Wormbo released a version for ut2k4, so I wondered if you made any progress for this ut99 version?
JackGriffin
Godlike
Posts: 3774
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Betrayal

Post by JackGriffin »

I was pretty interested in this too. Would have been a pretty fun thing to work out and it's all certainly doable with a custom GRI and PRI. Probably end up with a whole new gametype just to make it easy but this would need several real players to be any fun.
So long, and thanks for all the fish
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Betrayal

Post by Higor »

BTW, U need to make clients handle the skin color changes.

Do that in the PRI too...
Post Reply