GoldenEye: Source Forums

  • October 17, 2018, 07:43:03 PM
  • Welcome, Guest
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: [Game Mode] Cache  (Read 213 times)

0 Members and 1 Guest are viewing this topic.

Whimsical

  • Agent
  • *
  • Posts: 3
  • Reputation Power: 0
  • Whimsical has no influence.
  • Offline Offline
[Game Mode] Cache
« on: October 08, 2018, 04:20:18 AM »

(Full Disclosure: Don't know if this is an original idea, or based on something I've seen somewhere before and just forgot about.)

Name: Cache
Description:
  • This mode uses Deathmatch Scoring.
  • Each player spawns with 3 randomly generated weapons.
    • Each weapon is sorted into 1 of 7 categories.
    • A player will not receive more than 1 weapon from a given category.
    • Each category is given a weight, they do not appear with equal probability.
    • Each weapon in each category is also weighted. For example, if you get 'handguns', then you're more likely to see a DD44 than a Magnum.
    • Note that the weapons are not weighted weakest to strongest. Instead, the goal was to make average weapons more likely to appear.
    • When you get the weapon you are also given an amount of ammo based on the weapon. For example, a regular shotgun comes with more shells than an auto-shotgun.
    • The weapons you get will be different on each respawn.
  • During the game, you can say "!", "!voodoo", or "!gesrocks" in the game chat to swap out for a new set of weapons, however, keep the following in mind.
    • There will be a 10-second delay until you actually receive the weapons.
    • Your current weapons will be removed from you during the delay. It should go without saying that you should only use this option if you're either relatively safe or completely out of ammo.
    • You will, however, be able to use slappers during this time.
    • If you managed to score a kill with slappers while switching, the delay will be cancelled early, and you will complete the weapon switch.
  • If you manage to score a kill with each of your 3 different weapons you will also receive the following awards (note that if you switch your weapons, your progress towards this will be reset):
    • You will score an additional kill.
    • You will be able to swap out your weapons with no delay:
      • This must be within 10 seconds of receiving the award.
      • When you do so, one of the weapons will be either a Golden PP7, Golden Gun, Grenade Launcher, Moonraker Laser, or RC-P90.
      • If you die before you perform the swap, but within the window to do so, you will spawn with 1 of the above weapons.
  • Some weapons will also confer additional benefits if you have them. Note, that if you swap weapons you lose the bonus.
    • The Hunting will give you an increase to your base speed.
    • The Klobb will give an increase to your damage
    • The Silenced versions of either the PP7 or D5K will hide you from radar.
    • The Throwing Knives count as kills with 2 different weapons, for the purpose of bonus kills and weapon switching. Additionally, if you spawned with them, your next switch will only take 3 seconds instead of 10.
CVars
The following cvar values can be change for customizing the game mode to how you want it to play.
Spoiler for Hiden:
  • Name: cs_enableteamplay
  • Default: 1
  • Description: Shows message indicating how many kills until the player gets their bonus.

  • Name: cs_enablenotifyremaining
  • Default: 1
  • Description: Enable Team Player during games.

  • Name: cs_enableslapers
  • Default: 0
  • Description: Give players Slappers in addition to normal weapons.

  • Name: cs_enableswitching
  • Default: 1
  • Description: Allows weapons to be switched using the '1' or '!gesrocks' command.

  • Name: cs_enableawardswitch
  • Default: 1
  • Description: Enables free swtiching after scoring a kill with 3 different weapons.

  • Name: cs_awardswitchclass
  • Default: 1
  • Description: Gives the player a high tier weapon when they use their free switch.

  • Name: cs_enableawardswitchcarry
  • Default: 1
  • Description: Player will recieve a high tier weapon if they die before using their free switch.

  • Name: cs_enableeffects
  • Default: 1
  • Description: Enables Special Weapon effects.

  • Name: cs_enablestealth
  • Default: 1
  • Description: Enables Silenced Weapon effects. Does nothing is cs_enableeffects is set to 0.

  • Name: cs_enableubernormal
  • Default: 1
  • Description: Allows high tier weapons to be given to players at random (Doesn't affect cs_awardswitchclass).

  • Name: cs_awardautoswitch
  • Default: 0
  • Description: Player will automatically switch weapons when recieving a free switch.

  • Name: cs_switchdelay
  • Default: 10
  • Description: Delay between when a player requests a normal switch and when the switch happens.

  • Name: cs_knifeswitchdelay
  • Default: 3
  • Description: Delay between when the player requests a normal switch, if they spawned with Throwing Knives, and when the switch happens.

  • Name: cs_awardswitchduration
  • Default: 10
  • Description: Ammount of a time a player has to claim their free switch.

  • Name: cs_switchdefenseless
  • Default: 1
  • Description: Removes all of a player's weapons when they request a normal switch.

  • Name: cs_switchslapers
  • Default: 1
  • Description: If player is given slappers during the delay when switching weapons.

  • Name: cs_switchonslapkill
  • Default: 1
  • Description: If enabled, and the player scores a kill with slappers while in the middle of switching weapons, the delay will be cancelled and the weapon switch will complete immediately.

  • Name: cs_bonus
  • Default: 1
  • Description: Ammount of additional points a player scores after scoring a kill with each of their 3 weapons.
Probabilites: Probabilities for categories and weapons appearing in any given set of 3 weapons. Calculated by generating 1000000 random weapon sets.
Categories:
Spoiler for Hiden:
  • Automatics: %63.9305
  • Rifles: %62.1929
  • Handguns: %58.5705
  • Shotguns: %50.1161
  • Explosives: %39.8476
  • Specials: %21.5733
  • Ubers: %3.7691
Weapons:
Spoiler for Hiden:
  • KF7: %27.1482
  • Phantom: %25.5828
  • Automatic Shotgun: %25.0735
  • Shotgun: %25.0426
  • DD44: %19.5405
  • AR33: %19.5231
  • PP7: %19.4809
  • D5K: %19.2068
  • ZMG: %19.1409
  • Sniper Rifle: %15.5216
  • Remote Mines: %14.2139
  • Rocket Launcher: %14.2072
  • Cougar Magnum: %13.023
  • Silver PP7: %6.5261
  • Hunting Knife: %5.7751
  • Klobb: %5.7658
  • Grenade: %5.7079
  • PP7 (Silenced): %4.3275
  • Timed Mines: %2.8614
  • Proximity Mines: %2.8572
  • D5K (Silenced): %2.8555
  • Throwing Knife: %2.8494
  • Moonraker Laser: %1.1291
  • Grenade Launcer: %1.1291
  • RC-P90: %0.7483
  • Golden PP7: %0.3795
  • Golden Gun: %0.3737
Weapon Data: Table containing weights and ammo for each weapon.
Spoiler for Hiden:
Categories
  • Name: Ubers
  • Weight: 1 - 1
  • Weapons:
    • Golden PP7
      • Weight: 1 - 1
      • Ammo: 7 (+0)
    • Golden Gun
      • Weight: 2 - 2
      • Ammo: 3 (+0)
    • Grenade Launcher
      • Weight: 3 - 5
      • Ammo: 3 (+3)
    • Moonraker Laser
      • Weight: 6 - 8
      • Ammo: Infinite (+0)
    • RC-P90
      • Weight: 8 - 10
      • Ammo: 80 (+0)
  • Name: Handguns
  • Weight: 2 - 21
  • Weapons:
    • Silver PP7
      • Weight: 1 - 1
      • Ammo: 7 (+7)
    • Cougar Magnum
      • Weight: 2 - 3
      • Ammo: 5 (+7)
    • DD44 Dostovei
      • Weight: 4 - 6
      • Ammo: 8 (+24)
    • PP7
      • Weight: 7 - 9
      • Ammo: 7 (+31)
  • Name: Shotguns
  • Weight: 22 - 37
  • Weapons:
    • Automatic Shotgun
      • Weight: 1 - 1
      • Ammo: 5 (+5)
    • Shotgun
      • Weight: 2 - 2
      • Ammo: 5 (+15)
  • Name: Automatics
  • Weight: 38 - 60
  • Weapons:
    • Phantom
      • Weight: 1 - 4
      • Ammo: 50 (+50)
    • ZMG
      • Weight: 5 - 7
      • Ammo: 32 (+32)
    • D5K Deutsche
      • Weight: 8 - 10
      • Ammo: 30 (+90)
  • Name: Rifles
  • Weight: 61 - 82
  • Weapons:
    • Sniper Rifle
      • Weight: 1 - 20
      • Ammo: 8 (+8)
    • AR33
      • Weight: 21 - 45
      • Ammo: 30 (+30)
    • KF7 Soviet
      • Weight: 46 - 80
      • Ammo: 30 (+90)
  • Name: Explosives
  • Weight: 83 - 94
  • Weapons:
    • Timed Mines
      • Weight: 1 - 1
      • Ammo: 3 (+7)
    • Proximity Mines
      • Weight: 2 - 2
      • Ammo: 3 (+5)
    • Remote Mines
      • Weight: 3 - 7
      • Ammo: 3 (+5)
    • Hand Grenades
      • Weight: 8 - 9
      • Ammo: 3 (+9)
    • Rocket Launcher
      • Weight: 10 - 11
      • Ammo: 1 (+2)
    • Rocket Launcher
      • Weight: 12 - 14
      • Ammo: 1 (+1)
  • Name: Specials
  • Weight: 95 - 100
  • Weapons:
    • Klobb
      • Weight: 1 - 4
      • Ammo: 20 (+200)
    • Hunting Knife
      • Weight: 5 - 8
      • Ammo: 0 (+0)
    • Throwing Knife
      • Weight: 9 - 10
      • Ammo: 1 (+9)
    • PP7 (Silenced)
      • Weight: 10 - 13
      • Ammo: 7 (+56)
    • D5K (Silenced)
      • Weight: 14 - 15
      • Ammo: 30 (+210)

Changelog:
  • Bugfix: Zip file now contains proper version of the .cfg file.
  • Silver PP7 moved from ubers to handgun category
  • Moonraker Laser now appears more often
  • Launchers category removed, Grenade Launcher moved to ubers, Rocket Launcher moved to explosives.
  • Grenade Launcher now starts with 6 Grenades.
  • Rocket Launcher can now start with either 2 or 3 rockets.
  • Proximity Mines now appear less often.
  • KF7 now appears less often. AR44 and Sniper Rifles now appear more often.
  • Silenced Weapons now hide you from radar instead of disabling it for other players.
  • Throwing Knives don't reduce enemy speed anymore. Instead, they count as 2 kills for the purposes of bonuses and let you switch weapons in only 3 seconds.
  • !voodoo can now be used to perform a weapon switch.
  • Players now receive slappers when switching, and can cancel the delay by scoring a kill with it.
  • Time calculations now use GEUtil.GetTime().
  • Players can no longer start a switch while they're dead.
  • Prints a notice to the player when they score a kill telling them how many different weapons they need to kill with to get their bonus.
  • Throwing Knives now show the player what they do when they spawn with them.

Closing Notes
Sadly my internet isn't good enough to actually play with other people, so I've only tested this mode against bots.
I also don't exactly know the balance for each weapon, so I'd be very much open to more experienced players giving their thoughts of what the weights on each category and weapon should be, along with the starting ammo counts.
Finally, feedback of any kind would be very much appreciated.

Thank you for taking the time to read all of this ^_^.
« Last Edit: October 13, 2018, 01:21:00 AM by Whimsical »
Logged

Entropy-Soldier

  • Managing Director
  • 00 Agent
  • ***
  • Posts: 488
  • Reputation Power: 298
  • Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!
  • Offline Offline
Re: [Game Mode] Cache
« Reply #1 on: October 08, 2018, 03:43:22 PM »

Sounds like a fun mode!  I'll stick it on my server and let you know what everyone thinks.  It's a shame you won't be able to play with us, but if I can get it working properly I'll try to record my gameplay so you can at least see a match with real players.  I make a point of playing on Saturday nights but there's always a chance I'll end up playing sooner.


Just from looking over your post and the gamemode file, without any actual playtesting, here are my thoughts:

Weapon Balance Suggestions:

- The Silver PP7 and the Laser are good weapons, but not nearly as good as the Golden Gun, Gold PP7, or Grenade Launcher.  Both of them are perhaps slightly better than the AR-33 in practice, even though they're a bit better on paper.  Laser might be more useful in this mode though just because the infinite ammo makes it one of the few weapons you can use for an extended period.  I'd say Silver PP7 should probably just be a normal pistol weapon, and given the laser's ammo situation it wouldn't hurt to leave it as an uber for now.  It might not really be good enough to warrant keeping it for the infinite ammo when you can get easier to use and better weapons by switching, but it's hard to say without playtesting.

- Proximity Mines, even though they're not as directly powerful as these weapons, are also probably worthy of the “uber” category as they can get you a lot of kills for the minimal effort of throwing them into weird spots.

Here's my weapon/cost list for Investment Losses, for reference.  It's balanced around infinite ammo so the mines and rocket launcher are higher than they otherwise would be, but otherwise this should be roughly the relative value of each weapon:

Spoiler for Hiden:
Grenades : 400
Throwing Knives : 600
Klobb : 700
D5K Deutsche : 1500
Silenced D5K : 1500
Hunting Knife : 1800
DD44 : 2000
PP7 Silenced : 2000
PP7 : 2000
KF7 Soviet : 2500
Sniper Rifle : 3000
ZMG : 3500
Shotgun : 4000
Cougar Magnum : 4000
Phantom : 6000
AR-33 : 7000
Automatic Shotgun : 7000
Silver PP7 : 8000
Moonraker Laser : 10000
RCP-90 : 12000
Remote Mines : 12000
Rocket Launcher : 12000
Grenade Launcher : 14000
Golden Gun : 16000
Gold PP7 : 16000
Proximity Mines : 18000

I'll have to get back to you on how the ammo counts affect how things play.  It probably won't affect the relative strength of weapons too much but it will certainly change how they're used.  Will be interesting to see.


Answers to your questions and a few additional suggestions:

- For the silenced weapons, you actually can hide the individual player's radar dot.  You can do this by adding a custom radar contact to the player that uses a color with an alpha of 1, like so:

Code: [Select]
GERules.GetRadar().AddRadarContact( player, Glb.RADAR_TYPE_PLAYER, False, "", GEUtil.Color( 220, 220, 220, 1 ) )

- The Throwing Knife holding debuff is probably also doable but every player's inventory would need to be checked in OnThink as picking up throwing knives doesn't trigger the CanPlayerHaveItem callback in 5.0.  You can make this have a minimal performance impact by limiting the check to once per second or so.  It might be easier and more intuitive to just have this debuff apply for 5-10 seconds to players that get hit by the throwing knives, which is very easy to check in CalculateCustomDamage.  This would be preferable to a server-wide debuff when one player has the throwing knives, because ~30% of the time someone's going to have the throwing knives so it will feel like a random punishment to the rest of the players that they can't do all that much to stop.

- It's probably better to use !voodoo instead of !gesrocks for the weapon swap command, as !gesrocks isn't bound by default in 5.0 and most gamemodes use !voodoo for their special input.

- It would be a good idea to give players the slappers during the weapon switch, because players who have no weapons will have no weapon animations and go into the reference pose for onlookers.  Looks kind of silly.

- I'd recommend using GEUtil.GetTime() instead of round time for timer calculations, as round time can be set to 0 to disable it and play forever.  It's not commonly done, but when it is it means you get stuck switching weapons forever.


Anyway, the mode's code is well organized, and I really like how you handled the cvars.  Modes with lots of them tend to get a bit cluttered but your setup handled them in a very clean way.  I might have to look into adopting a similar approach for our official modes.

Thanks for taking the time to make this!  I hope everyone in the community has fun with it.
« Last Edit: October 08, 2018, 03:47:09 PM by Entropy-Soldier »
Logged
"By reading this, you’ve done more than you can imagine." - Adrian

Troy

  • GE:S Coder
  • 00 Agent
  • ***
  • Posts: 814
  • Reputation Power: 175
  • Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!Troy is awe-inspiring!
  • Offline Offline
Re: [Game Mode] Cache
« Reply #2 on: October 08, 2018, 04:31:20 PM »

Most impressive
Logged
Complete - Arsenal, One Bullet is Enough, Tournament DM v2, TurboDM
Defunct - Agent Under Fire
VC - Being such a dick, KM must be stroked before springing into action.

null

  • Agent
  • *
  • Posts: 39
  • Reputation Power: 0
  • null is looked down upon.
  • Offline Offline
Re: [Game Mode] Cache
« Reply #3 on: October 09, 2018, 01:38:03 PM »

I like the idea of the game play, and i hope to test it out if its hosted on Saturday Night. I wasn't able to look at the code, or have any suggestions on the weapons yet, but once i play the mode, i'll have some feedback.
Logged

Whimsical

  • Agent
  • *
  • Posts: 3
  • Reputation Power: 0
  • Whimsical has no influence.
  • Offline Offline
Re: [Game Mode] Cache
« Reply #4 on: October 11, 2018, 09:07:48 AM »

Just updated the game mode using feedback from Entropy-Soldier

Sounds like a fun mode!  I'll stick it on my server and let you know what everyone thinks.  It's a shame you won't be able to play with us, but if I can get it working properly I'll try to record my gameplay so you can at least see a match with real players.  I make a point of playing on Saturday nights but there's always a chance I'll end up playing sooner.
Thank you, I really appreciate that.


Just from looking over your post and the gamemode file, without any actual playtesting, here are my thoughts:

Weapon Balance Suggestions:
Here are my replies to your thoughts.

- The Silver PP7 and the Laser are good weapons, but not nearly as good as the Golden Gun, Gold PP7, or Grenade Launcher.  Both of them are perhaps slightly better than the AR-33 in practice, even though they're a bit better on paper.  Laser might be more useful in this mode though just because the infinite ammo makes it one of the few weapons you can use for an extended period.  I'd say Silver PP7 should probably just be a normal pistol weapon, and given the laser's ammo situation it wouldn't hurt to leave it as an uber for now.  It might not really be good enough to warrant keeping it for the infinite ammo when you can get easier to use and better weapons by switching, but it's hard to say without playtesting.
I'll defer to your experience on this. I moved the Silver PP7 to Handguns, and it does feel right playtesting against bots. Since you included the Grenade Launcher with the Golden weapons, I added it to ubers (also to make sure there is a certain amount of variety there), with 6 Grenades to hopefully justify it. I think the Laser's ammo might still qualify it for the ubers list, though I did make it far more common in that list than it was before.

- Proximity Mines, even though they're not as directly powerful as these weapons, are also probably worthy of the “uber” category as they can get you a lot of kills for the minimal effort of throwing them into weird spots.
That makes sense, I was never sure if the Proximity Mines were good at killing bots, or just good in general. I didn't add them to ubers though, since I don't think they give the feel I want the weapons in that category to have (or to be exact, the feel I want from award switching into one), still I made them less common in the Explosives lists, they now only have about a %2.8 chance of appears, as opposed to before where they were at %14.4.

Here's my weapon/cost list for Investment Losses, for reference.  It's balanced around infinite ammo so the mines and rocket launcher are higher than they otherwise would be, but otherwise this should be roughly the relative value of each weapon:

Spoiler for Hiden:
Grenades : 400
Throwing Knives : 600
Klobb : 700
D5K Deutsche : 1500
Silenced D5K : 1500
Hunting Knife : 1800
DD44 : 2000
PP7 Silenced : 2000
PP7 : 2000
KF7 Soviet : 2500
Sniper Rifle : 3000
ZMG : 3500
Shotgun : 4000
Cougar Magnum : 4000
Phantom : 6000
AR-33 : 7000
Automatic Shotgun : 7000
Silver PP7 : 8000
Moonraker Laser : 10000
RCP-90 : 12000
Remote Mines : 12000
Rocket Launcher : 12000
Grenade Launcher : 14000
Golden Gun : 16000
Gold PP7 : 16000
Proximity Mines : 18000

I'll have to get back to you on how the ammo counts affect how things play.  It probably won't affect the relative strength of weapons too much but it will certainly change how they're used.  Will be interesting to see.
I don't know enough to really comment on those numbers, though I am curious as to how they are calculated, and why they are in the 1000s range. Also, Timed Mines don't appear to be listed.


Answers to your questions and a few additional suggestions:

- For the silenced weapons, you actually can hide the individual player's radar dot.  You can do this by adding a custom radar contact to the player that uses a color with an alpha of 1, like so:

Code: [Select]
GERules.GetRadar().AddRadarContact( player, Glb.RADAR_TYPE_PLAYER, False, "", GEUtil.Color( 220, 220, 220, 1 ) )
Done.

- The Throwing Knife holding debuff is probably also doable but every player's inventory would need to be checked in OnThink as picking up throwing knives doesn't trigger the CanPlayerHaveItem callback in 5.0.  You can make this have a minimal performance impact by limiting the check to once per second or so.  It might be easier and more intuitive to just have this debuff apply for 5-10 seconds to players that get hit by the throwing knives, which is very easy to check in CalculateCustomDamage.  This would be preferable to a server-wide debuff when one player has the throwing knives because ~30% of the time someone's going to have the throwing knives so it will feel like a random punishment to the rest of the players that they can't do all that much to stop.
I agree with you on the Throwing Knives debuff. It took me a while to think of what I wanted to replace it with since they seem to do enough damage to make an on hit debuff not as useful. I decided, in the end, to have them count twice towards your additional bonus point and award switch, and to have them reduce your switching time. They felt like a skill based weapon, so I felt the best way to handle them was to reward kills with them or to give a player a way to get rid of them quickly if they didn't want to use them.

- It's probably better to use !voodoo instead of !gesrocks for the weapon swap command, as !gesrocks isn't bound by default in 5.0 and most gamemodes use !voodoo for their special input.
Done, you can now use either !voodoo or !gesrocks.

- It would be a good idea to give players the slappers during the weapon switch, because players who have no weapons will have no weapon animations and go into the reference pose for onlookers.  Looks kind of silly.
I can't argue with that logic, added. Also added a bonus where if you do kill someone with slappers, it will automatically complete the weapon switch, regardless of the remaining delay.

- I'd recommend using GEUtil.GetTime() instead of round time for timer calculations, as round time can be set to 0 to disable it and play forever.  It's not commonly done, but when it is it means you get stuck switching weapons forever.
Done.

Anyway, the mode's code is well organized, and I really like how you handled the cvars.  Modes with lots of them tend to get a bit cluttered but your setup handled them in a very clean way.  I might have to look into adopting a similar approach for our official modes.
A very much appreciated compliment. I actually took the time to make sure everything was organized well. I also decided to make some adjustments to the code, specifically, I decided to label all the functions so they could be quickly searched, and reorder some of them so that it flows a bit better. I am curious about the cvars point though, specifically where my code differs from what the other modes do, since I don't think you mean (or at least I hope you don't mean) where I initialize it all in one block (which is the first thing I think of when I read that line).

Thanks for taking the time to make this!  I hope everyone in the community has fun with it.
Thank you for taking the time to reply. I look foreward to seeing how this plays out with actual players.
Logged

Captain George

  • Agent
  • *
  • Posts: 14
  • Reputation Power: 1
  • Captain George has no influence.
  • Offline Offline
Re: [Game Mode] Cache
« Reply #5 on: October 11, 2018, 10:01:22 AM »

Seems like a good mode to me! I hope it becomes part of the offical game. I don't think this kind of mode ever existed so I believe it is original. I like how it differs from most modes. I look forward to playing it sometime when it releases. Do you need any help testing it? I have a sever, and I could get some people together to see how smooth and fluid it is.
Logged

Entropy-Soldier

  • Managing Director
  • 00 Agent
  • ***
  • Posts: 488
  • Reputation Power: 298
  • Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!
  • Offline Offline
Re: [Game Mode] Cache
« Reply #6 on: October 11, 2018, 08:46:37 PM »

This list of changes is great!  I'm really looking forward to playing this mode on Saturday now.


Anyway, for the Investment Losses list, it's a custom gamemode where you get money for doing different things and can use it to buy items like weapons and powerups that get sold one at a time throughout the round.  The money values are balanced around how useful each item is, and timed mines are excluded entirely because they didn't really have a place in the mode.  Most players can't use them well, but with infinite ammo it's possible to just run around throwing them everywhere.  Not really a problem until you consider that they'd need to be fairly cheap to be worth buying at all...and since the same item is offered to everyone each buy cycle it means suddenly 10 people are just throwing timed mines everywhere.  For a gamemode like yours, where ammo is limited, I'd say they're about as good as the grenades in most cases.

For the cvars I was mostly talking about how you standardized the cvar information into a dictionary and then used that when interacting with them.  I tried to standardize most systems in the gameplay code for 5.0 but console variables are one of the areas I didn't quite get around to.  We have GEUtil.GetCVarValue for getting a console variable directly, but this has a few downsides mainly when it comes to sanitizing inputs, handling calculations that needed previous values of the cvar, and triggering events like leveling up players if the new variable value requires it.  These were all possible to do but were cumbersome.
My predecessor introduced OnCvarChanged to, I assume, help with these issues but in the one mode that actually has more than 3 console variables, CaptureTheFlag, it caused a bit of redundancy in the code as generally all the cvars are just treated as entirely separate variables.  It's not ultimately a huge problem as only one official mode has more than 3 cvars, but if it could be easier to have 5-10 cvars without increasing complexity for lower cvar counts it would be worth it.
There's a lot of nuanced details to capturing all the required functionality into a more streamlined system, as many times two different cvars can differ quite a bit in terms of what information they hold and what needs to happen when they're changed, but seeing your system makes me wonder if perhaps there's a way to do it that would be worthwhile to set up.  I still need to standardize the console variable usage in gamemodes for 5.1, as most gamemodes still use GEUtil.GetCVarValue, so when I get around to that I might experiment with a convention similar to yours and see if it makes things easier to use overall.  I kind of just accepted the current way as good enough, only ever coding 2-3 cvar modes myself, and never really thought about improving it.


Anyway, I've got the latest version up on my server so hopefully I'll have some gameplay footage uploaded for you by Sunday!  I'll keep an eye on this thread just in case you have any last minute changes to make.
Logged
"By reading this, you’ve done more than you can imagine." - Adrian

Whimsical

  • Agent
  • *
  • Posts: 3
  • Reputation Power: 0
  • Whimsical has no influence.
  • Offline Offline
Re: [Game Mode] Cache
« Reply #7 on: October 12, 2018, 09:36:32 AM »

Made some minor edits to the file. Importantly, the .cfg file included now has the correct defaults settings (rather than settings I was testing with earlier). There is now a notification when you score a kill as to how many different weapons you need to kill with to get your bonus (Though I wasn't sure of exactly how to write it, so I'm open to changing it) though you can disable with message by setting the cvar "cs_enablenotifyremaining" to 0 (if the message proves annoying). When you spawn with Throwing Knives, you are now given a message notifying you of what they do. Finally, I moved the message strings to the top of the source file, so they can be changed easily.
Logged

Entropy-Soldier

  • Managing Director
  • 00 Agent
  • ***
  • Posts: 488
  • Reputation Power: 298
  • Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!
  • Offline Offline
Re: [Game Mode] Cache
« Reply #8 on: October 14, 2018, 08:54:00 AM »

We got to play 2 matches of Cache last night, and while I personally found the mode fun it seemed rather polarizing among the other players.  People seemed to be split 50/50 on if they enjoyed it or not, but no-one really gave me a clear reason as to why so I can only collect the comments I heard and try to extrapolate from there.

Anyway, some of the comments I heard were:

- Switching takes too long
- Not enough ammo
- It's not clear you start with 3 guns


It's easy to address these comments at face value but my interpretation is that most of the dissenters don't like how the switching mechanic is implemented.  I personally avoided switching at all without the bonus, as it was generally better to just go huge with your good weapons, and if you died before running out of ammo just eat the respawn time versus waiting out the normal switch duration.  A lot of people probably feel the current setup is unfair and random as you have to take a pretty big penalty if you spawn with a bad selection of guns.

Because of this, I'm kind of wondering if maybe the switching could happen incrementally instead of all at once.  Something like:
Press G -> lose all current weapons except for slappers.
1/3 of switch time passes -> Get first weapon
2/3 of switch time passes -> Get second weapon
full switch time passes -> Get final weapon

With the option of rerolling again during the switch time to restart it if you don't like the guns you're getting. 

Would make it clear you're getting 3 guns, give you a usable weapon much faster, and give more chances to roll for guns you like.  Even 2-3 seconds is a long time to go without a gun in an open firefight, so this would still be something people would have to use strategically if they wanted to use it to the best effect.


Anyway, to me it's a pretty straightforward deathmatch variant, and while it probably needs a fair bit of tweaking the core concept seems pretty fun.  I'll try adjusting some of the console variables and see if I can play a few more matches tonight.  2 matches is kind of a small sample size so I want to try it a few more times before trying to draw the final consensus.  Investment Losses was pretty polarizing on its first few iterations too, but after adjusting some implementation details a lot of the players who hated it now say it's their favorite mode.  It's just part of the gamemode development cycle, really.  It's hard to get something with so many moving parts perfect on the first attempt.

As for that gameplay footage I promised, I had some issues with the footage from last night so I'm going to try a different method next time.  -Hopefully- I'll have something for you in the next few days, but for now I hope a write up is enough info to go on.

I look forward to the next version of the mode!
Logged
"By reading this, you’ve done more than you can imagine." - Adrian

Entropy-Soldier

  • Managing Director
  • 00 Agent
  • ***
  • Posts: 488
  • Reputation Power: 298
  • Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!Entropy-Soldier is awe-inspiring!
  • Offline Offline
Re: [Game Mode] Cache
« Reply #9 on: October 15, 2018, 03:38:43 PM »



Gameplay footage, as promised.  I didn't play quite as well as I would have liked, but eh, probably better for capturing a typical gameplay experience.  Please suffer through my twitchy aim as best you can.


Sadly I didn't tweak the console variables like I was hoping to, but this is decent footage of the mode I feel.  One thing I noticed while recording this is that it's pretty common to have loadouts like D5K, D5K(s), and DD44 where you don't have much hope of getting much done.  These weapons are decent on their own, but the prevalence of the AR-33 and Auto Shotgun in other player's loadouts, which are both powerful and easy-to-use weapons, makes them very difficult to get more than 1 or 2 kills with.

Conversely, it's also possible to get loadouts like Golden Gun, Rocket Launcher, and Silenced PP7, which on paper seem really good...but the AR-33 and Auto Shotgun can still kill you very fast without armor and so losing these loadouts before really getting to use them is actually quite easy.  Having 2 or 3 high powered weapons isn't all that much better than just having 1, but it certainly feels like you're losing a lot more when you die.

The solution to both of these problems, I feel, is guarantee a certain weapon strength distribution for each loadout granted.  They shouldn't all be equal, as I feel the randomness is part of the mode, but they should all follow something similar to the following structure:

1 Good Weapon (AR33/Auto Shotgun to Golden Gun, better being rarer)
1 Average Weapon (ZMG-CMAG/Shotgun, not much bias in the random selection)
1 Weak Weapon (Klobb - DD44, weaker being rarer)

It would be fine to have overlap between the different classifications but something more structured like this would at least guarantee every player has a chance against any other player.  The other player might have the Gold PP7 and they only have the AR-33, but they can overcome that with better deathmatching skills or strategy.


This mode has potential, I feel like all it really needs is the right tweaks and people will love it.
Logged
"By reading this, you’ve done more than you can imagine." - Adrian
Pages: [1]   Go Up