The goal of the project is to have a non-intrusive RPG client. (See previous post if you think RPG means Rocket-Propelled Grenade.) These are the target features:
- An HTTP server to deliver data files such as map graphics and character icons
- A graphical client capable of displaying a map with obscurement, icons, scaling, targetting arrows, and other visual effects
- A PB server for realtime communication with the GUI clients
- An IRC bot, integrated with HTTP and PB, to assist combat interactions, die rolls, and character management.
- Export filters for various character generation programs, in particular PCGen.
- Every component cross-platform. Runnable on Windows, Linux, Mac, hey maybe a PDA too.
- There's an HTTP server. It delivers files.
- There's a PB server. Right now it only delivers lists of filenames that are served by the HTTP server, along with their checksums and metadata.
- There's a GUI client. It's written in GTK. It starts up, has a widget to specify the PB server to connect to, and when it connects it receives the list of files and requests those as well, and verifies their checksums.
- There's an export filter for PCGen which writes (most of) the character data as YAML. YAML is almost perfectly-suited for this data format.
- There's a rich character model. It isn't connected to anything yet, but it's capable of applying a variety of effects to various combat roles. For example, it knows about ability scores and equipment, and how to calculate armor class based on these things. (This is more complex than it sounds. Take a look at the code.)
- There's an IRC bot. It has already proven useful, as we played a full 4.5-hour game session using only the VellumTalk bot and a web server for maps. It remembers "aliases" right now