Changes in StatisticsSavedOnMetaServer
Editor Comment
update
Revision Differences of Revision 2
## General Idea ¶¶
Depending on the win condition and the number of winners / losers, all clients and the host should send the same data to the widelands game_server (which checks if all send the same - so cheating will at least be harder). The game server will than save the data for each user. ¶
¶
¶
¶
### The send data ¶
¶
The data send to the game server should be a list with entries for each human player, containing: ¶
¶
* playername ¶
* whether player is a winner ¶
* The time of lose/win (player possibly play on for some time after winning) ¶
¶
The widelands game_server (running as module on the metaserver) should than already know: ¶
¶
* How long the game took ¶
* How much players and computer players are playing (should be send by the host at game start) ¶
¶
Out of this data, the game_server calculates the points for each player to be added to the database. These saved statistics should than be visible on the website and (for each logged in user) be shown in the GGZ metaserver lobby. ¶
¶
¶
¶
### Calculation of points ¶
¶
#### General guide line for calculation ¶
¶
The following points should be kept in mind when adding a new game type, to have a similiar amount of points for winners and losers. ¶
¶
* Points will only be saved on the server, if ___at least two player___ were playing (spectators not counting) ¶
* Computer players should count less than human players. ¶
* Widelands is an economy based strategy game and is meant to take some time until a working economy is up and running, so there should be a min value of time a game has to take to be counted (30 minutes). This will as well partly work as cheating protection. ¶
* If the user lost the game, (s)he should get a very small negativ points value (between -1, -2, -3 or -4) ¶
* If the user won the game, (s)he should get a positive amount between
¶
¶
¶
#### Normal "defeat" games ¶
¶
General calculation -> for winners and lo
¶
* points += 1 if the player had
¶
-
* points
*
*
¶
For
¶
* poin
¶
For the win
- extra points for each soldier upgraded ¶
- extra points for each building build ¶
- extra points for each x number of wares created ¶
¶
and divide by game time. (or even better the square of game time) this way it will actually encourage people to work hard and finish the game. you wouldn't want someone to just leave his computer on and get points for refusing to conquer the last single barraks/woodcutter ¶
¶
¶
¶
#### Older drafts (kept here as idea) ¶
¶
The following is a first draft for the calculation:
¶
* points += 1 for each defeated player ¶
* points += 1 for every 2 hours (round down) played until final victory ¶
* points -= 1 for every hour, after 2 hours of gameplay and before final victory, where no fights took place. (To avoid "pushing of points") ¶
* points += 1^2 for every oposing alliance size >= 3 players (so + 1 for 3, + 4 for 4, + 9 for 5, ...) ¶
* if more than one player is set as winner: multiplicate the points with ((size of owned land)x(size of enemy military site defeats)) / ((size of complete controlled land by any player)x(size of whole defeated military sites in game)) ¶
¶
The final points of a winner should be >= 0 and <= 100 ¶
¶
¶
¶
#### Older drafts (kept here as general idea) ¶
¶
The following is a first draft for the calculation: ¶
¶
* = 0, if the game took less than 30 minutes (widelands is an economy strategy game, none should get points for being the super cool aggressive Blitzkrieg guy) and if only 1 human player was in game. ¶
* = ((number of human players + (number of computer players / 2)) / number of winners) + (number of hours until win / 2)[rounded down] , if the player is a winner ¶
* = - (1 + number of hours until win - number of hours until lose of the player) (but should be >= -3), if player is a loser