- OpenRPG
OpenRPG is a
computer-assisted role-playing game application that allows people to playrole-playing games in real-time over the internet. OpenRPG is freeopen source software , distributed under GNU/GPL license. OpenRPG is developed with the Python programming language, with thewxPython graphical library. It runs onMicrosoft Windows , most versions ofLinux ,FreeBSD , andMac OS 10.2 and up.Interface
Unlike
computer role-playing game s, OpenRPG is designed to simulate a tabletop gaming session as closely as possible. Players can either run their own servers or connect to one of the public servers hosted by community members, and then create their own chat rooms in the servers for individual games. In each room, players interface through the main components of OpenRPG's user interface: the chat window, the miniature map, the player list, and the game tree.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, thegamemaster might send a message to chat describing a room into which theplayer 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 ofmacros , 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 figure s, 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 sheet s for storing information about their characters. Unlike the competing programWebRPG , 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.
Development
The creator of OpenRPG is Chris Davis ("posterboy"). In the initial stages, he contributed a significant share of the code; including the basic client and server - a large portion of which has been replaced. He also created many of the initial concepts which are now central to OpenRPG, such as the game tree, which is extensible via plugins, and an HTML chat window. In recent years, Davis has been busy building up his company RPGObjects and has had little time to work on the OpenRPG project. Though not as active as he once was, he does plan to return to the project in a greater capacity one day. Thomas Baleno ("tdb30_") and Todd Faris ("Snowdog") are the other project administrators, and there are a total of 16 official developers that work on OpenRPG, to one degree or another, with the collaboration of numerous other users; some to the detriment of OpenRPG.
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 which actually allowed ORPG to work, a personal web server, various die and performance improvements, general application stabilization, and countless other minor contributions, including rewriting large portions code from scratch. Without Oracle's contribution, it is unlikely OpenRPG would exist today. Ted Berg contributed the initial chalk board implementation and the alias tool, which brought a new level of chat and map usability to OpenRPG; while broadening its appeal to new users. 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. The primary conflict revolved around quality and stability versus quantity. Needless to say, quantity won. Since leaving, little significant development has taken place.
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.
After chasing away what was left of the available programming talent, a complete rewrite, OpenRPG2, stalled, while still in the earliest stages of infrastructure development. Originally Spearheaded by "Oracle" using Python it was later re-envisioned by “Snowdog”. "Snogdog's" vision was to have OpenRPG2 written in Java instead of Python. It attempted to re-envision many of the low-level features of OpenRPG which were subpar, because of acceptance of many low quality patches in the course of the program's development. Ultimately this was attempted because of long list of misconceptions Snowdog held about Python's capabilities and supported platforms; and likely simple language bias. In fact, all of his arguments to abandon Python in favour of Java were completely in error. Furthermore, unlike the existing OpenRPG implementation which actively encourages language agnostic features, Snowdog's implementation was to become Java centric; to the exclusion of all other languages and implementations. This posed a major departure from the existing open and multi-platform approach. Snowdog also held a strong desire to limit code contributors which has been the bane of OpenRPG's stability; which is not an altogether negative aspect to his approach.
At some point after version 1.6.3, one of the developers, Dj Gilcrease, started working on versions 1.7 and above. 1.7.x has since become the official release and only the developer (beta) version is called OpenRPG+. The current Stable release is 1.7.3
External links
* [http://openrpg.com/ Official website]
* [http://sourceforge.net/projects/openrpg/ Sourceforge project page] - Information about OpenRPG development and downloads
* [http://openrpg.wrathof.com/faq Unofficial FAQ's]
Wikimedia Foundation. 2010.