Friday, February 25, 2011

On-line Chess - Part 1.7 - Challenges


Ok, you logged in to a chess on-line web site and you are ready to start a game but how could you find an opponent? There are several ways to. The most common is the direct challenge: from the list of on-line users you chose the one you would like to play with. Yes, maybe you know the player by its nickname and would like to play with him/her, or looking at the player rating you can chose to challenge someone a bit stronger than you to increase your own rating. So the choice is yours in this case.


Figure 7http://www.chesshere.com allows the player to invite another player and to show the list of current invitations

There is another possibility: you create the game you want (setting time limits and color for instance) and wait for someone to come to your table. In the other way round, you see a list of created games with their characteristics and you can chose to join the game you want. Nice, but you may ask: “why should I see a list of lots of games I don’t want to play?” In fact, you may be not interested to play against too much stronger people, or too much weaker people. That’s why some good gaming web sites allow their user to set constraints when creating the game. Those constraints limit the possible opponents to players with a rating inside a fixed range or inside a range around the creator rating (300 points below and 300 points above for instance).




Figure 8http://www.chesscube.com game creation with rating range constraint

A similar concept is used by other sites where each player specifies the constraints and the system will find automatically an opponent that fulfills that requirements: the user does not chose to join the game because it is not allowed to see the list of created games.

What happens if there is none who can play with you? Play against a computer seems to be a forced choice but is it what you really wanted? It is better to be clear: “Sorry, no one available. Retry or if you want you can play against the machine”.

Interesting is the feature to invite a friend of yours even if he/she is not a registered user. The invitation needs only the email address and if your friend is checking his/her email in that moment he/she could join the game with you (but if he is not connected…).

I talked about friends. That is a concept widely used in most gaming web sites. You have the chance to maintain a list of other users (your friends) and check if they are connected, if so you can challenge one of them or chat with him/her. The concept behind is simple: a friend is someone you want to be connected with, someone you want to play with often. Some online chess providers have another interesting feature which is the opposite of friends: a list of people you don’t want to play with. In fact when the system finds automatically an opponent for you, you won’t have the chance to reject the match usually (in some case instead that is possible: the game can be null if the player doesn’t move his first move or acknowledges the match). Using the black list (or block list or no-play list) the system will not create a match between you and the undesired user.

Thursday, February 3, 2011

On-line Chess - Part 1.6 - Rating and levels


Why playing a game like chess is addictive? Because it is a beautiful game! Yes, of course. Because you meet people! Yes. Because you like the theory behind! Yah. But unconsciously a better answer is because you want to prove you’re stronger than the opponent. Another variant: because you want to prove you’re stronger than a lot of people. A more modest variant: because you want to prove you’re the strongest player, that’s all!

Rating helps to find your strength among other player. ELO rating is the most used. It is a simple formula returning a number: bigger the number, stronger you are.


Figure 6 – Rating computation formula. W=1(won) or 0.5(tied) or 0(lost); R1 is the current rating of the player, R1’ is the new rating, R2 is the rating of the opponent, K is the maximum possible adjustment per game and this constant is set to 32 unless the player has a provisional rating, in that case K depends on the number of games played by the opponent.

Talking about ELO rating is not completely correct. It is more correct to talk about a rating used to have a rank in a top list.

Every provider uses its own formula, especially because ELO rating formula doesn’t work well when the players have played too few games. This is the problem of how to start computing the rating.

In order to start the rating computation you should have an initial rating. There are different ways:
  • get a fixed initial rating (1200, 1400 or 1500 for beginners) from the system; 
  • play a bunch of games without having assigned a rating so that after this period the system can determine the best estimation of your rating. Sometimes the system accept hints about your experience in chess in order to find the most appropriate opponents for you during the estimation; 
  • play with a provisional rating for 20 games and after that your rating is established. In this case the rating is computed using different formulas for established and provisional players. The initial rating is chosen by the player during the registration.
A derived problem is to take into account the fact that a player could have been away from tournaments for years before start playing again. This is a special case of the previous problem in fact in both cases the rating of the player is not sure. For this reason some providers use a different and more complicated formula called Glicko System [1].

Ladder is another possibility. No rating, only a rank in a ladder. People who win will raise the ladder, those who lose does not rise and soon will be taken over by others. The goal is to be at the top of the ladder (rank 1) instead of having the highest rating.

Famous chess programs have the concept of levels: beginner, intermediate, master. Splitting the number of games into rooms is useful to spread the load over more game servers. So why not create rooms based of player levels? Yes it is possible but less attractive than rating, isn’t it?

Ratings, ladders and levels are usually different for different categories of game: correspondence game, classical game, blitz game (3-5min), bullet (less than 3 min) and chess variants have their own rating.

Today I don’t feel concentrated enough but I would like to play a game anyway, just to spend time, but if a play and I lose I will compromise my rating. Some web sites give you the possibility to play a not rated game, so you can still play for training for example without compromise your rank or your rating.
Almost all providers ask you to sign up before starting use the service. It is reasonable because at least your nickname should be visible by your adversary. Someone could think: “why should I give my personal information like e-mail and nationality if I’m just trying to play a single game?” Very few web sites let you play chess as anonymous: no ratings, no registered games, no customizations, just play! In case they like the service they will sign up whenever they want.

[1] The Glicko System, Mark E. Glickman, http://math.bu.edu/people/mg/glicko/glicko.doc/glicko.html

Friday, January 28, 2011

On-line Chess - Part 1.5 - Social meetings




Usually when you play chess you don’t speak with your opponent…or you don’t speak at all. But on-line it is different, people like chatting, like knows something more about the opponent person rather then its name and nationality (and optionally an avatar). A chat feature is always provided by every on-line gaming web site. You can find different kinds of chat:

  • during the game: it is a private chat only between the two players; 
  • public or general chat: every user can post a message and usually is for wave a challenge; 
  • in rooms or thematic chat rooms: nothing to do with playing chess, it is just chatting; 
  • among team members: a team is a group of player that competes against other teams; 
  • in clubs: a club is the place where you can meet new friends, discuss things and play games. It can be found by anybody and club founder and club moderators are responsible for everything that happens in the club.
Chats are usually controlled in order to filter offensive words. The abuse of the chat service is mentioned into the terms and conditions of the service and it is punished by banning the bad user. In some cases the chat is forbidden for users under 13.



Figure 4www.instantchess.com private chat



Figure 5www.chesshere.com private chat and chat room

Almost all web sites allow their users to have a list of their friends in order to connect with them easily by chat or for playing. When you meet a new player in a game and find out he/she is a good player or simply it is nice to chat with, having him/her in your list help you looking for him/her when you connect next time.

So, on-line chess gaming web sites are, as a matter of facts, a sort of social networks and in most case is possible to find connections with popular social networks websites like facebook.

Thursday, January 27, 2011

On-line Chess - Part 1.4 - Live or turn based

What do you think when you say chess? Yes, two people sat down by a chess board from their own side, thinking most of the time, handling their pieces from time to time and struck their clock button. Oh yes, I have seen also two people at the chess board, handling their pieces stressfully without any break, beating on their clock button with violence and thinking only in the spare time. Those scenarios are two typical examples of classic chess games (the second one is the so called blitz game).
Wait a moment. There is another kind of game, historically very important. It is correspondence chess. Two players exchange their moves by mail. There is no time constraint (or they are quite long).
Correspondence chess is easily implemented over internet. Each move is stored in a database and the player simply could be notified by e-mail that the opponent move has been issued. This kind of game is sometime called turn based game or postal game. A game of this kind must have an end, so there are long time limits to finish the game and to make a single move (I’m talking about days). Furthermore, what happens if you have a game in place from days but you have to go far from your (or any) PC for any reason but you don’t want to lose? Providers of such kind of chess game give you the possibility to go on “vacation” for a period: the game is simply suspended and everybody is happy. Vacation time is limited of course and during a game you cannot go on vacation more than a certain number of times.
The equivalent of classic chess is live chess or real time chess. In this case the chess clock plays a crucial role because the time variable can condition the game (and let people to make mistakes but that’s part of the beauty of the game). Often you can chose the time control with an extra time per move rather than the sudden-death approach: you will see two numbers when you chose the time limits, the first is the amount of time a player has in order to finish the game while the second is the bonus in seconds added to your clock every move you make. In the sudden-death time control when the time expires there is no time to play a single move.
Now, think at the following scenario: you are playing a live chess game, make your move and your clock stops while your opponent’s one starts (automatically done by the client program – what a great privation! I loved pushing the button on my classic chess clock.) but your opponent won’t see the move instantly because, due to the connection speed, the move information has to be uploaded to the server and forwarded to the opponent client. This time is called lag. Your opponent will see your chess clock going on for the time of the lag and when the move is received the clock goes back to the real time stamp.
Figure 3 – Lag example: client A sends its move to the server which forwards it to the client B. Client B receives the move and starts counting the time of B (Tb). When B moves it sends to server both the move and the time spent for the move Tb. Due to delay in B connection, the server receives the information after a time called LAG. In the meantime the clock B of the client A was ticking down and when A receives the opponent move and time, the clock B is updated and it appears player B has gained time, but it has not.

Any consequences? The total game time is longer that the one agreed at the beginning of the game. This is not a big issue because the lag time is a dead time for both players. Nasty instead is the situation very closed to the time zero: you make your move at 0:00:03 but your opponent receives it only after 5 sec. In the meantime your opponent sees your clock becoming negative and starts thinking happily about the victory but then receives your move and … checkmate! Gosh!
It is not advised to play rated games when a player has great lag and some web sites does not allow playing blitz games in case of consistent lag, in fact delays of seconds in the connection could make lightening games unfeasible.
Sometimes the players recognize the lag is increasing too much during a game and the provider gives them the possibility to abort the game or to adjourn to another day.

Some chess playing web sites have different approaches to lag phenomenon:
  • simply don’t do anything;
  • lag compensation: clocks are compensated with average lag. The perception of excessive lag effect is reduced and the lag is continuously measured;
  • automatic abort or adjourn of the game
  • not automatic abort or adjourn of the game but players agreed upon that adopt policies in case of lag
Very poor connections are affected by interruptions. Some good web sites takes care of poor internet connection of its users, when the disconnection arises the game is adjourned automatically or the user online gets notified to wait more, giving the time necessary for the disconnected user to reconnect and continue the game. That could lead to cheating problem and needs to be faced with (see security section).

On-line Chess - Part 1.3 - Language support

If you can speak English you could play with a lot of people all around the world because most of chess web sites have English as allowed language. Looking around I found out that language support is not provided by most of the sites. Language support means that an Italian player, for instance, could log-in the web site and find an interface with Italian content (buttons, links, information, alert messages, tutorials and so on). Ok, it is true a chess player has to know at least English language nowadays and if he/she wants to play anyway I’m pretty sure he/she will be able to somehow (chess has its own language!) but why limit people to use the playing service because they have never studied English?


Figure 2www.chessmaniac.com language support is far to be perfect. Italian and English words lives together in the home page
When you have to chat to some other player through the service an interesting but limiting solution has been adopted: a set of prepared phrases are ready to be chosen in the language of one player, the destination player receives that phrases translated in his/her language. Undoubtedly is a plus, but what a wonderful chat when the discussion needs to be complex!

On-line Chess - Part 1.2 - Client program

Every web site allowing users to play chess has a client program. A client program is a piece of software that interfaces the player with the game server. In the past the client program was downloadable but this solution is not considered very attractive because once you install it on a PC you are compelled to use that PC to play on-line. On the contrary, if the interface player-server is usable without downloading and installing any software, the player will be able to play theoretically from any PC or any device with an internet connection (play-everywhere-every-time principle). Anyway there are benefits using downloadable software: - the client is nicer, has better graphic and outstanding effects
- once installed you don’t have to wait for loading from internet any data to start a game

That’s the reason why the most popular chess servers are still accessible by downloadable software. Usually those servers have a standard interface allowing different programs to connect with (Fritz and WinBoard to mention a few).
Moreover downloadable clients are very easy to use for mobile devices because they can be customized for that platform so it is quite common to have a mobile application downloadable for free even if the desktop access is performed by web technologies.

Nowadays fat clients can be implemented with relatively recent technologies (actionscript, java, javascript, Ajax, Silverlight, …) usable by any browser, and faster computers and internet connections make downloadable software less and less attractive. Most of the client programs you can find on the web for chess are written in JavaScript. Java applets are also used but the time to load the program is notoriously greater. With latest version of java (JRE and JDK > 1.6) applets are faster than before so, even if they are not considered the best approach by most of people, maybe java applets deserve more consideration now than before. ActionScript is the language of Adobe flash (or Flex): it is not a free technology like java but it is powerful and allows exploiting the flash library for graphics. It is worth saying that at the moment Apple is attacking Adobe because flash is not performing well on its handset devices; Microsoft and Google are supporting Apple against Adobe so the future could not so brighter for Flash as in the past and other technologies like HTML5 will come soon.

Figure 1www.chesscube.com client interface implemented using flash technology.

Of course, in order to play using a java client, the local PC (or mobile device) must have java correctly installed and enabled in your browser. It is free and maybe you will find it already installed because java is used by many other applications.
Same for actionscript. You should have Flash installed on your PC. It is free and several web sites require flash for other purposes.

Typically the client program allows the user to pick up a piece from the chess board and perform the move. The move is validated and sent to the server (hopefully encrypted) which forwards it to the opponent client program. Client programs could be thin in the sense they could not perform any validity check but just reporting the move to the server which performs checks and holds the status of the game, or they could be fat in the sense they hold the logic to performs all the checks and may or may not hold the status of the game. Some clients have also the responsibility to show the list of connected players but sometimes the program does only the minimum required and other technologies are used to perform database accesses.

On-line Chess - Part 1.1 - Concepts

Playing chess is a passion for a lot of people around the world. When I was young I remember I played chess at school, in clubs and in tournaments. It required me to be updated on chess events and to find chess clubs near home. Internet has been a great revolution for finding an opponent. Although playing in front of a real board with real pieces and real clock and against a real human is an experience you cannot live on-line (the smell of wood, the noise of a piece exchange, the touch on the chess clock not to mention the flag of the opponent which seems to drop in a moment but never falls, …), playing chess over internet is by all means easy, quick and costs zero (unless you want special services).
This article has the goal to lead the reader through the world of chess gaming on-line. In part 1 I will start introducing the main concepts and features of the subject according to what is possible to find over the net, for free or by paying a fee, and I will conclude evaluating a set of existing web sites providing the chess gaming service in part 2.

Outline part 1:
- client program
- language support
- live or turn base
- social meetings
- rating and levels
- challenges
- other play possibilities
- games watching
- game archive and statistics
- analysis
- customizations
- security
- play everywhere
- graphics
- population
- other stuff
- play for free

On-line Chess - Abstract

This series of articles explores the on-line chess world, the concepts behind and the features a player can find when he wants to start playing chess on-line. Moreover, a comparison of the features of the most popular web sites has been enclosed in a table ready to use for everyone who can chose the place where he/she wants to play on for free.

Welcome!

Hello world!

This very first post opens the MindTheCheck blog to all the people who wants to read something related to chess, technology and other stuff. So you, reader, are very welcome on this discussion site and I hope to see you soon among the lines of the blog.

Take care of you and ... mind the check!