![]() ![]() |
Jan 29 2009, 07:15 AM
Post
#1
|
|
![]() PsychoGeneral Group: Administrators Posts: 20,578 Joined: 28-March 01 From: Silver Spring, MD Member No.: 1 |
I'm considering a slightly new idea for PsychoStats to help generate new and interesting metrics for player stats. We all know players have a calculated 'skill' value. but that is not always a perfect measure of a player skill. I'm proposing a new metric for players: "Points." Do not confuse "points" with "bonus points" which are completely different.
My thought is this, players receive points for various actions, but you never lose points. Overtime the point value for a player would help measure the activity and usefulness of a player. It's not a perfect metric for all things. But may offer a new way of looking at things and could possibly used as a sub-metric in other calculations (for example, don't allow a player to rank until they have at least X number of points). Any points you receive for a kill are added to your points. Other actions like capturing a flag, or bombing a target would be assigned a pre-determined point value too and added to your total. Over time your point total helps to measure how much you've done. Does anyone see this as something that could be useful? Or maybe offer any suggestions on how this could be better? -------------------- Stormtrooper
Before posting new questions please do the following:
|
|
|
|
Jan 30 2009, 09:14 AM
Post
#2
|
|
|
PsychoNewb Group: Members Posts: 16 Joined: 30-January 09 From: Netherlands Member No.: 70,077 |
hello,
Im new at this forum so, Hello all! I think this is an intneresting idea! But why would you do it so that the players cant loose points ?! If you kill a teammate you should loose points i think. Maybe it can be configured within the ACP! Anyway, i think its a great idea, i really miss a point system. -------------------- 195.241.65.101:27015
http://www.nl-noob.nl/ for Psychostats! |
|
|
|
Jan 30 2009, 01:25 PM
Post
#3
|
|
![]() PsychoGeneral Group: Administrators Posts: 20,578 Joined: 28-March 01 From: Silver Spring, MD Member No.: 1 |
Points would reflect overall actions performed by a player to show their 'age' (sort of). You would still potentially lose points when killing a player based on the bonus points configured (which are separate from 'points' and can go up or down). I might need to rename this 'points' system to something else like .... 'action points'. I don't know.
-------------------- Stormtrooper
Before posting new questions please do the following:
|
|
|
|
Feb 2 2009, 05:14 PM
Post
#4
|
|
![]() The laziest man ever... Group: Administrators Posts: 1,513 Joined: 2-February 04 From: Ukraine / Lutsk Member No.: 15,061 |
I would like to see "costa" back
-------------------- |
|
|
|
Feb 3 2009, 09:08 PM
Post
#5
|
|
|
PsychoNewb Group: Members Posts: 37 Joined: 11-February 08 From: Bucharest, Romania Member No.: 67,874 |
The new points system you're trying to figure out with our help, correct me please if i'm wrong, is it an addition (of points) to the ranking system used up to noew in PS (as I remember, ELO was used)?
If so, it may actually be welcomed, since so far only ELO and awards counted towards skill, completely ignoring the time spent connected, the number of frags or objectives obtained and the accuracy. P.S.: How about implementing a modified ELO ranking system? Unfortunately, I am unfamiliar with PS programming, otherwise I would have changed the skill calculation system and tested it on my servers. May I suggest the use of http://en.wikipedia.org/wiki/Elo_rating_sy...nential_variant ? If a new ranking (skill calculating) system is out of the question, then let's stick to adding new points. The main problem: which stats are positive and which are negative? Eg: [1.] the number of kills may be positive (linearly dependent - more kills, more points), but it may also depend on the time spent connected is (thus the average kills per minute is a smaller number as time increases) [2.] accuracy should be positive, the bigger the accuracy, more points added (as percentage) Example of points to be added to the system: take the number of kills and multiply it by the accuracy percent. Add the result to the final skill points, but keep track of these points separately, since they are due to independent change. Or even better, take the number of kills, divide them by a time-dependent variable and only then multyply by the accuracy percent, thus resulting a smaller number to be added. I hope I am not way off tracks here Later edit: If, by action-points, you are referring to objective-based points, aren't kills part of the objectives? -------------------- |
|
|
|
Feb 4 2009, 02:55 AM
Post
#6
|
|
![]() PsychoGuru Group: Beta Testers Posts: 686 Joined: 10-March 08 Member No.: 68,045 |
ELO exponential variant wouldn't capture other events than kills and deaths so it has the same flaws as any other simple rating system.
For 1) and 2) ideas there is a major flaw(s). Accuracy has very little to do with getting kills or being killed so it would prefer people who use single-kill-weapons. Using K:D ratio isn't a good idea either because a player who has for example 500 hours online has K:D quite constant. He'd have to play hundreds of hours and thousands of kills to change his K:D even a little. Counting points for each objective could be a good idea. It's basically possible to compute those points even from current stats, just do: Amount of kills * <points awarded for a kill> + Amount of plants * <points awarded for a plant> + Amount of defuses * <points awarded for a defuse> + Amount of flag captures * <points awarded for a flag captures> + ... = Total points The more someone plays the more he'll get points. Good players can achieve points more quickly though. -------------------- |
|
|
|
Feb 4 2009, 06:40 AM
Post
#7
|
|
|
PsychoNewb Group: Members Posts: 37 Joined: 11-February 08 From: Bucharest, Romania Member No.: 67,874 |
Accuracy has very little to do with getting kills or being killed so it would prefer people who use single-kill-weapons. I see what you mean and I agree with your point here. But we should find a formula to fit in the number of kills and to reduce the number of kills for players who have been playing for hundreds of hours but, for example, have as many kills as a player who played 50 hours (the one who played less should get more points than the one who played more). But the number of kills and who one kills are taken into account when computating the actual skill, so we might as well leave this variable alone. Using K:D ratio isn't a good idea either because a player who has for example 500 hours online has K:D quite constant. He'd have to play hundreds of hours and thousands of kills to change his K:D even a little. That is my point exactly. You just stated my idea why we should use K:D to give points. K:D ratio on my server tends to be constant over time for all players and this may be awarded as a separate number of points (time-dependent, eg: K:D * time / 10 hours), so that K:D may reflect very little when a player just starts playing, but a lot when a player has lots of time on the server, thus its K:D tends to stabilize. Plus, me, for one, I'd rather give more points to older players and see them in the top ranking than to new players with 5 d:K ratio since they just played with noobs, that's why I recommend most formulas to be time-dependent. Amount of kills * <points awarded for a kill> + Amount of plants * <points awarded for a plant> + Amount of defuses * <points awarded for a defuse> + Amount of flag captures * <points awarded for a flag captures> + ... = Total points Let's not overrate these objectives. I agree, awards must be given for defuses and plants and flag captures, but they should be divided by time or let's add the amount of rounds won and divide by the amount of rounds lost. Eg: (amount of plants + amount of defuses + rounds won) / (rounds lost + team kills) * (time / 10hours) = no of points. Or let's find another time formula for this one. P.S.(later edit): Can anyone give me a hint how to modify the ranking system / formula in the actual psychostats so I may test ideas on my server? Otherwise, we'll just be shooting blanks in this forum -------------------- |
|
|
|
Feb 4 2009, 08:20 AM
Post
#8
|
|
![]() PsychoGuru Group: Beta Testers Posts: 686 Joined: 10-March 08 Member No.: 68,045 |
QUOTE Can anyone give me a hint how to modify the ranking system / formula in the actual psychostats so I may test ideas on my server? Check /lib/PS/Skill/ directory. Even though it's done with Perl it's practically as easy as defining a ranking algorithm can get. Keep us posted if you get any good results. QUOTE That is my point exactly. You just stated my idea why we should use K:D to give points I guess I should elaborate my thoughts a bit :-). Imagine a noob player who plays for 500 hours. His K:D can be under 1.0 (he dies more than gets kills). After 500 hours he has learned how to play and then starts to play sessions with K:D around 3.0. It'll take hundreds of hours of online time for him to get his K:D near his real skill level of K:D ~ 3.0. So K:D does not represent his "skill level" or "online time" that well. QUOTE Let's not overrate these objectives. I agree, awards must be given for defuses and plants and flag captures, but they should be divided by time or let's add the amount of rounds won and divide by the amount of rounds lost. Eg: (amount of plants + amount of defuses + rounds won) / (rounds lost + team kills) * (time / 10hours) = no of points. Or let's find another time formula for this one. Award bonuses could be somewhat easily tested by trial and error kind of way. If you play often on your server you should be able to name top-20 players or so. Write those names down on paper. Then assign each event (kill, plant, defuse, capture, round win, ...) a bonus score. Then compute who would be the top-20 players if the bonuses were given like you defined. If now the top-20 players you wrote down on the paper don't appear in the list computed with award bonuses then you'll need to adjust the bonus points so that the good players appear in the top-20 more often. Problem with the above method is of course that with more online time even a noob player can get lots of points. So you should either pick players who have somewhat equal amount of online time or divide the total bonus points with online time. I'm satisfied with the current ranking method which works perfectly for CS:S. This bonus system probably makes more sense for DoD and TF2 which are more objective based games. |
|
|
|
Feb 4 2009, 02:07 PM
Post
#9
|
|
|
PsychoNewb Group: Members Posts: 37 Joined: 11-February 08 From: Bucharest, Romania Member No.: 67,874 |
Imagine a noob player who plays for 500 hours. His K:D can be under 1.0 (he dies more than gets kills). After 500 hours he has learned how to play and then starts to play sessions with K:D around 3.0. It'll take hundreds of hours of online time for him to get his K:D near his real skill level of K:D ~ 3.0. So K:D does not represent his "skill level" or "online time" that well. A player's skill gradually increases over time, so their K:D will be under 1.0 for the first 100hours, but it will start increasing along with his skill until let's say 200hrs, where he reaches 1.0 K:D. If his skill is gradually increasing, so will the K:D over time. I believe most players have a gradual skill variantion over time, rarely sudden skill bursts after 500hours of noobness Check /lib/PS/Skill/ directory. Even though it's done with Perl it's practically as easy as defining a ranking algorithm can get. Keep us posted if you get any good results. calcskill_kill_NAME function is called for EVERY KILL EVENT. calcskill_kill_NAME_init function is called once before any logs are processed. Thus, I may only test different kill-related calculations and other single event functions. I'm not a perl-programmer so trying to write additional functions are out of the question. The example given in calcskill_kill_example.pl is good enough to play with kill-dependent skill only. I have an idea though, I'll post back Later edit: As far as I can tell, events (triggers) are pretty mod-specific (doh!) so, in cstrike.pm where the triggers are, we may add a line similar to halflife.pm $self->calcskill_kill_func($p1, $p2, $w);, only this time it would be $self->calcskill_trigger_bombplanted/bombdefused/escaped_as/etc. I'm not really sure how to put all the events skill calculation functions into a single one, it would be much more efficient for the events to be interconnected rather than separate functions ran at separate times. The main flaw is, as I see it: the skill calculation function is kill-based, not round-based. The skill is adjusted with every kill (thus a single function for a kill), not every round. Therefore I must suggest we find a way (or storm does Later later edit: what killer said was right, for CS/CS:S the current ranking system is ok. Not perfect, but ok. The triggers I'm talking about in my post may prove a lot more useful, as killer said, in DoD or other mods -------------------- |
|
|
|
Feb 5 2009, 03:05 AM
Post
#10
|
|
|
PsychoInfant Group: Members Posts: 3 Joined: 5-February 09 Member No.: 70,115 |
Whatever the new system you decide on, I think the medic should be looked at as far as making sure he gets enough points relative to his performance.
Something like "x points for x health healed" or "x points per ubercharge" or "x points per assist" |
|
|
|
Feb 5 2009, 10:30 AM
Post
#11
|
|
|
PsychoNewb Group: Members Posts: 37 Joined: 11-February 08 From: Bucharest, Romania Member No.: 67,874 |
Any input from storm would be helpful
-------------------- |
|
|
|
Feb 5 2009, 01:32 PM
Post
#12
|
|
![]() PsychoGuru Group: Beta Testers Posts: 686 Joined: 10-March 08 Member No.: 68,045 |
QUOTE Any input from storm would be helpful we need feedback, is this discussion going the way you wanted? If you want a good ranking algorithm you need to do one by yourself. Developing a ranking algorithm that works well on most servers is not easy. Even using common ranking algorithms like ELO does not guarantee anything (in fact, ELO isn't any good for games like CS:S). It takes time and effort to get something right and Stormtroper does not have that good knowledge about each game to develop a ranking algorithm that succeeeds well for each game. The ideas that you present are good but implementing them and testing them are completely different things. You need to test these things by yourself and if it's any good then post them here. That's how the default ranking and ColdFire's TF2 ranking have come up. The current default ranking algorithm and modified "kill assist" algorithm for TF2 (that gives medics + engineers more points) have been developed by me and ColdFire. Testing these algorithms takes lots of time. Here's a quote from ColdFire from another thread: QUOTE (ColdFire) I've written a plugin which gets how much a player has healed and writes it in the logs. I hope you test / ask about ranking algorithms. Representing (good) ideas is easy but testing these things requires quite a lot of effort to get right. -------------------- |
|
|
|
Oct 28 2009, 08:49 AM
Post
#13
|
|
|
PsychoNewb Group: Members Posts: 16 Joined: 25-September 09 Member No.: 71,348 |
basic:
kill = +1 death = -1 The ideal is that I calculate it of skill can be configured by the ACP, and has accepted values negative… |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 7th September 2010 - 01:07 AM |