Sunday, July 18, 2010

Board games Online blog, reserved to present Board Games Online. It is an attempt to create a community of board games developers, designers and, of course, players. For this purpose I have been developing an open source generic board-game editor.

The software is hosted on and can be found here.

Basically, you can create any turn-based board-game you want and play it with other people through a network. For example, below is the chess variation "Super King". All objects are default without any special enhancements. The additional code needed to create the games below is only 5 lines.
The code in C# is:
ChessBoard board = new ChessBoard(new Size(400, 400), new Point(50, 100), "Chess");
board.ChessSquares(Brushes.Gold, Brushes.Silver);
board.RemovePawn(ChessBoard.Bishop, 2, ChessBoard.Black);
board.RemovePawn(ChessBoard.Rook, 2, ChessBoard.Black);
board.RemovePawn(ChessBoard.Knight, 2, ChessBoard.Black);
board.RemovePawn(ChessBoard.Queen, 1, ChessBoard.Black);

To create a Poker game you would need around 15 lines of code. The Game of Life around 20. So it is fair to say that the amount of code is low. You simply state what you want to be on the board, where and some options about it. You could also do more complicated things like issue some actions when a turn ends / start.

You can add game pawns like cards, pawns, a board, a deck of cards, dice or even a score board. And you are done. A player hosts a game and others connect to him and you can play/test your game. You simply play as in real life, by moving things around or with more "special" actions like drawing a card from a deck, flipping a card, shuffling the deck, rolling the dice etc etc.

The library itself is designed so new game objects can be easily be added. The software takes advantage of the fact that a lot of board games have common features. So once the library has some objects added or some methods added they can be used by any game. Furthermore, the software can support more futuristic features like 3D boards, sounds and animations.

On the "how to create a game" there are 3 options. One, is to use the Creator, which is not fully ready yet. The other is to use some simple coding as shown above. The third is ask me to make it for you and I will be more than willingly. Once the Creator is ready, you will be able to add objects by simple drag-and-drop as well as choose basic options for the game objects and the general game.

Current Version: stable (mostly). The software is using the more modern WPF technology to add more advanced futures. Creator and Loader need to be re-configured and new examples need to be developed as well as some small bugs fixed.