Home TSR Reviews Deconstructing B/X D&D Adventure Generator! B/X D&D Character Generator Other Contact RSS Feed

Table of Contents


What is LibOSR?

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…. >_>

  • It can be used as a JAR library to build desktop applications, Android apps, and J2EE servlets.
  • It can be compiled to JavaScript for use in web-based tools using Google's GWT.
  • It can be compiled to a native library using Gnu GCJ.
  • It can be compiled for .NET and Mono using IKVM.
  • I think this covers most major platforms. Unfortunately, I can't find an easy way to use LibOSR with PHP (other than to write it in PHP, which gives me the heebiejeebies), at least not without serious shell access to execute a Java VM. And if you have a server that you are able to do that on, you might as well run Tomcat instead. :( Probably best to instead run as much as possible client-side using GWT and create some light PHP code to handle whatever stuff can only be done server-side.

LibOSR is released under a BSD license.

Rules Sets

There are many different flavors of OSR mechanics. Out of the box, support is planned for three rules sets:

  1. Labyrinth Lord (B/X Clone)
  2. Dark Dungeons (RC/BECMI Clone)
  3. Dizzy Dragon House Rules (B/X and RC crossover, with some 1e-flavor (separate race/class and multiclassing))

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.

libosr/start.txt · Last modified: 2016/09/04 06:24 by leaf

Copyright © 2009-2017 by L. Adamson, unless otherwise stated.