|Home||TSR Reviews||Deconstructing B/X D&D||Adventure Generator!||B/X D&D Character Generator||Other||Contact||RSS Feed|
LibOSR is an attempt to create a library of OSR game mechanics that can be used to easily build character generators and other tools, as well as video games. It is a changed continuation of a past project.
It is my hope that other developers will be able to use LibOSR to help them easily develop OSR computer games, which I will then be able to play myself without having the surprises pre-spoiled, as they so often are when one plays a game that one has also self-authored.
LibOSR is written in Java, mostly for maximum portability, but also because I like Java…. >_>
LibOSR is released under a BSD license.
There are many different flavors of OSR mechanics. Out of the box, support is planned for three rules sets:
Users of the library will be able to add their own rule sets by extending one of the existing sets, or by implementing a set of interfaces. Personally, I'd like to see OSRIC and “Swords and Wizardry” added, so as to have all of the TSR flavors covered. But I won't actually use those sets in my own projects, so I can't really rationalize implementing them myself. At least not until LibOSR is feature complete and I start looking for other things to do.
OSR rules are made possible by the terms set forth in the OGL. The OGL states that OGL content must be published in a “human readable format”, which makes for a dubious reading when trying to figure out if one can write computer games that utilize OGL content. To get around this, all text output by the library is read in from a specially-tagged HTML file. The actual mechanics are handled by code, but copyrights (and the OGL by proxy) don't apply to mechanics, only to the text. So for example, although the mechanical die rolls and such performed by an “orc” will be defined using code, the description and many critical statistics of the “orc” will be parsed out of the human-readable HTML file at runtime (or at load-time, as the case may be). This is not really a very efficient way to do things, since DOM parsing can be pretty slow… But I feel like it's the safest way to be absolutely sure that LibOSR doesn't violate any OGL terms.