The European Youth Online Chess Championships was a great opportunity to showcase the rich features of Tornelo to players and organisers around the world. But...
The first time you do anything is a bit nerve-wracking. No matter how much testing you do, the real world always manages to find a situation, or series of interactions, which you hadn't considered and results in unexpected behaviour. This event had a lot of firsts for Tornelo:
Our technical challenges were stability, performance, player experience, arbiter features .... everything was mission critical and there were a LOT of unknowns. Could our servers even handle the load? If something failed we'd have 750 disappointed players all over Europe and 80 angry arbiters with a lot of wasted effort. It would be a very public failure.
In the weeks leading up to the event our team had to focus on the main feature requirement for the event; the ability for arbiters to pause clocks during a game. Tied to this was for the Black player to start White's clock before they arrived at the board or played a move. This involved a significant refactor of our code because the starting of the clock had been directly linked to making a move!
Our next priority after the key "stop clock" feature was scale and performance. With 3 rounds per day we just couldn't afford to have something fail - there was no time!
There were also logistic issues for integrating with Swiss Manager, Chess24, FIDE Ratings and other systems - the organisers wanted to be able to import player lists, rather have players self-register. How would we create 750 accounts and give passwords and support to enable everyone to sign-in properly on the day? How could organisers manage online games on Tornelo, but do the pairings in an external pairing program?
One last thing...
It's really dangerous to rush out just "one last thing", but I just can't help myself.
After running some small events with our new "pause clock" feature it became clear that once the clocks stopped it would be really useful to be able to communicate with players. Originally the event had planned to do this via Zoom, but we set the ambitious goal of creating an on-board chat feature, stabilising it, testing it, releasing it and using it during the tournament.
With only 3 days to go we gave ourselves a 50% chance of achieving this but thanks to our amazing team, we released the feature literally hours before the event started. It ended up being one of the most used features!
What could have caused this behaviour? Clearly the move had been sent to the server, but had never reached it. Perhaps a disconnection just at the wrong time? How would an arbiter have dealt with that if she had lost on time?
Release Notes: Between Round 1 and 2
- Fixed bug which allowed lobby connection status to fail
- Updated clocks to prevent game-end before server confirmation
Releases Notes: Overnight, before Day 2 started
- Improved connection management and timeouts for unstable local internet connections
- Modify tokens to prevent games losing permissions in edge cases
- Update clocks with a disconnection indicator
Release Notes: Overnight, before Day 3 started
- Updated UI to make it easier to see and accept a draw offer
- Updated PGN import due to edge case failure impacting 1% of pairings
- Filter on PGN export so Chess24 could deal with the large number of games
- Clock updates to mitigate user issues with bad computer internal clock behaviour
We do love being agile, but 9 updates to the code-base WHILE a mission-critical event was in progress is maybe just a little over-excited!
Lucky we have such an awesome team that could pull this off ... hats off and thanks to David, Tobi, Simon and Frank who didn't sleep for 3 days!
Over the past decade Tornelo has been used to manage a wide variety of events; coaching classes, kids rapid play tournaments, interschool events, weekend congresses, FIDE rated events and even an Australian Junior Championships.
But without a doubt, this weekend was our biggest challenge. Tornelo hosted the European Youth Online Chess Championships and the whole world was watching.
This was the ECU's first Hybrid tournament - with players taking part from hubs (and homes, depending on COVID-19 restrictions) all over Europe. Each hub had a local arbiter to coordinate players and ensure Fair Play, while all players connected through Tornelo to play games and Zoom for Sector Arbiter communication.
The arbiters felt like they were in the control room of a moon landing.... or was it the batcave? With zoom rooms connecting over 100 locations and more zoom rooms connecting players, and yet more zoom rooms for the arbiters to chat to one another!
Tornelo provided unique controls for the arbiters to manage the chess games and for players to have a positive tournament experience:
All these features (and more) are freely available for every arbiter that uses Tornelo.
Here you see various connection status for all players.
And you can see when players are at the board, or away from the board.
No chess tournament in the world has ever concluded without at least a few problems. Thank goodness for that, or else arbiters wouldn't have a job! Online tournaments are particularly difficult and problems can be hard to solve. Here are just some of the issues faced:
Tornelo is the only platform in the world which gives arbiters such control and flexibility over their online events. We even started some rounds 15 minutes late due to pairing issues, just like in a real over-the-board event!
Starting tomorrow we are hosting the European Chess Union's Online Youth Championships. This will see over 750 of the best young players in Europe playing in a Hybrid style event.
Our work this week is mostly stabilising work to ensure the player experience for this event is as seamless as possible. However, we do have one headline feature to announce....
1. BETA Feature: Arbiter Chat function
When a player calls the arbiter, or when an arbiter pauses the clocks, a button will appear under the game for both Players and Arbiters.
Either player or the arbiter may communicate through this chat function via text chat. Both players and the arbiters will see the chat, it is not private between one player and the arbiter.
Simply type into the box provided and click Send
Take note that only a maximum of 160 characters can be used per message. A count of the number of messages in total during the game is displayed.
2. Feature: Enforce player limits on tournaments
Tournament settings has a space to input the maximum number of players in the event. This is a maximum across all divisions.
Once you enter this number, no further online entries will be accepted.
3. Updates and improvements
As always, we're keen to hear your feedback, feature requests or bug reports.
Our release this week introduces a number of arbiter controls over clocks during a game.
1. Feature: Pause Clocks
These settings are all optional and can be controlled from the Event Settings page. The ability to update these settings will be released shortly.
If this option is selected then players' clocks will stop when one player calls for an Arbiter. This is the default behaviour. You may choose to disable this and clocks will continue to count down.
The default option allows players to cancel their own Arbiter Calls.
Arbiters may select an alternative that the game remains paused until an Arbiter resumes the game. We recommend ensuring clocks are being paused during an Arbiter Call if players must wait for an Arbiter to resume the game!
2. Feature: Start Clocks
By default, Players may not start an opponent's clock before they have connected to the game.
3. Feature: Adjust Clocks
When an arbiter presses the Pause clock button, clocks will pause and players are notified that the game is paused. Games may also pause when players make an Arbiter Call.
An arbiter may Adjust clocks by entering new time as hh:mm:ss
Arbiters and players can View a Log of the clock pauses and adjustments
For full transparency all clock events are recorded as comments into the PGN file. Download PGN (clock times) to view these.
4. Feature: Disallow draw offers
FIDE Regulations 9.1.1: The regulations of an event may specify that players cannot offer or agree to a draw, whether in less than a specified number of moves or at all, without the consent of the arbiter.
Arbiters may define the number of moves after which draws may be offered (default is 1). The Offer draw button will not be available for players until after black has played this move.
5. Feature: Import TRFx
We have extended the TRFx file format further to allow the import of additional information:
See https://home.tornelo.com/trfx-file-format.html for full specifications.
6. Feature: Round States
In the pairing program an Arbiter may place a round into one of 3 states:
7. Updates and improvements
As always, we're keen to hear your feedback, feature requests or bug reports.
Our first experience with online cheating was traumatic to say the least.
In the early Covid lockdowns we setup an online chess tournament, not expecting much and were blown away when we had to close entries two weeks later after 300 players had paid their entry fee!
It was an online junior event in age groups from Under 8 to Under 18.
This was as low-stakes an event as you can possibly imagine.
We saw no incentive for anyone to cheat. No prizes to be won, no rating points to be gained, the teams concept was new so there was very little prestige as well. A bunch of the players knew each other too which I believed would help.
There was also an apparent huge downside. We were using real names, so players' real reputations were on the line, coaches would find out, team-mates would know. Why risk the embarrasment? Why take a chance at devastating your reputation in a tiny community?
We naiively assumed that with high-risk and low-reward, using real names and live arbiters, there would be no cheating.
We couldn't have been more wrong!
After 5 rounds, accusations started flying. Coaches stress levels rose and I buried my head in Stockfish and PGN Spy and spent hundreds of hours analysing games. It all of a sudden went from the lowest priority for Tornelo to the highest priority. It was a genuine problem for tournament oganisers and needed attention!
Not only did I dive into the game analysis, I also spent dozens of hours on the phone with parents trying to explain what we were doing, listening to their reactions and seeing how players justified their actions, or defended their innocence.
The weirdest thing was that some of the strongest players were getting assistance! In some cases a player 1000 points higher rated still used an engine to play almost every move! Why?
We couldn't understand.
Of course that was May - it's now August and 3 months later we are much wiser.
Firstly, a huge thanks to Professor Kenneth Regan, the absolute world expert at detecting assistance in chess games. I can't even imagine how much work he has done supporting the entire chess world through these last 6 months.
Ken Regan provided us with a Statistical Analysis of the event, of course it didn't say explicitly who cheated, but it gave us a lot of information to work with. Without this report I wouldn't have been able to make any sensible decisions.
Ultimately (2 weeks after the event ended) I made the decision to remove 10 players' results.
The players removed were:
Shortly after I suspected that I'd made a mistake. One of those 10 players was incorrectly removed. I looked too closely at individual game statistics and didn't trust the "big picture" statistics enough. The power of large numbers!
Just last week Tornelo released a Fair Play assessment tool and I thought I'd go back and test my decision making from 2 months ago against the new tool.
This is the report generated by Tornelo (available to arbiters in real time, round-by-round).
All players who were removed were anonymised with a repeated random letter. Players who were not removed appear unaltered.
I'm very excited to see that the Top 9 players on this Tornelo report were all players whom I had chosen to remove. As expected the 10th is way down the list, an unfortunate confirmation that I got it wrong.
This provides reassurance that my decisions at the time were good, but also gives me confidence in the Tornelo Fair Play report. Instead of spending hundreds of hours pouring over game analysis and agonising over a decision, I could have used this in real-time during the event!!
Next time I'll be able to flag suspicious behaviour while the event is in progress stop it before it starts, saving everyone time and heartache!
I'd like to unpack the cheating-in-chess-events phenomonen which is sweeping the globe even more quickly than Covid-19. And offer a solution.
What is cheating and how do players do it?
Cheating is the intentional breaking of rules in order to obtain an advantage over other teams or players.
The very first rule in the FIDE Laws of Chess states:
1.1 The game of chess is played between two opponents
Which is perhaps why this is such an emotional issue - players are breaking the very first Law of Chess!
FIDE Laws get more explicit with:
11.3.1 During play the players are forbidden to use any notes, sources of information or advice
And get into the procedural details in their Anti-Cheating Regulations.
The only form of cheating we are talking about here is players getting assistance from a chess engine.
Why do players cheat?
When defending players who have been accused, parents and coaches will often ask "but, what's the motive?", failing to understand that a motive is not required.
The lure of seeking assistance is incredibly strong and psychologically difficult to resist. We see assistance most frequently with players in their teens and early-mid 20's, unsurprisingly, the phase of life before impulse control has fully developed in the brain. Technically speaking these players are psychosocially immature.
Psychosocial immaturity makes them more likely to:
It becomes even harder to resist in emotional situations, which is why many players start seeking assistance once they get into a bad position, or immediately after a loss.
Getting assistance is the path of least resistance. It's easy and provides huge short-term emotional gains. It's actually harder NOT to cheat! Getting assistance is like eating fatty, salty, sugary foods... both easy and delicious, with short-term rewards and a long-term, almost invisible, downside.
Everyone knows they should eat more vegetables, exercise regularly and play chess without getting any assistance. But very few people consistently do what they know should be done.
We need to be asking how we can help people to NOT get assistance, by creating environments where cheating is easier to resist. Putting players in a high-speed (ie. emotional), anonymous envrionment and expecting them not to cheat is setting them up for failure. It's really the organisers who are being unfair by having unrealistic expectations.
What environmental factors can help?
Authenticity and empathy are the key factors which build trust. A supportive envrionment must ensure all players can be authentic and ideally know and even see one another:
Do you need to catch EVERYONE that cheats?
Most certainly not. We are trying to build trust and create a supportive environment, not to catch cheaters. Game theory has explored this in detail and your community can quickly evolve into a trusting and trustworthy (ie. no cheating) place just by:
What about automated cheat-detection?
By definition getting assistance is only a problem if it leads to an unfair advantage. This means we need an expected performance baseline. If you have no prior knowledge about a player you cannot say if they are cheating or not.
Automated cheat-detection can easily capture Flagrant Cheating (ie. copy every move from the computer), but it can't easily identify Intermittent Cheating (ie. start cheating once you're losing).
Automated cheat-detection causes long-term damage to the community of Trust that you are trying to build. It's anonymous, unforgiving and unempathetic, which may well produce more cheaters than it removes.
How do Communities solve this problem?
Only within a Community will a player get Authenticity, Repeat Interactions and Empathy.
You must be using Real Names and as much as possible be in a community where players know each other.
If cheat-detection isn't automatic, how do we find cheaters?
Arbiters need information in order to make an informed decision. They need information about a player which can help determine an expected performance and they need information about the games played to understand the statistics of what happened in games. That's because the same results from an IM would be acceptable, but from a 650 rated player would be clearly cheating.
A community leader (arbtier) will know the player and know if they are 600 points underrated. They will have a feel for how inconsistent that player is. They will understand a player's mood and the tournament situation and the other players and how they will react and they will be able to have private conversations with parents or players and 'nip it in the bud'.
There will be many times when instantly banning a player is the worst move, not the best move.
The manual identification of cheaters allows:
Tornelo provides a round-by-round process that an arbiter can quickly eliminate those who are not cheating. The arbiter can provide confidence to the higher rated player that, despite it being hard to believe, they just played badly!
You can never build trust in a hands-off Mega-portal tournament full of anonymous usernames, no matter how many cheaters you catch.
But you can quickly build trust in a community of known players with an arbiter that has timely information and control over the process.
Tornelo today released a Fair Play report feature for Arbiters. This will provide round-by-round analysis of games to help Arbiters build trust in their community.
We try not to call it an anti-cheating feature, or claim that we will stop cheating, because everything we are doing is trying to BUILD TRUST between players. It's not about catching the cheaters, it's about making sure everyone trusts one another and that the environment and community is a place where 'it's just not done'.
We don't even want to call it cheating, better to talk about it in terms of "Unfair Assistance"; trust me, parents respond much better when you tell them their precious darling is "Receiving Unfair Assistance during a game", than when you call them a cheater!
We still have a long way to go, so we'd love some feedback on this early feature release!
OK, how does it work?
It all starts by clicking the innocuous "Fair Play" button. Click the button and you'll see a Report.
First we display some overall statistics about how many games have been played in your event, how many have been analyised and how many are still pending analysis.
Tornelo provides 4 levels of game analysis. All games are automatically analysed (Level 1) as soon as they finish. We require you to manually request a deeper analysis.
Tornelo has some threshholds, which if reached, will recommend you to dig a little deeper into the games. The Deeper Analyisis row will describe how many players are being recommended for further investigation.
Simply click the Deeper Analysis button and this will trigger those players to be analysed further.
There are 4 levels of analysis, each with more stringent thresholds. As such, you may see the Deeper Analysis button up to 3 times. You'll need to click it each time if you wish to dig deeper into these players' games.
Below the summary information is a data table. Here is the explanation of each field.
I know now you want the answer to "So, which players are cheating?" ... but for the answer to that you'll have to read another blog post, another time.
The question on everyone's mind is of course Fair Play / Cheating in chess. We'd love some feedback on this Beta feature, tell us how we can improve it.
1. Feature: Fair Play report (Beta)
There is too much to say about this in an email - check out my Blog Post if you are interested in reading more. The short instructions are:
2. New Lobby Messages
This feature is particularly handy for events which run over multiple days.
When you re-start your event after time away from the computer you need to know that your players are back online and ready to play. The recommended process is to withdraw all your players (or skip them all from the next round) and let the players self-manage their re-entry in the next game.
All Lobby Messages can be found here.
3. Feature: Starting Soon message for players
When a player joins a game they cannot start playing until their Opponent is at the board. Players will now see this message over their chessboard:
The message disappears as soon as the opponent is connected and play can begin.
4. Navigation: Organisations page
We have a sexy new way of browsing through organisations with some images and trust metrics on each. There is also a verification process so organisers that are just 'trying' Tornelo will not be displayed.
In preparation for future improvements to your Organisation homepage, and to make it easier for players to contact you, please:
We have a bit more work to go on the Fair Play feature, so any feedback you have would be most welcome! We will also continue improving your Organisation Homepage. Shortly we hope to start work on automating 3x repetition and 50-move draws.
As always, we're keen to hear your feedback, feature requests or bug reports.
Before I share some feedback, I want to give you some context.
It's important to realise how DIFFERENT these two platforms are. Tournament Organisers, like anyone, need to use the right tool for the job. A hammer will always be frustrating if you are trying to screw a desk together.
Mega-portals are outstanding for individual players wanting to play ON-DEMAND CHESS. Chess.com is one of the best, and I am pleased to say that I'm a paid-up premium member of the site.
However, a mega-portal is not designed for SCHEDULED CHESS EVENTS. For an arbiter or chess tournament organiser wanting to provide an online alternative to over-the-baord chess, it's always going to feel like hammering a screw.
The following feedback is from a School Teacher with a team that has participated in events on both Chess.com and Tornelo.com.
"We played a tournament last Friday and again today. Thank goodness I had an adequate supply of panadol, at the ready!
Chess.com is a very unfriendly platform, not well suited to school team competition.
It was a great competition today, with 16 schools (48 players) participating - several of our old foes in the line up. Unfortunately, with only usernames visible, our kids had no idea who they were playing, so the excitement of beating PlayerName etc. was totally absent.
In the first round, two of my strongest players (from a team of 10) were paired against one another. They spent most of the game in our school chat, deciding whether they would agree a draw or let the one most likely to do better overall, take the win.
Players were asked to log on before the 9:30am start. All of my players were ready to play at 9:00am. I could see the green ticks and "online" next to their usernames. Despite this, 2 were given 0 point byes for not being detected as being online and one was locked out of the tournament completely - for 3 rounds! I sent 5 emails to the arbiter (as per instruction, in the event of a problem) and received 2 replies both saying that the problem was out of his control. In the end, PlayerName took matters into his own hands, set up a new account, logged on and played the last 4 rounds, with a 3.5 result.
Our final round featured PlayerA v PlayerB, even though there were other players whom they hadn't played, on similar points.
There was a new OtherSchool player whom none of us had heard of, called PlayerName . He "destroyed" (the boys' word) both TopPlayer and SecondPlayer, but no one can find his profile. So he's either new to these tournaments or ???
The tournament ended with us all being ejected. No "see you later", no "good game, guys", no final result, other than individual scores listed under indecipherable usernames.
Three hours after the tournament ended, I received an email with the results, including the cross tables, so I could spend an hour working out who had played whom and sending congratulatory messages to players who had done something special.
So, in answer to your email, "What do I think of the plan?" - not a lot.
The kids were frustrated, with lots of questions about why we can't play on Tornelo.
There was absolutely no atmosphere. It was just individuals playing 7 rounds of chess against strangers, or worse, their team mates.
The only bright note was that my little 7 year old PlayerName got 5 games and, oh yes, we won the tournament.
We will be back with you in Tornelo on 28th August. Looking forward to it!"
How does Tornelo help?
1. Anonymous play is prohibited. We use REAL NAMES and still provide privacy features to protect vulnerable players on the internet.
2. Atmosphere is created by an Arbiter leading the event. Players know who they are playing against and a COMMUNITY is formed.
3. Arbiter chooses how the pairings work, can edit pairings or even do manual pairings. You can prohibit team members playing one another.
4. Nobody can get locked out! The arbiter is in complete control of the event at all times. Players and arbiters can communicate easily.
5. Results and ratings changes are available instantly. Profiles update over time and can be shared with friends, family, parents, teachers etc. Real names are incomparably better than usernames.
6. Chess.com is built for individuals to play on-demand chess. Seven games of on-demand chess is NOT an event. Sure you can add the number of wins and declare a winner, but it's NOT an event.
We have a number of small changes being released this weekend. Please take note!
1. Feature: Click to Move
Our most requested change from players is finally happening.
2. Feature: Declare Draw
Arbiters now have more power when watching a game.
3. Feature: Download MyPGN
Players, spectators and arbiters in the Tournament Lobby can download all the games of just one player.
Updates: TRF Import/Export
TRF files now import and export players with FIDE ID, FIDE Federation and Titles.
MINOR CHANGES INCLUDE
We now have our server providing instant Fair Play analysis on single games. We won't release this feature live for arbiters until we can give you a full-tournament round-by-round Fair Play screening report. It's getting close!
These changes are scheduled to go live THIS WEEKEND. If you need a demonstration or how-to-guide for anything, please let me know!
As always, we're keen to hear your feedback, feature requests or bug reports.