- Created Tuesday, December 22nd 2015 @ 06:40:09
I just wanted to throw out my ideas concerning the current implementation of the Connect Four ranking system. I understand that connect four is the "beginner project" and also a solved game, so probably there isn't any great incentive to spend a lot of resources trying create a competitive scene. In that spirit, I will keep my suggestions very simple so they should be fairly easy to fix.
The first problem I notice, is any time you challenge someone you are automatically made the first player. Since we know the first player wins with perfect play this is a big advantage. A very easy fix would be to randomize who gets to be player one at the start of any "challenge" game.
The next thing I noticed, is because of the nature of the game, the same game will often be played over and over between two bots unless one of them teaks their code a bit. This leads to a situation where players can artificially raise the ranking of their bot by playing a known victory against the same bot over and over. Similarly to how there is currently a cool-down of 5 minutes between challenges this could be fixed by enacting a longer cool-down before allowing play against the same opponent. There are a few different ways this could be done, concerning which kinds of games would count towards enacting the cool-down, possibly allowing two games (once as each player), and how long the cool-down would last. I'd suggest about one or two hours sounds about right.
The last thing I'll comment on is the rating system itself. It is flawed in the sense that it only considers one game at a time when creating ratings. This means the ratings are in constant flux and always dominated by whichever bot is currently on a hot streak. In order to more accurately reflect the ratings of a bot all games need to be considered. There are tools out there which do this such as "Bayesian ELO" or "Ordo". Both are popularly used to get ratings for chess engines.
I know this last suggestion is not a "trivial" solution as promised. Rather than updating rankings in real time you would probably wait a couple hours between each rating update. You would probably want to keep a separate rating for each version of a bot, but only show the most recent version in the official rankings. New versions would have to reach a certain minimum number of games before they replace the old version in the list. Such as it is, I still wanted to get this idea out there because I think it would be beneficial to all of the competitions and not just Connect Four.
Last thing I'd like to say is a big Thank You for making this site. I've been involved here, submitting Connect Four bots for less than a month but I have learned a lot and it has been a blast. I am a beginner programmer, but I am very much looking forward to tackling one of your more difficult challenges.
Bye for now.
- Created Wednesday, December 23rd 2015 @ 22:35:19
Why do you keep challenging Gynther_Four, Nevik?
- Created Thursday, December 24th 2015 @ 02:08:49
Because you gain more points by beating someone ranked above you than by beating someone below you. I suppose I'm a little caught up in the allure of being number one. I probably shouldn't do it.
DeveloperCreated Tuesday, December 29th 2015 @ 14:47:42
Noted, thanks for your feedback :)