New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ranking Games and new Lobby window #2815
Comments
In fact I talked with @hifi from http://cncnet.org about that earlier today. Their plan is to use irc.cncnet.org to emulate Westwood Online. There is a main chatroom #cncnet that serves as a lobby similiar to wait we already dreamed about in #2088. Every new game is just a new channel. You can use NickServ to protect player names #2265 and have ranked play or a ladder by submitting game results to a bot. They require lot's of hacks to get those thinks working for http://redalert1.com and the plan for CnCNet version 5 was to go completely web-based so this IRC thing might be just an interim solution for them. Nothing is done yet. Only an internally developed proof-of-concept CnCNet client that spawns new games and sends/recieves stuff via IRC notifications did spam the chat-rooms there at the moment. Although it might not be ideal we should still keep an eye on what our binary-hacking friends are doing and maybe integrate into it once it is stable. |
Just found http://sourceforge.net/projects/gamingladder/ I am not sure if it supports any kind of API to display it in-game. |
I asked @Greg-Boggs who maintains http://wesnoth.gamingladder.info/ to help us. |
Hi Guys, All the ladder requires to work is that players be able to create games with titles that indicate that it's a ladder match. Other than that, having the ability to chat is important so players can discuss any details and encourage each other to sign up and participate in the ladder. Matches are reported on the ladder website and replays are uploaded there. The ladder provides an interface for reporting matches, uploading and viewing replays, and displaying profiles and rankings. It is also adjustable to match up with other game formats. In an ideal world, the game lobby would provide a single button to create a match. Once the button has been pressed, the game server would match players who have also pressed the button. The reason for this is so that it's not so easy to engineer your opponents. Ladder ranking systems work best randomly matched. This single button interface is better than the browse, and sort, and match interface because players no longer have to work to find and match games. They press a button and play starts. This "play game" button is not required for the ladder. All Wesnoth ladder matches are arranged by the players themselves with out support from the game itself. I'll have an open-ra copy of theladder set up next week so you can play with it. Feel free to email me if you need more admin's added. ~Greg |
I think we should start with a completely web-based http://openra.gamingladder.info/ (the Wesnoth one looks pretty impressive) and begin doing some integration with the game client if people like it. |
@Greg-Boggs Am I right that the OpenRA gaming ladder is of the agenda again? |
Okay, I might try to do this on my own. Did an svn2git import at https://github.com/Mailaender/GamingLadder |
Website that was mentioned on IRC (found by Mailaender): |
I created a fork on GitHub and will move all Wesnoth ladder development to the github fork, so pull requests between the two ladders will be easier. |
Cool, this has potential to become a "christmas project" of mine. http://www.youtube.com/watch?v=qT90jZP58jM |
Don't tease us Mailaender, that's playing with your fanbase's hearts ;) |
Wouldn't it be much easier to use a hashed replay file with some end game stats included? That way, players could upload those files to a league website. Of course, usernames need to be password protected so no one could make a fake submit, and some security measure have to be taken. Or use hook trusted official servers (like hetzner) into the ladder directly with use of IRC nick authentication (@pchote) |
Unassigning myself. I had a look at the http://wesnoth.gamingladder.info/ and it seems like a monster. Far too complex for a PHP beginner like myself. Also probably not maintainable by me and my small shared webhost. Will wait for http://cncnet.org and http://playcnc.net/ to release something and maybe do OpenRA integration there. |
Mailaender : what do you expect from cncnet ? (I mean.. some patches? new code?) |
A web service or an IRC based system we can just hook on. I don't expect code or patches from their side. |
What about giving official servers the possibility to authenticate user names (via hash/passw) and simply log the results. Everyone who willing to play for a score would have an option to do so. |
Okay, as we don't seem to have the time to create and maintain our own gaming ladder, maybe we should integrate with http://binarybeast.com/api/info instead. |
👍 for this whole ticket. |
Is anyone working on this right now? If not, I'd like to have a go. |
Go for it. |
@clemby Are you still working on this? I would like to take this on. |
@jwbuurlage : how do you plan to implement this? With an ingame ladder? |
@X-A-N-A-X My initial thought was to have a statistics server, and let game servers (optionally) register finished games there (ranked or unranked alike) using some basic RESTful API. This could be a implemented as a server option that defaults to false. This "statistics server" would allow for multiple output formats for use by an ingame ladder and external websites. This is not unlike how the master server is set up. For example, a simple API call could be used to obtain current (paged) rankings, for easy integration. I suppose the statistics gathered for a game should be as extensive as possible for future use, but the initial version would only be used for an ELO ladder of some kind. Later the same information could be used for player profiles etc. If no one is working on this currently, I can draft a more detailed plan. |
I'm also working on something like this. I have plans for a web-based multiplayer platform for openRA. The first version will be very simple, just have a server list and a general chat. But in the end I would like to have an account system, ranked matches, matchmaking, etc. |
@GeertJohan Maybe it would be a good idea to collaborate on this with everyone interested, it seems like a lot of people have tried and gave up. Why would we make a web-based platform? An in-game general lobby and a ranked game list would suffice, and we would not be segregating the player-base. Maybe we can split this into a number of different tasks:
|
@jwbuurlage still working on it, but don't let that stop you if you have better ideas. I've been working towards adding a multiplayer ladder to the tournament site, extending its API and adding appropriate views etc. There is still a lot left though: I haven't implemented the ranking logic or made any changes to the game itself yet (lobby and ranking checkbox as described above); I'm also undecided on how best to authenticate players. Help (anywhere but especially in these areas) is welcome too.
|
Elo and Glicko-2 are both well suited for online games. The problems with both are similar. Namely, both formulas require 100% random matching between players. If players can pick their matches, it's trivial to inflate rankings in both systems. On the Wesnoth Ladder, we made more than a few tweaks to improve this. First, new players give out half points. This discourages spam accounts and targeting of newbies for easy points. Second, we've adjusted the point system to allow players to climb over time regardless of their skill. The reason for that is players don't like realizing their rank doesn't increase. It's just not as fun as making small incremental improvements with effort. On the topic of match recording and integration, the Wesnoth Ladder works entirely with no integration. All matches are player reported and uploaded replays are done manually by the players. It works wonderfully and required significantly less programming to do. |
@Greg-Boggs Very interesting, especially your last paragraph. Can any replay be submitted? Do both parties have to submit the replay? I can see the following problems with this approach, curious how you guys resolved this:
|
You should sign up for an account and look at the report page: http://wesnoth.gamingladder.info/report.php Results and replays are submitted by the match winner. Only mutually agreed ranked games are reported. It's possible for people to cheat. But, actual cheating is very, very low and the stats of reversed games are published on the home page. It does take 1 person willing to be the moderator to settle these infrequent incidents. The goal of newbie protection was to discourage top players from picking on newbies. The number of games to remove protection are very few. A couple newbies playing together for 2-3 hours could get out of protection. Wesnoth does not support randomized matches. We requested the feature, but the core team doesn't want to see competitor play built directly into Wesnoth. I believe the place to look for implementation details are in the constants file of the project: http://sourceforge.net/projects/gamingladder/files/ Essentially, we tweaked the number of points gained so that people gain slightly more than they lose. One commonly requested feature is a second ladder where the ladder resets on a periodic basis while still maintaining the long term standings. |
@jwbuurlage , @Greg-Boggs @GeertJohan @clemby : you guys may find this here interesting : #3859 ScottNZ made some approach here (with some outstanding results) , but at the end it got removed ... see here : #6786 ... as far as i remember , plan was to build our ranking system on top of that implemented irc chat we did allready experiment with a "ELO-Bot" in #openra for a while but because the Ingame-Irc never managed to get into a full release ... it never got out of the experimental stage |
@jwbuurlage and I have teamed up and we are actively working on this. |
Hi! what's the current status of this!? I was thinking to colaborate, being a full stack developer I can develop the API & simple web interface (twitter bootstrap) for a ranking system like ELO (I also play chess), with profiles, very fast. I've read about implementing this with IRC and I think it will lack flexibility in the future. But I'm not a C# developer so I wont be able to submit pull request for the main game, only develop the server side. Stack: Ruby On Rails, PostgresSQL, Nginx, Linux. |
This is still blocked on having a player authentication system that works with the game. IRC was previously discussed as an option for that, but I personally think a much better approach would be to integrate it with our planned new forum (as a phpBB3 modification). There's really no point in implementing rankings until we can authenticate that players are who they claim they are. It is far too prone to abuse otherwise. |
Hi @pchote , Basically,
Of course there a few things to consider like what will happen if both clients inform different results (cheating?), etc. But for starting is not difficult at all, I bet I can have a prototype working in like a week. |
If you wanted to put some time in to build a rough backend prototype that could be used as a starting point for the client side work, then that would be great. Once the client and server sides are working together we could decide on how/if we want to proceed further. The standing plan for handling ranked games and avoiding cheating is to have a set of whitelisted ranked servers, and then the servers report the game results to the backend. If players want to play unranked games then they can play on unranked servers. We would then have API methods for clients to verify that a ranked server is what it claims to be, and for the server to verify that clients are who they claim to be. |
@pchote: What about this scheme: The worst thing I can think of is the game server disconnecting the client on purpose to claim a disconnect... But, By the way, are u currently using XML or JSON as the payload of the HTTP API ? |
The server browser and lobby windows have changed a lot since this was created, and we have other issues covering the specifics of authentication and ranking. Closing. |
Hello.
Multiplayer games could become even more interesting if a Ranking system was implemented.
Concept:
number of games won, number of games lost, number of games played, pourcentage of
games won, the fastest game won..
To support this new Ranking system, the lobby would have to be changed a bit.
It should feature options to filter games, find players easily, ...
Here is a mockup:
Mockup:
Mockup:
The text was updated successfully, but these errors were encountered: