Game Developer's Overview

HomePage | RecentChanges | Preferences | Upload

So you have a game, and you want to implement it in Volity.

This is an (extremely high-level) overview of what you need to do:

What you need

See the page about the development environment we recommend.

The game module

The game module is the "brain" of the referee. The referee manages a table; the game module is in charge of the game which gets played there.

You currently have two choices for writing a game module: Perl, and Python. For each language, there is a library which implements the Volity parlor and referee.

There is also a "Game" class. (In Python, this is volity.game.Game; in Perl, it is Volity::Game.) Your actual task is to write a subclass of this class.

Right now, you have two language options for game module creation. Both include extensive documentation and examples.

Perl

Jmac maintains Frivolity, a set of libraries and programs that allow you to create and run parlors in Perl. The package includes a complete, working example of a Tic Tac Toe parlor, including sample UI and ruleset files (even though those aren't part of the game module creation process).

Python

Zarf maintains Python software for creating and running parlors in the Python programming language. This software is available through Subversion, as well as from [the Volity page of Zarf's website].

The UI file

The UI file is, as the name implies, the user interface. It is displayed in a client window. Whenever the referee announces a move, the UI updates itself to display the new game state. Whenever a player needs to make a move, the UI watches for his mouse-clicks and reports them to the referee.

You currently have just one choice for writing a UI file: SVG, with embedded ECMAScript. (That's the same as Javascript, really.)

The embedded script code can call various functions to get stuff done: see the ECMAScript API.

A [thorough introduction and example] is in the [developer documentation].

See also: SVG tricks and SVG script tricks.

Jmac wishes me to note that there is actually a second choice: plain text with embedded ECMAScript. This is the Friv client. It exists purely as a protocol example right now -- it's horribly unfriendly and no player will want to use it. So you can ignore it.


HomePage | RecentChanges | Preferences | Upload
Obtain editing permission | View other revisions
Last edited September 5, 2006 6:43 pm by S01060050bac91f7b.gv.shawcable.net (diff)
Search: