GoldenEye: Source Forums

Debriefing => Impressions & Feedback => Topic started by: TacoSupreme on January 18, 2011, 09:14:12 pm

Title: Adjustable Health Levels
Post by: TacoSupreme on January 18, 2011, 09:14:12 pm
Is there any chance we can get a server variable for different health levels, like there was in the original goldeneye?  It was fun to play at -10 health at time or +10.   I have messed with the health a little bit by making my own scenarios, but that is a lot of work.  I was wondering if there are any plans to make this easier.
Title: Re: Adjustable Health Levels
Post by: namajnaG on January 18, 2011, 10:18:56 pm
I'm with this idea. Maybe we could see it in the future?
I'm not sure if this was posted before, Though.
Title: Re: Adjustable Health Levels
Post by: killermonkey on January 18, 2011, 10:40:39 pm
That is called "handicapping" and no plans, or desire, to do that. The only approved way to do it is to make your own scenarios, as you suggested.

The simple reason is that I don't want to join a server, on good faith, and realize I am Juggernaut or Tiny Tim. A custom scenario (hopefully named, Handicap DM) would clue me off to this effect, whereas a simple Convar would not.
Title: Re: Adjustable Health Levels
Post by: Mangley on January 19, 2011, 01:16:17 am
It's an all-round bad idea, it worked in GE64 where all 4 of the people in the same room knew their skill level, knew what they wanted and knew what handicap they were setting for themselves...

Allowing servers to set arbitrary health levels? All it does is ruin gameplay by not providing players with a consistent gameplay experience. Then you just divide the playerbase into people who play on servers with large handicaps and people who play near-ltk health levels and people who are pissed off with all the new bullshit and want the old vanilla experience and can't find a good server among the ridiculously customised ones.
Title: Re: Adjustable Health Levels
Post by: coolDisguise on January 19, 2011, 01:50:10 am
Hold on a sec I think the idea is really nice when you think about it like this:
each player can handicap himself in his config if he wants to (important: 100% is normal, you can only chose <= 100%). Then bring in some achievements for playing with a handicap config and doing stuff and you'll get:

- more interesting gunfights among different skill levels
- new challenges for good players
- some advantages for new players helping them to pick up the game more easily

That's just what came to my mind when I read about it. Opinions, anyone?
Title: Re: Adjustable Health Levels
Post by: killermonkey on January 19, 2011, 02:22:26 am
What prevents everyone from setting their handicap to +10 and you end up with the same exact gameplay as you have now?

Think about things, please...
Title: Re: Adjustable Health Levels
Post by: coolDisguise on January 19, 2011, 06:31:09 pm
If you can only manipulate the handicap via the GUI and can't set it above 100% that'd be safe enough.
I just thought maybe there are people that would like to show off with some fancy achievements or just enjoy playing with only 50% of their health. But you're right, it really isn't that important, because there are still other things to do.
Title: Re: Adjustable Health Levels
Post by: VC on January 19, 2011, 08:02:04 pm
Trying to make handicaps work and deliver a consistent game experience just doesn't really work.

This is really the sort of thing a server mod should do: use player ranks to spot first-timers and give them a bit of a boon for a while.
Title: Re: Adjustable Health Levels
Post by: Wake[of]theBunT on January 19, 2011, 10:47:49 pm
Definitely, if as a 3rd party some people want to try make a system if you can prove via that, that it works? Then we could eventually be convinced to try it ourselves. We don't have time for experimenting with elaborate systems when we have a core mechanic working so good, and other things to focus on.

Good players should be rewarded for being good at our game.

New players should be looking to match their skill level OVER TIME, not instantly be competitive...Gaming should be about reward for effort, not having your chips handed to you
Title: Re: Adjustable Health Levels
Post by: kraid on January 21, 2011, 06:29:43 pm
Giving the player the chance to choose his handicap is a bad idea.
Having something like a custom gamemode where everyone has 50% or 200% health could work.
If there somehow would be a leveling system involved, it needs a conter point e.g. a 50% player would get more points for killing a 200% player.
Title: Re: Adjustable Health Levels
Post by: coolDisguise on January 22, 2011, 03:40:06 am
Oh please, no levelling system. The main thing I did especially like about this mod was being able to jump right into the action without other players gaining advantages for playing longer than you.
 
I don't see the points of custom game modes when all players have the same health level and setting via the server would just be unfair, so I came to the thought of letting the player set it himself, but only in a negative direction, so there's no one with uber-health, but since no one approves of that, I suppose it won't happen and frankly it doesn't matter to me as much as (not) having a levelling system.
Title: Re: Adjustable Health Levels
Post by: Emilia on January 23, 2011, 08:16:22 am
I agree with having a custom gamemode for this.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 06, 2011, 02:45:54 am
I'm trying to create a gameplay for this...it's easy enough to set everyone's top health, but I'm having trouble doing it well on a player-to-player basis. Any advice from people familiar with the python code?
Title: Re: Adjustable Health Levels
Post by: VC on February 06, 2011, 02:54:07 am
Foggy memory was that the damage multiplyer per player was broken, but global worked. Hence, LTK functions as expected.

What I did was avoid it completely.  For Live and Let Die, I capture all damage events, filter for Baron and Golden Gun explicitly, modifying damage as needed to support:
* Baron takes normal damage to Armor.
* Baron takes modified damage from AuG.
* Baron deals modified damage beyond Level 8.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 06, 2011, 04:58:04 am
Hmm, I suppose that could work. I could just define a script that would take any damage event for player i and call play i handicap and then calculate out the damage correctly. My main problem now is finding an easy way to define each player's individual handicap easily. Maybe this would work better as a server plugin then as a gameplay...unless people were find with just a global handicap for all the players.
Title: Re: Adjustable Health Levels
Post by: VC on February 06, 2011, 05:04:42 am
You're speaking in indefinite terms.  You define the handicap and implement it with Python.  You need to figure out what your system will be and how it will function and be impractical to exploit.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 06, 2011, 07:19:29 am
My goal would be to have the server operator set each player's handicap level individually. I could easily do a gameplay that would set dynamic handicaps based on performance (ie someone who has a 1:16 KDR would get a higher handicap then someone with 16:1) but that would simply make all the scores even out over time since someone doing well would be punished for being in the lead making scoring pointless. So my main problem is: how would one allows a server operator to easily set individual handicaps for each person w/o a plugin?
Title: Re: Adjustable Health Levels
Post by: kraid on February 06, 2011, 09:58:21 am
How about having a leveling system like in GunGame?

Every player will start on the same level.
Each level will require a higher ammount of kills to be reached (lvl2=1kill, lvl3=2kills,lvl4=3kills).
The higher your level, the less health* you'll have.
(*maybe instead of having pickup armor, the player could start with armor in low levels)
BUT on a higher level you'll get a score multiplier, so killing someone on lvl1 would give you exactly 1 point while killing one on lvl(n) will give you 1x(n) points.
When dying you'll also lose a level.
Killing with slappers or knife could give you an extra level.
Title: Re: Adjustable Health Levels
Post by: Kinky on February 06, 2011, 12:11:51 pm
Kraid that sounds AWESOME. And should be official.
Title: Re: Adjustable Health Levels
Post by: killermonkey on February 06, 2011, 02:35:53 pm
but that would simply make all the scores even out over time since someone doing well would be punished for being in the lead making scoring pointless.

Isn't that the whole point of handicapping? (stares at the wall in disbelief)
Title: Re: Adjustable Health Levels
Post by: Doc.NO on February 06, 2011, 03:06:24 pm
Code: [Select]
def OnPlayerSpawn(self, player, isFirstSpawn):
playerName = player.GetPlayerName()
if playerName == 'Viashino' || playerName == 'BigBird':
player.SetHealth( int(GEGlobal.GE_MAX_HEALTH / 2) )
if playerName == 'KM':
player.SetHealth( int(GEGlobal.GE_MAX_HEALTH * 2) )

Thats the only health leveling needed around here :P Next?
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 06, 2011, 05:05:36 pm
Code: [Select]
def OnPlayerSpawn(self, player, isFirstSpawn):
playerName = player.GetPlayerName()
if playerName == 'Viashino' || playerName == 'BigBird':
player.SetHealth( int(GEGlobal.GE_MAX_HEALTH / 2) )
if playerName == 'KM':
player.SetHealth( int(GEGlobal.GE_MAX_HEALTH * 2) )

Thats the only health leveling needed around here :P Next?

Hahaha.

How about having a leveling system like in GunGame?

Every player will start on the same level.
Each level will require a higher ammount of kills to be reached (lvl2=1kill, lvl3=2kills,lvl4=3kills).
The higher your level, the less health* you'll have.
(*maybe instead of having pickup armor, the player could start with armor in low levels)
BUT on a higher level you'll get a score multiplier, so killing someone on lvl1 would give you exactly 1 point while killing one on lvl(n) will give you 1x(n) points.
When dying you'll also lose a level.
Killing with slappers or knife could give you an extra level.

I had been thinking about doing a gameplay where your score would be defined by your highest kill streak. (So if you killed 7 people in a row, then died, then killed 4 in a row, then died your score would be 7 until you got a higher kill streak). Maybe I could combine that with handicaps and make it so for each kill you got, your handicap would be lowered, but it would define score based on the number of kills without dying in a row, not just total kills. And when you die, you got back to the 0th level handicap. I could also potentially have a similar thing with death streaks where it would increase your handicap.

I could easily remove the armor from the map, define max health/armor levels for each level then do a scoring thing based on killstreaks. My problem becomes do I refill the person's health and armor when they achieve a kill to the next level, or do I just leave the percent damage they have intact?

Edit: Think refilling armor/health at next level would be best since the entire idea is to get to higher levels with less armor/health. Also, I think that increasing handicap with death streaks would be bad since then people could abuse the game by purposely dying until they got a good handicap then attacking people when it's easier to get kills. If a player is stuck on the 0th level constantly dying eventually other people will get to high enough levels they're easy to take out.

Any ideas for names?
Title: Re: Adjustable Health Levels
Post by: Kinky on February 06, 2011, 07:01:11 pm
B]Any ideas for names?[/B]

A bond film. Pick one lol
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 06, 2011, 07:30:51 pm
Leaning toward Tomorrow Never Dies
Title: Re: Adjustable Health Levels
Post by: namajnaG on February 06, 2011, 08:15:57 pm
A view to a kill maybe?
Title: Re: Adjustable Health Levels
Post by: VC on February 06, 2011, 08:46:15 pm
Games where handicaps and spreads are used, ergo proven useful since they would have long been abandoned if they weren't, are simply this:

If shitty player comes within X points of winning, it counts.  This is implemented by either adding X points to the lame player's score, or allowing wagers on a bad team at least keeping it close.

Since damage modification affects the rate of points being earned, not actually how the score is tallied, you are going to turn it into Everyone Gets To Be Equally Okay no matter how you handle it.  And, a simple point handicap won't matter either because people will say "well, I really won, it's just giving him a five-frag ass-pat because he can't compete on my level."

"highest kill streak" = Camp.
Here, pretend I had posted one of the many scoreboard screenshots I have of me getting dozens-long killing streaks on cradle.  I don't have that HD plugged in right now because I don't game anymore.

It also means that if one guy gets, let's say, a 20, and the clock is run beyond half-time, why bother to play the rest of the round, when you know you just don't have time to compete with the current frontrunner?  That's the shit that made original The Living Daylights suck shit and sent it to my drawing board.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 07, 2011, 08:15:16 pm
Thanks for the feedback, VC...you're right, I had been sort of lying to myself about the camping problem. Perhaps I could mix my system with Kraid's and have more points at higher levels instead of being based on kill streaks for scoring. For instance, everyone starts off at level 1, if you get a kill you get one point and move to level 2, if you get a kill there you get 2 points and move to level 3 and so forth, but your health decreases from level to level (possibly weapon effectiveness as well?). Dying decreases your level depending on the level of your killer, while killing someone with slappers/knife decreases the victim's level to 0 (or by a large amount) and gives you a boost based on what level they were.
Title: Re: Adjustable Health Levels
Post by: VC on February 08, 2011, 04:02:15 am
Scoring potential increases semi-exponentially like that.  Cradle, again.  Do you want to turn a player who knows how to secure and defend his bucket from a 25-0 guy into a 325-0 guy?

Nerfing the weapon just makes it reverse-gungame.  Which means doing well drags you back down into "fair" territory, and the winner is the guy who happens to rack up a bunch of finishing strikes with his Klobbmode sniper rifle.  Let's say getting to 5 kills puts you at near-worthless offensive capability, that's 15 points under your scheme.  Now, if you can just hold on and KS three more guys, you have 36 points.  That's a pretty big bonus once you've reached the effective cap.

And then you have a central tendency; somewhere between -0 effectiveness and -∞ effectiveness is a break-even between scoring potential and offensive ability.  That's where everyone will gravitate, since being below that will make the game "easier" and elevate them, and being above that will gimp them until they get knocked back down.
Title: Re: Adjustable Health Levels
Post by: kraid on February 12, 2011, 10:54:35 am
Start - lvl 0 (full BA full health)
1st kill - lvl 1 (3/4 BA full health)
3rd kill - lvl 2 (1/2 BA full health)
6th Kill - lvl 3 (1/4 BA full health)
10th kill - lvl 4 (0 BA full health)
15th kill - lvl 5 (0 BA 3/4 health)
21st kill - lvl 6 (0 BA 1/2 health)
28th kill - lvl 7 (0 BA 1/4 health)
32th kill - lvl 8 (0 BA 1/8 health) and if it still makes sense:
41st kill - lvl 9 (0 BA 1/16 health)

Each death will decrease your kill count for the next level -1.
So if you're lvl 3 and scored no kill since you're on lvl 3, then you'll be put back to lvl 2 and have to score one kill to get back to 3.
But if you've allready killed 3 ppl on lvl 3 you'll remain on lvl 3 with a killcount of 2, which means you'll have to kill 2 more ppl to get on lvl 4.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 20, 2011, 07:46:12 pm
Created a quick gameplay for setting handicaps. Basically players can type !health followed by an integer +10 to - 10 (like !health -5). Players can type !list to see a list of all the current handicaps. There is a cvar health_lock which when set to 1 prevents players from changing their handicap. This is mostly for smaller servers where everyone knows eachother and is playing around, since a pub everyone would just max their handicaps.

http://www.mediafire.com/?dbx6zjhz7cpb051
Title: Re: Adjustable Health Levels
Post by: VC on February 21, 2011, 12:55:28 am
That's not the formula.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 21, 2011, 01:57:24 am
That's not the formula.

?
Title: Re: Adjustable Health Levels
Post by: VC on February 21, 2011, 02:07:07 am
Quote from: ?
?
??

?.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on February 21, 2011, 03:09:22 am
??

?.

!? : /
Title: Re: Adjustable Health Levels
Post by: Entropy-Soldier on February 22, 2011, 06:39:35 pm
VC is talking about the formula used in the original GE, which is:

Basedamage x1.3^-handicap = damage

except for +10 and -10, which for whatever reason the developers set to be "basedamage x0.1 = damage" and "basedamage x10 = damage" respectively

Though, to be fair, GE really didn't have a formula for calculating handicap damage multipliers, just correlating presets.
Title: Re: Adjustable Health Levels
Post by: VC on February 23, 2011, 10:44:38 pm
Here's how homeboy does it in Live and Let Die:

def goldeneye_handicap(hc):
   return 2.0 ** (float(hc) / 3.0)

126% at 1, 1008% at 10.

You might choose to think that there is solid reasoning behind this exact expression, and choose to follow its example.
Title: Re: Adjustable Health Levels
Post by: WNxEuphonic on March 08, 2011, 10:53:33 pm
So more like this (ignore the variable being USER_HEALTH)

Code: [Select]
                        if not self.USER_HEALTH == 10 or not self.USER_HEALTH == -10:
                            player.SetDamageMultiplier(1.3 ** (-1 * self.USER_HEALTH))
                        elif self.USER_HEALTH == -10:
                            player.SetDamageMultiplier(10)
                        else:
                            player.SetDamageMultiplier(0.10)
Title: Re: Adjustable Health Levels
Post by: VC on March 09, 2011, 02:07:29 am
I would use my formula, but if you insist on being silly, at the least I would change the tests to stop being so damn ugly.

if self.USER_HEALTH <= -10:
  ...
elif self.USER_HEALTH >= 10:
  ...
else:
  ...

This does not assume, as your expression did, that the handicap level won't somehow escape ±10, and naturally clamps it while letting the normal range fall into its branch without that nasty (and at a casual glance, fucked-up) and partially-redundant test.
Title: Re: Adjustable Health Levels
Post by: Entropy-Soldier on March 09, 2011, 09:13:48 pm
I would use VC's formula, it's more consistent with regards to the higher values.

If you want to use the original formula, though, i would advise only allowing 1-4 and 10 to be selectable as handicap values; as opposed to the entire range of 1-10.