IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Points system for PsychoStats?
Stormtrooper
post 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:
Go to the top of the page
 
+Quote Post
Arjen
post 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!
Go to the top of the page
 
+Quote Post
Stormtrooper
post 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:
Go to the top of the page
 
+Quote Post
quark
post 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 smile.gif


--------------------
qPS SITE UPDATED



And don't forget that the cake is a lie!
Go to the top of the page
 
+Quote Post
randunel
post 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 smile.gif Stop me now if so, or let's invent more complicated formulas together biggrin.gif

Later edit: If, by action-points, you are referring to objective-based points, aren't kills part of the objectives? biggrin.gif


--------------------
Go to the top of the page
 
+Quote Post
k1ller
post 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.


--------------------
Go to the top of the page
 
+Quote Post
randunel
post Feb 4 2009, 06:40 AM
Post #7


PsychoNewb


Group: Members
Posts: 37
Joined: 11-February 08
From: Bucharest, Romania
Member No.: 67,874



QUOTE (k1ller @ Feb 4 2009, 02:55 AM) *
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.

QUOTE (k1ller @ Feb 4 2009, 02:55 AM) *
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.

QUOTE (k1ller @ Feb 4 2009, 02:55 AM) *
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 smile.gif


--------------------
Go to the top of the page
 
+Quote Post
k1ller
post 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.
Go to the top of the page
 
+Quote Post
randunel
post Feb 4 2009, 02:07 PM
Post #9


PsychoNewb


Group: Members
Posts: 37
Joined: 11-February 08
From: Bucharest, Romania
Member No.: 67,874



QUOTE (k1ller @ Feb 4 2009, 09:20 AM) *
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 biggrin.gif

QUOTE (k1ller @ Feb 4 2009, 09:20 AM) *
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 biggrin.gif

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 biggrin.gif) to calculate the skill based on the whole round. Thus, a player may be awarded an "incredible" bonus if he kills all the players on the opposite team (ace) AND defuses/explodes/escapes/assassinates, or "very bad" bonus if he kills more than x teammates (and so on) all in a single round. Kills per round (rather than kills per minute or per death) and many other possibilities. See where I am getting over here? smile.gif The possibilities will be widened to add points for triggers or combination of triggers per round.

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 smile.gif But a new problem will be raised: psychostats will be divided into several applications this way, since each mod or game will have specific ranking system. The only common things will be the database updates and the themes. So, if changes will take place, we may consider PS as a basic application with differend addons: for cs:s, for dod, and so on.


--------------------
Go to the top of the page
 
+Quote Post
{TF2F} Madrox
post 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"
Go to the top of the page
 
+Quote Post
randunel
post 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 biggrin.gif we need feedback, is this discussion going the way you wanted? biggrin.gif


--------------------
Go to the top of the page
 
+Quote Post
k1ller
post 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.


--------------------
Go to the top of the page
 
+Quote Post
RX1983
post 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…
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

View New Posts ·
 



RSS Lo-Fi Version Time is now: 7th September 2010 - 01:07 AM