Page 2 of 3

Posted: Sun Jul 23, 2017 9:37 pm
by maceman
Wow I'm not bottom, but all I've done is play 2 matches which I lost to Orb xD.

Personally I'd like an ELO system in OpenRA to help balance games better.

Posted: Mon Jul 24, 2017 8:15 am
by netnazgul
@nmm
I've written a simple ".elo" file parser to convert its insides into a CSV file.
updated (fixed the issue with spaces): https://www.dropbox.com/s/x0um63m1xx9t6 ... 1.zip?dl=0
Either run it as-is and provide names for input and output files (should be in the same dir or relative path) or run with args:

Code: Select all

EloRaterPP_v1.exe elo_file_name [-csv csv_output_name]
Creates a csv-file which could be imported to any sheet editor (Excel, GoogleDocs). Excel usually tries to open it, but fails, you'd need to do it through copy/paste with Paste Wizard.

Looks like this in the end (googledocs spreadsheet):
https://docs.google.com/spreadsheets/d/ ... sp=sharing

Games or players can only be edited out manually by editing the file itself. Although if someone has VC++ and basic skills - there are sources of this tool, and lots of features can be easily added to it (I don't have VC++ installed anywhere so meh; but maybe I'll try to open and rebuild it with Qt if I have enough time).

PS: ELORater crashes each time I try to open an elo file, both at home and at work PCs. I hope you don't have such issue.

Posted: Mon Jul 24, 2017 8:53 am
by noobmapmaker
awesome! will look into it!

Yeah I had those crashes to when I renamed the .elo file. Perhaps first make an empty group with the identical name ("OpenRA - Red Alert") and then replace it with the file I have created? I dont know why that should work, but that worked for me.

Posted: Mon Jul 24, 2017 12:06 pm
by netnazgul
Re-built the app from source and hacked an export button into it.
Executable here: https://www.dropbox.com/s/k8cq6f2d9xhog ... A.zip?dl=0
Sources here: https://github.com/netnazgul/elorater_ora

Rather crude, but is probably easier to use than external tool.

Posted: Mon Jul 24, 2017 7:26 pm
by noobmapmaker
Used Netnazguls exporthack to export the current data, see here for the spreadsheet.

Also has games played, wins and highest historical rating for each player. Very nice!

Posted: Tue Jul 25, 2017 5:40 am
by Medium Tank
This is incredibly awesome to see posted!

The first thing I have to say is thank you so much to all the people who willingly do this on their own time. Like creating more code and jumping on board to really push this ELO thing forward. Thank you all for this.

Secondly, I can't help on the coding part of things, however, I'm not dry on ideas. Maybe a helpful way to get a reliable way to play ranked matches would be to get a hold of Jazz and see if there is a way to make a server dedicated to playing matches with ELO. Whether that involves making code for that lobby, or just the previous system of typing ranked game, it could be a way to be help along the abusing of the system.

I might be bringing up mute points of ideas, but writing it down and saying no is better than never saying it.

Also, my time to brag.. Sorta cool to see myself in fourth for only playing in 1/3 of the total games you pulled from, even if my rating is 'volitile' as previously stated..

:bana:

Posted: Tue Jul 25, 2017 6:02 am
by Orb
If there was a "ranked" server that didn't require uploading replays I think that would be fantastic. Heck, at minimum all it really needs to do is save the replays. We can set a password in this thread, and if anyone wants to play a ranked game they'd meet there. Then, NMM can look at the replays for the results, or we can post the results here if it's too much work.

Posted: Tue Jul 25, 2017 6:08 am
by netnazgul
Discord is actually a nice thing to set rated games up I believe. But no such external option is better than implementing rankings into the engine, and any external option is more or less the same level of annoyance to do.

Posted: Tue Jul 25, 2017 7:23 am
by noobmapmaker
Ill ask Jazz! Netnazgul would you be willing to help coding, if that's required?

Posted: Tue Jul 25, 2017 7:40 am
by netnazgul
I fear implementing that would require coding skills that are beyond my abilities... :\ Also the engine is written in C# which I'm not familiar with at all.

PS: First we need to have some kind of registration and profiling ingame. Because currently nothing prevents one to change his nickname to "Lorrydriver" and fail multiplayer games miserably :D

PPS: Second issue in consideration is there should be a server that holds all the results for these ranked games. Linking it with openra.net would be a great thing too for example.

PPPS: Most competitive games use Glicko instead of Elo https://en.wikipedia.org/wiki/Glicko_rating_system. Or its derivatives.

TL;DR Current implementation (by @nmm) is a fun addition as it is. Implementing it as a full-fledged feature of openra requires some brainstorming and coding which should be a feature request, and should not be done as a half-measure. I think devs still have other priority things to do besides that.

Posted: Tue Jul 25, 2017 8:17 am
by netnazgul

Posted: Tue Jul 25, 2017 9:49 am
by noobmapmaker
No thats fine! Lets not reinvent the wheel, Ill read your links somehwere next week and tell my thoughts.

And for actually implementing a rating system: we should indeed either do it good and have a fully automated system, with IP-checks and whatever.

Or a super simple addition that takes away 70% of the effort for the user, and leaves me with a little work to do every other week. For example: users tick a box to accept that the game is rated, the system somehow reports the result and both users have to send me a message to confirm the result of the game (so I can check that people are not playing under other peoples name).

Edit: it would be great to have the replays available though, its great content! Could they automatically be transferred to Jazz's archive?
Edit 2: I can of course input official games manually from RAGL/other tournaments. But we do need those random games to crossbreed our ratings...

Posted: Wed Jul 26, 2017 8:58 am
by jvk
@netnazgul & noobmapmaker

Pchote started with a ranked system last year, but its not finished / on-hold. There are many factors you have to deal with setting up a solid ranked system.

You can see the pchote's code on:
https://github.com/OpenRA/OpenRA/issues/2265

I can setup the web backend to store and parse the results, but someone has to pick up the C# part.

----
I can also make a simple application without the hassle above, but then these 2 simple ideas has to be implemented:
https://github.com/OpenRA/OpenRA/issues/13308
https://github.com/OpenRA/OpenRA/issues/13309

Ofcourse it's not 100% fail proof / solid, but its a start for the competitive players. We can use this before openra has his own ranking system.

Edit:
I think we can bypass the manual match confirmation if we bind IP's to players in our own ranking system. So for example:
jvk has IP: 123.2.15.12
NMM has IP: 542.125.2.5
Bob has IPs: [126.21.21.6, 126.21.21.7]
etc.

If we do that, I should be able to automate the whole process

Posted: Wed Jul 26, 2017 12:54 pm
by Mo
JOo wrote: people could just abuse that by having a friend rename himself everytime and let him play like shit, play on a server that doesnt show off the IP (not even that, a lot of players just have dynamic IP's)

you could also just easily get a spectator in to spec-snipe on a different machine or via friend (similar to stream-snipe) and get advantage over the enemy,

in public 1v1's theres often a lot of spectators ... they could easily just compromise a "rated game" by calling out someones strategy or moves ...

also, do you allow even custom maps ? ... what maps are allowed ?

here something that is related

https://github.com/OpenRA/elobot

we used to have an "Elobot" on #OpenRA ... like 3-4 years ago , but people didnt really use it
Some very valid points.

Usually the things/ideas that fail to be implemented do so because of timing. 3 years ago the 1v1 competitive scene was non-existent. Perhaps worth a re-look :)

Posted: Wed Jul 26, 2017 6:13 pm
by noobmapmaker
First week of august I'll look into everything to see what the possibilities are. Thanks for the input!