I want to program a board game.
June 17, 2007 10:37 AM   Subscribe

I came up with an idea for a new board game, and I'd like to code an online version of it, but I've never done any game programming. Need some direction... links to engines, graphics, etc.

A few nights ago, I dreamed up a game. I'm not kidding. I invented and played it in my dream, and then woke up and remembered every detail. I wrote it down and forced the girlfriend to play a version of it with me. It seemed decent enough, so now I'd like to create an online version of it (flash or html/javascript).

I do a lot of programming. Mainly in PHP and Javascript, although I've done my share of .NET and C++ coding as well. I'd like for it to be online based rather than download based, although I'm willing to compromise on that point.

I'm looking for some sort of engine / development tool to speed things along. The Torque Game Builder looks promising, except that it's not free and it's download based. Surely someone has written a javascript/ajax or flash 2D game engine... I just can't seem to find it.
posted by toomuchpete to Computers & Internet (9 answers total) 11 users marked this as a favorite
 
One thing worth noting: I'm very familiar with the various javascript libraries like MooTools and Script.aculo.us that would make something like this easier... I was hoping to find something one step less generic, though, that's geared towards game development in general or board games in specific.
posted by toomuchpete at 10:42 AM on June 17, 2007


I think flash might be the way to go. I started creating an online version of Settlers of Catan (non real time version) with javascript/mootools/php/sql.. and after struggling with that ended up with a flash/php/sql version.

Flash will let you draw the game easily, it will look and work exactly the same on every computer, you can connect to SQL data via PHP, actionscript is easy to learn.

I have yet to see an online engine for boardgames, but if you found one I'd imagine it might end up being faster to create your own then modify an existing one.
posted by mattdini at 11:10 AM on June 17, 2007


Have you considered writing a java applet? If you are familiar with C++, switchingto java wouldn't be that big of a jump.
posted by rancidchickn at 11:19 AM on June 17, 2007


Game Gardens provides a free Java framework for implementing client-server games (especially board games) and a fairly active support forum. They will also give you free hosting and traffic from a (very) small player community if you want to make your game public.
posted by gorillawarfare at 11:25 AM on June 17, 2007


I've wondered the same thing, but not yet found the perfect answer. You might check out the VASL system built for squad leader originally, but I think now extensible to a pretty broad range of board games.

I think for a real answer you might need to share a little more detail on the mechanics: is it a turn based game with lots of pieces, like a wargame, or a "move along a track" game where you just have a token for each player and a little state? Could the board layout fit into a rectagular HTML table? Etc.

I've ended up using a framework (Django for me, I'm sure most Rail-ish systems would work) to handle the user/session tracking and game mechanics, and rolled the interface myself with javascript, SVG, what have you. That saves some of the purely web-related work, but feels a bit like reinventing the wheel and implies certain design contraints. You are free to build exactly what you want, though.

Basically, I agree: there ought to be a better way and I'll watch this thread eagerly.
posted by freebird at 11:26 AM on June 17, 2007


If you're doing it in JS I would recommend good solid basics and leaving the libraries alone - or using them sparingly for that whizzo effect you HAVE to have. Fo0r simple DHTML most of them are way over the top. I'd recommend The JavaScript Anthology for a good insight into how to do some whizzo stuff without falling back on other peoples code.

On balance Flash would seem the better option though.

Java seems to be lose/lose as far as ease-of-creation/user acceptance goes, so I'd steer clear of it.
posted by Artw at 11:26 AM on June 17, 2007


@freebird: details, as requested...

It's something of a Chinese Checkers meets regular checkers meets hexagonal boad kinda thing. 2-6 players, each player has between 5-11 pieces (depending on how long you want the game to take).

Cards determine the distance the player can move. Players are dealt a fixed set of cards and they use them as they please, turning them face down as they're used. Once they're all face down, they all get turned back up.

Player chooses the distance card, piece, and direction on each turn. Landing on the opponent's piece captures it. If you capture a piece, you get to go again.

Other options for the distance cards (probably irrelevant for the purposes of this question): a shuffled pile -- players draw from and then must use on each turn. Scrabble style -- Players are dealt random distance cards, and each time they use one, they replenish from the draw.

Thanks for all of the replies so far... I'm really hoping someone has a secret link to a Flash board game library... or maybe an open source flash board game that could be stolen from.
posted by toomuchpete at 12:01 PM on June 17, 2007


This won't help with the programming angle, but do you know about Board Game Geek? They have a large, enthusiastic, and very helpful community of game designers, not to mention game PLAYERS who are always eager to try a new diversion.

Good luck!
posted by Ian A.T. at 9:48 PM on June 17, 2007


Just checking back in, hoping someone had an answer for you, but so far this seems to verify my own researches in this area. There doesn't seem to be much of a framework that balances flexibility with simplicity very well.

I'm continuing to play with processing.org for this type of project, that would be my current recommendation I suppose.
posted by freebird at 10:56 AM on June 25, 2007


« Older I wanna publish 'zines and rock vinyl skirts.   |   What is a good opinionated list of cultural events... Newer »
This thread is closed to new comments.