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!