11 November 2010

CARPS

Wow, I appear to have finally put out a stable release of CARPS!

From the CARPS README:

CARPS, the Computer Assisted Role-Playing Game System, is a tool for playing pen and paper RPGs over the internet.

CARPS differs from other such systems because CARPS is not a ‘real-time’ system. It suits people who want to log on once or twice a day, take a turn, and then log out again. While OpenRPG could be described as being similar to a chat-room, CARPS is more similar to an email client.

CARPS is an extensible system: game rules are provided by ‘mods’.

CARPS supports these mods by providing:

* Text-mode user interfaces for the players and the dungeon master.
* An easy to use probabilistic API which not only rolls the dice, but can report the probability of various game events occurring.
* Automated static character sheet verification, according to a schema defined in YAML. For example, a game might require your strength to be an integer.
* Support for the semantic validation of character sheets according to game rules. For example, a game might require the sum of character’s attributes to be below a certain maximum value.
* Together the validation features allow a mod writer to encode game rules cleanly, as they do not need to consider the possibility of receiving an invalid sheet.

CARPS has other strengths:

* Anyone can play or host a CARPS game! All you need is an email account.
* CARPS is designed to be secure. Multiple email security options are supported, and all CARPS messages are cryptographically signed to prevent spoofing.
* You can instruct CARPS to use your favourite text editor and terminal emulator.
* CARPS is easy to configure because it includes a wizard.

However, CARPS is new and the following features, which you might take for granted, are not yet supported:

* No GUI
* No support for maps
* No chat - all communication goes through the Game Master.
* Games are currently invite only, at the discretion of the Game Master.
* Security mechanisms are not well audited.

Requirements:

For users:

* GNU/Linux
* ruby 1.9
* rubygems
* openssl
* highline

For developing CARPS, you will also need:

* hoe
* rake
* newgem
* cucumber

To Install:


# Install the gem

sudo gem install carps

# Initialize the carps user directory. Run this as your everyday user.

carps_init


Basic Instructions:

Run carps -h for help

The first time CARPS is run, it will launch a wizard to help you configure your email settings, and choose a text editor and a terminal emulator.

It is a good idea to specify a terminal emulator, as then CARPS can launch a mod in a new window (or similar). Then the first CARPS window will act as an email logger, letting you see when you receive mails, without interfering with the text you type into the new window.

You’re also going to need to install a mod to play CARPS. See the example ‘fools’ mod:

* github.com/elginer/fools

Campaigns (For the DM):

When you set up a new game, CARPS will ask for you to enter the name of a campaign.

This allows you to create game resources prior to starting a game.

For example, the following applies if your mod is called foo, the campaign is called bar, and your carps user data directory is /home/user/carps

You should create the following directories

the campaign directory:


/home/user/carps/dm/campaigns/foo/bar


the NPCSs directory:


/home/user/carps/dm/campaigns/foo/bar/npcs


the rooms directory:


/home/user/carps/dm/campaigns/foo/bar/rooms


NPCs are defined as YAML files, according to the mod’s schema. Put them in the NPCs directory. They MUST have the .yaml extension.

Rooms are defined as text files. These are just predefined pieces of prose that the DM will send to the players when they enter a room, for instance. Put them in the rooms directory. They MUST have the .txt extension.

I'm gonna spend the next little while trying to organise a play session, working on the windows port, and then trying to create a DND D20 mod for it.