Latest Posts

Topic: Game statistics saved on Meta Server

Nasenbaer
Avatar
Joined: 2009-02-21, 18:17
Posts: 828
Ranking
One Elder of Players
Location: Germany
Posted at: 2010-10-15, 14:28

First of all: Great work Timo face-smile.png !!!

I agree with SirVer about what kind of games should be counted and which should not, but would like to add some additions:

  • Wood gnome and Collector games can still be fair, although they run in a Xv0 mode - that way the players are unable to attack the other players, but still only one is winning (the one with the highest ware points or the highest number of trees) - So I think Xv0 games should be counted with that win conditions as well.
  • Only registered players should be counted, else a user could register and use an anonymous acount (running parallel) to push his points - a check for the game time would be nice as well (collectors and wood gnome can only be won with gametime >= 4 hours and autocrat games should at least take 30 minutes or so (e.g. a similiar check is done at lastfm - if a user tells the system, he heared 2 songs in a minute, something is definitely wrong face-wink.png ) )

About the savegame problematic: the only way I could think of to handle this, would be to have a unique id for each game and the server saves the state, if a game is ended before the game was finished. And if the game is reloaded, the game is only counted, if the users are the same. The problem would be, that there are quite a lot games that will not be finished and would massivly fill up the database.

So to be honest: Never mind about savegames and simply do not count them.


Top Quote
timowi
Joined: 2009-11-01, 23:08
Posts: 146
Ranking
At home in WL-forums
Location: Germany
Posted at: 2010-10-15, 15:33

SirVer wrote: We could introduce 'leagues' for each win condition and rate differently in each.

ggz has no support for different 'leagues' yet. So that is not so easy to do. At least for the first time we have only one ranking.

@collectory: for me, this is the way widelands is meant to be played (it puts a penality on building up military, but it is necessary sometimes). So it is the most important win condition for me and yes, it should be transmit. Indeed, the extra statistics are the custom_statistics field. The same for wood gnome. I suggest transmitting it and using it.

I think this way too. In sense of competitiveness only defeat all games with equal distributed human should count. But from the "widelands as economy game" view these should be rated too. I thought of giving them less points then defeat all games. So hopefully they count less.

About the rating: ELO is not so terribly good because it converges extremely slowly, but if we keep the data around (which should not be a problem, or is it?)

We do not have all data (yet). Only the participants and the winner are saved to the db now. No points and extra data saved. So recalculating over old matches will not be so easy,

Nasebaer wrote: * Wood gnome and Collector games can still be fair, although they run in a Xv0 mode - that way the players are unable to attack the other players, but still only one is winning (the one with the highest ware points or the highest number of trees) - So I think Xv0 games should be counted with that win conditions as well.

Result calculation can be completely different per gametype. So do you think teams should be completely ignored for collectors and there is only one winner?

  • Only registered players should be counted

I think that is not such a good idea. At least in the beginning we do not have much registered player. So it should be as easy as possible to participate. Registering through the webpage is not so easily done. Especially if widelands is registered with normal ggz core clients maybe there are some players just testing widelands through that.

About the savegame problematic: the only way I could think of to handle this, would be to have a unique id for each game and the server saves the state, if a game is ended before the game was finished. And if the game is reloaded, the game is only counted, if the users are the same. The problem would be, that there are quite a lot games that will not be finished and would massivly fill up the database.

I do not see here a problem with the database. If a few hundred or thousand hashes (and that will quite take some time) is a problem we do not need to talk about storing game statistic and details.

So to be honest: Never mind about savegames and simply do not count them.

I think widelands is still to unstable to just ignore them. How often did you have to restart a game because of a desync, a crash or cause by a connection loss? Do you still think it is not necessary to continue games?


Top Quote
SirVer
Joined: 2009-02-19, 15:18
Posts: 1441
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2010-10-20, 11:12

Build 16 will be quite stable, I have very little desyncs to no desyncs lately. I think savegame handling is makable and not too hard.

Can we not simulate leagues? We send the gametype and points and positions can be done on the homepage and we simply do not use the GGZ points? They are too limited for us and we do not need to stay compatible with other GGZ servers/games in my opinion.


Top Quote
timowi
Joined: 2009-11-01, 23:08
Posts: 146
Ranking
At home in WL-forums
Location: Germany
Posted at: 2010-10-20, 13:12

SirVer wrote: Build 16 will be quite stable, I have very little desyncs to no desyncs lately. I think savegame handling is makable and not too hard.

Ok, its quite stable now. But I still had some crashes. There are even disconnects due to network or computer problems. For widelands where a single game can took hours it is very bad if you are not able to continue after a crash or connection problem. I am completely for implementing proper savegame handling with the metaserver.

Can we not simulate leagues? We send the gametype and points and positions can be done on the homepage and we simply do not use the GGZ points? They are too limited for us and we do not need to stay compatible with other GGZ servers/games in my opinion.

We can do everything. We have the source code. face-smile.png

But the ggz points (rating and win/loss stats) are working now. All other types have to be implemented.

Do we want to stay compatible with ggz? I have though about that. ggz is very limited not only on the metaserver itself. ggz (especially ggzd) is still in an early stage. I have already discovered some bugs. To get the all the feature we need it is easier to switch away from ggz and use an own metaserver communication. Perhaps xml based like the ggz protocol. This is actually easier than using ggz and I think it will have less errors. But ggz will become better over time. In my opinion the much better way is to improve ggz to fit our needs. short term it is harder to improve ggz and use it instead of doing it ourself. But it makes our improvements usable by others. Others will use it and fix and test this code too. Stay with ggz and extend it to our needs is better in the long run. I intend to try to get the needed features in ggz first. I think this is possible and a good way. The important question still is: what do we want?


Top Quote
SirVer
Joined: 2009-02-19, 15:18
Posts: 1441
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2010-10-20, 13:49

You are deeper in the code. GGZ is quite old and that it is not in a good state is disappointing and I am under the impression that the development has kind of stalled. En plus, it is more designed for games like hearts or reversi imho. We will need more flexible approaches to make a nice gaming environment. Actually, I already implemented a meta server very long time ago because I was not satisfied with what was around (I didn't finish anything though and ripped the source as it became incompatible). I am all for open source, but I think we should go the road that is easiest for us and not invest a system that only partly suites us.

How do other games along with this? Wesnoth has it's own meta server afaik. Maybe they have something worthwhile to extend on?

I will trust your word in this though timo, as you have been deepest in the GGZ code and you are the one who knows all the details.


Top Quote
timowi
Joined: 2009-11-01, 23:08
Posts: 146
Ranking
At home in WL-forums
Location: Germany
Posted at: 2010-10-20, 14:57

ggz development has stalled for a while now, that's true. But I still hope this will change in future. GGZ is designed for easy game development. It is designed to be flexible and fit most needs. Currently is supports mostly basic functions. It does not fit needs for bigger games. GGZ has some nice concepts which make it interesting as a general game meta server. Currently ggz is not flexible enough for bigger games. But that could be done.

The easiest way is to rip out ggz support and create an own metaserver. This is easier than fixing the current ggz implementation in widelands. But nobody will ever use this code in an other project. We (like most other games) will have just on more metaserver which is incompatible to all other. In my opinion extending metaserver code from an other project makes no sense. Then the right way is to extend ggz to fit needs of most games. I see a big potential in ggz. I woul be really nice if in future a gaming community could set up one metaserver for the most important oss games... This will never happen if every project goes the easiest way and hack it's own metaserver implementation. Wideldans won't be what it is today if every player and developer waited for it to be finished. I believe there will only be a good solution if one is supported from a bigger game. We are the last game (I think freeciv moved away from ggz a while ago) which tries to use ggz. If we move away too ggz will not improve feature for such game in near future. Someone should either create a good concept for a flexible metaserver environment or extend ggz to be this flexible. I think ggz could be improved this way. Hacking together a custom widelands-only solution is the easiest but no good way.

It is a difficult decision which way to go. Would be good to discuss this on the WiHack 2010R. I want to think about this again and ask the ggz developers what they think.


Top Quote
timowi
Joined: 2009-11-01, 23:08
Posts: 146
Ranking
At home in WL-forums
Location: Germany
Posted at: 2010-10-29, 14:56

Just a small update:

I have changed ggzd so points, team and result (win/loss/none) is stored for each player. This makes the information a bit more useful.


Top Quote