OpenRPG is a computer-assisted gaming application that allows people to play role-playing games in real-time over the internet. OpenRPG is free open source software, distributed under GNU/GPL license. OpenRPG is developed with the Python programming language, with the wxPython graphical library. It runs on Microsoft Windows, most versions of Linux, and Mac OS 10.2 and up.
The chat window is an HTML window which contains the text of the conversation. Players send messages to each other in a manner similar to that of IRC, except that rudimentary HTML is used for formatting. For example, the gamemaster might send a message to chat describing a room into which the player characters have entered, and the players would respond by typing their characters' actions or responses once entering the room. OpenRPG has built-in dice simulators, which can roll all standard and many obscure types of dice. There are a number of sets of macros, called dierollers, which are usually associated with specific game systems and are used to make specific dice rolls easier for those systems.
The miniature map is a grid area where game masters can put images representing maps, scenery, miniature figures, and other graphics. Players can move miniatures representing their characters around the map to show where their characters are walking. OpenRPG's miniature map is often considered the most buggy part of the program.
The player list contains a list of all people in the current chat room. Players have an ID number, which is assigned by the server when they connect; a nickname, which they can freely change through the course of the game (because it is often necessary to assume new names while roleplaying); and a status, which tells whether the player is currently typing.
The gametree is a tree structure containing "nodes". By arranging different nodes like text boxes, grids, and containers like tabbers and splitters, players can create their own digital character sheets for storing information about their characters. Unlike the competing program WebRPG, OpenRPG's character sheets are not dynamically shared, but they can be transferred between players.
Many parts of OpenRPG are written with a "plug-in" infrastructure to allow for minimal modification of core code in order to add new features. The official "OpenRPG plugins" are hosted on an external site, and can run code on different types of prompts, such as user text being sent to chat or once per second. However, other parts of the OpenRPG code are extensible in the same way. Handlers for new gametree node types as well as dierollers can be created so that users can add new utilities to OpenRPG with minimal effort.
Since then significant contributions have taken place which allow OpenRPG to become more usable and highly extensible. The initial server GUI was created by Lex Berezhny and later improved by Greg Copeland ("oracle"). Copeland went on to become a major project contributor, working on image caching, persistent rooms, room messages, background image processing, thread safety, a vastly improved networking base, a personal web server, various die and performance improvements, general application stabilization, and countless other minor contributions, including rewriting some code from scratch. Ted Berg contributed the initial chalk board implementation and the alias tool, which brought a new level of chat and map usability to OpenRPG. Ted also created an independent implementation of OpenRPG using Java; though the current status is unknown. Greg Copeland and Ted Berg both left because of conflicts with the development team and process.
Other noteworthy contributors include Andrew Bennett, Bernhard Bergbauer, Chris Blocher, Ben Collins-Sussman, Robin Cook, Michael Edwards, Andrew Ettinger, Dj Gilcrease, Christopher Hickman, Paul Hosking, Brian Manning, Scott Mackay, Jesse McConnell, Brian Osman, Rome, Reginelli, Christopher Rouse, Dave Sanders and Mark Tarrabain.
In December 2005, OpenRPG released version 1.6.3 of its software. The 1.6.3 release was the first official release in about a year and made numerous improvements to the program including several major bug fixes, server reliability improvements, integration of plugins, and improved support for the new versions of Python (2.4) and wxPython (2.6), though developers still recommend that users run OpenRPG 1.6.3 with Python 2.3 and wxPython 2.4.2.4 rather than the latest versions of each.
A complete rewrite, OpenRPG2, is currently in the works, though it is still in the earliest stages of infrastructure development. Spearheaded by “Snowdog”, OpenRPG2 will be written in Java instead of Python, and will re-envision many of the low-level features of OpenRPG which have become limiting in the course of the program's development.
Role-playing games | Communication software | Python software | Free software