Jason's Programming Projects

Enable javascript to see screen shots.

prev next

Online Board Game Player


Project Members:
Programmer: Jason Eaton

Languages: ActionScript 3.0, Php

Date Added: 4/8/2011

Download: See the non-live debug version right here

This project is the start of my master's project I need to complete to finish of my masters degree. I plan to do a project on designing games for the web browser, but by reducing the amount of languages that must be used for a single project. For this project I used Flash/ActionScript 3.0 for the front end, and Php/MySQL for the back end. I first wrote the Php functionality in ActionScript just to test the front end, then converted that code to Php once I was confident it was correct. Note that the version on this site is the debug version, since my site hosting does not have Php working with it.

The idea of this particular project was to create a generic board game playing system over the internet. There are already a few programs for doing this, namely Vassel and CyberBoard, but I find them to be a bit too complicated. I wanted to make a version that had a super simple interface that only took 5 minutes to learn. I think the best way to do it is to have it very similar to an actual board and pieces, because with a board game thats all you do, move pieces around. So in this prototype, you click and pick up and drag pieces around in real time with other people currently connect seeing what you are moving around. Also in a real board game you can get up and get different perspectives on the board, so this prototype allows you to zoom in and out, and rotate the board, so you can see it from any angle.

A full blown version would need to allow people to move around groups of pieces at once, moving them one at a time would be too tedious. Also a better system for Z ordering is needed than this prototype. A useful addition would also would be piece snapping, in the real world the laws of physics pretty much does this for you (pieces can't penetrate each other or stack in bizzare ways).

Operating this demo is pretty complicated, you basically need to know a few commands before you can use it (play, stop, load, reset). Also to raise and lower the console, you must use the Tab key. you can type "play red" to play a color (just type play to see what can be played). "stop" stops playing of a color. "reset default" resets to a default if defined, or just type "reset" to see reset options. "load" is the main starting command, you have to type load then a game to play ("load chess" for example). The valid games now are "chess", "descent", "dragonchess", "hadean", "heroquest", "pillage" and "rummikub"