Solitaire is a card game that is fun to play online. The only downside is that being a one player game, it isn’t great for being sociable. If you like to talk and engage in activities with other people multi-player games are your ticket. Fortunately for HTML5, modern browsers can now handle the workload of additional players. You can see a great tutorial that shows you how to create a playable demo using Socket.io, Node.js and the HTML5 canvas element here: http://www.htmlgoodies.com/html5/client/real-time-multiplayer-in-html5.html
When it comes to developing good multi-player games online, there are many ways in which it can be done. Turn based games like chess or poker work on a turn-based method which exchanges information between each computer using a server. Browsers actually make it quite simple to have games like this created, though it was not always the case. Chess for instance would be easy to create in the past because it only requires semi-real time connections, because a player can make their move and have the computer send the information to the server which will in turn alert the player on the other PC that it is now his turn.
Poker has always been a bit trickier though, with games averaging five players a game and sometimes reaching up to as many as ten. The connections here have to be rapid.
Nowadays, players want real time action for their multi-player games and whereas before it was not possible through a browser, it can now be achieved as real time connections between servers and clients in the modern browsers.
Still Not An Easy Task Though
Creating a game on its own is a very difficult thing to do anyway, with you needing to make sure that the game not only feels and plays good, but also that the physics are smooth and the controls are as tight as they can possibly be. However, when you decide you want to make it multi-player, it just adds to the complexity of the whole process because now for the very first time there has to be a server of some kind involved.
You now have to be able to ensure that your game can communicate with the server in order for it to relay that communication back to any other clients that are running the game.
You are now not only worrying about the functionality of the game, how it runs on different specs or whether the game play is interesting enough, you are now worrying whether or not the game will be able to run smoothly over a constant connection in order for the game to be enjoyable for more than just one player at a time.
Of course, if done right you could find yourself with a very nice end product that runs smoothly across the internet between browsers and brings joy to the target audience that you initially designed the game for.