Add Prestige to encourage XP reset
With the latest release, we’ve taken several steps to discourage and eventually get rid of XP Save (see Why XP Save is a bad idea in the first place).
- we’re displaying differential XPs only (XPs earned during current map/campaign), never total XPs;
- we’ve introduced Skill Rating (#403), to better reflect skill of players and get a similar "loyalty program" given by total XP so players come back to a same server;
- we’ve tied ranks on Skill Rating, rather than skill levels. Nobody knows if you farm XPs, but everybody knows if you contribute positively to the success of your team.
However, skill levels are still tied to collected XP, so XPSave is still useful to keep skill levels permamently.
For this last missing step, introducing the idea of CoD-style Prestige might just be what we’re looking for:
- When all skill levels are reached, propose to the player at start of map/connection or end of map to reset XPs to earn "Prestige points"
- A prestige counter is increased, and stored in DB
- A third Scoreboard with prestige earned could be easily implemented
See below for some possible implementation details:
<aeth> Hopefully I’ll have time in the next month or so to work on a fun mod[...], and when max level you can do a CoD-style reset so you’re never maxed out so you don’t have full skills all the time)
<aeth> CoD-style reset, at least as I’ve seen it in mods for other FPSes (haven’t played CoD in many, many years) means XP save, except you’re encouraged to reset to the start again when you’re at max level. Not sure when/where they did/do this, but it’s called "Prestige" and it’s in the CoD 4: Modern Warfare description on Wikipedia so it started at least back in 2007, if not earlier.
<aeth> So it’s kind of a middle ground between no XP save (starting fresh periodically) and XP save (basically playing maxed out for days 3-900 of playing on the server).
<aeth> It basically always puts you some place in the middle of the skill tree, as I’ve seen it in other mods, e.g. in Garry’s Mod game modes, because when you’re at the max you reset and when you’re at the beginning leveling up is easy.
<aeth> Naturally, you’d also have to rebalance leveling up, too. You’d probably have to get battle sense and light weapons to progress much more slowly than the other skills so you finish them all around the same time instead of sitting at max light weapons and battle sense early. Alternatively, more tiers in those than in the class-specific ones.
<aeth> I’ll have to take a look at the Lua API this weekend or so, but it would ideally (if feasible) work something like this: (1) when you reach maximum level in a skill you no longer gain XP in that skill (to discourage not taking the reset option) and (2) when you reach maximum level in all skills (and this would encourage playing more than just medic) you reset back to 0 XP and increment a number.
<aeth> This number would show up in the status screens (TAB, /scores, end of games, etc.) and would be much, much lower than the ridiculous numbers that players on XP save servers can get (and people wouldn’t always have maxed out skills, unlike with XP save). There would also need to be some minor benefit, maybe e.g. alternate weapon textures or something.
<aeth> Oh, and skill progression would also have to be slowed down so it takes 40-80 hours on that server to increment the number so even triple digits would be very, very rare.
Add a big popup in game when prestige point can be earned, after the last level has been reached(done) Add an in-game popup to track partial prestige point, f.e. when a class has reached full rank and/or just before the end of match.(done) Add a "Most prestigious" award(done) Tie ranks to prestige instead of Skill Rating (is that necessary?)(not needed) Display prestige rank in scoreboard, crosshair info, ..(done)
- Server broadcast when players increase prestige (voluntary reset), maybe debriefing screen notification?
- Some levels of Prestige points could be used to unlock small, cosmetic features only (new faces, minor skim variation, etc.)
- Use ribbons to visually display the prestige level (scoreboard, limbo menu where campaign medals usually are, debriefing, ...)
- See ET-Headquarter mod, where "coins" could be used to get personalized equipment (see videos - while I don’t like the mess that the provided HQ faces and skins allow on server, the underlying idea is great).
Disable prestige feature if XPsave like features (XP save, or custom skill_levels) are enabled. This should give an extra incentive to play the game with its intended balance.(not needed) Link prestige to the dynamic campaign feature (#1252) somehow, for example when all levels are reached in a campaign.(prestige isn’t enabled in campaign for obvious reason, #1252 is the perfect improvement for that game type) add streak tracker, so we know how many time a fully levelled up player without reseting. This might help in ensuring the feature is incentive enough.(done)
mod: added foundation for prestige tracking feature, refs #1155Add underlying support:
- additional session var
- additional scoreboard
- info window stats
- end of game stats
- debriefing screen
- cmake enabling macro
game: fixed broken prestige record in database, refs #1155
The previous fix in d6926d59e911a8f968334120b1c26a126d322692
prevented the new value to be correctly recorded.