The Official Moksa Frequently
Asked Questions List (with answers!)Moksa started as an effort to create a useful character generator for the Advanced Dungeons&Dragons gaming system. It can do that, but it has become much more than that.
Moksa is a system-independent, customizable, easily portable, powerful, and, above all, useful character generation utility for role-playing games.
Moksa can also create most other forms of random content for roleplaying games, or anything else you might like to have random content for.
I use it to decide which restaurant I will lunch at.
Moksa is free (and will always be free, under the GNU General Public License), and is written by me (Shawn Vincent).
It is available from http://www.svincent.com/moksa/
Many will undoubtedly ask this question: why would I bother to write yet another character generation utility, when literally dozens already exist, and are freely available for download!?
I've used most of the existing character generators on the 'net, and nearly all of them suffer from one or more of the following (in my opinion) fatal flaws:
In short, the current utilities available didn't serve my needs, and so I decided to go all out and overkill the problem. <chuckle>
Well, in the course of over-engineering Moksa, I discovered that it was good for generating things other than characters. If you want to generate tavern menus, random bibles, random music for national anthems, or even decide what resaurant you're going to go to today, Moksa can help you out.
Sounds like it, doesn't it? The utopia of character generators? Can't be written? Stupid Vincent character, muttering to himself about impossibilities?
Well, it's true. I've figured out how to do it:
Moksa is
based on the concept of constraint satisfaction programming
. That is, it is an engine which searches efficiently through
the space of characters, using symbolic math whose basic constants
are random distributions.
Many gaming systems have attributes whose values are based, somehow, on a random value. Taking, for instance, AD&D (my personal expertise lies mostly there), Constitution is defined to be 3d6. This generates a bell curve, centered roughly on 9. A table lookup on this value gives you the constitution HP bonus, which is some small constant. This is also a bell curve, centered on 0, with it's low value being some small negative constant, and its high value being some small positive constant. See? Now, assume that classes are determined randomly, according to some distribution. A table lookup on class will give you hit dice.
Hit Points, then, can be viewed as a random distribution of values, derived from the random distributions of hit dice, constitution HP bonus, level, and whatever other factors come into play.
All of these relations can be described mathematically. This is the basis of Moksa. Given a bunch of rules and initial random distributions, and possibly some restrictions on the initial random distributions, generate particular values for all of the attributes making up a character.
Viewed this way, reverse-engineering game system rules is a fairly simple mathematical process, as long as the random distribution libraries exist and work well. In fact, CSPs have been studied in the field of AI for years, and are used extensively in applications such as scheduling.
So Moksa isn't so much of a pipe dream, after all. In fact, there is significant progress made on it already. You can get a (very alpha-quality) running version at http://www.svincent.com/moksa/
Moksa is currently in very-pre-alpha mode, and doesn't do most of the things I claim for it: yet. Keep an eye on the web page for info and updates...
When I finish Moksa, I will release it, and the source-code for free, under the GNU General Public License. The UI and the rule spec. language are going to be very isolated from the rest of the engine. Moksa is written in JAVA, and so will be very easy (one might say trivial) to port.
I am also releasing prerelease versions of Moksa for public examination. Like the final system, these are free and under the GPL, and full source code is (of course) available.
Although Moksa is free, under the GPL, I've always thought it would be neat if people would send me nifty things. Take a look at the GiraffeWare page.
When I finish it, I'll post to rec.games.frp.dnd-util about its availability. I will also post updates here.
If you're a programmer, and add a neat feature to Moksa, and send it off to me, I'll take a look at it, and maybe incorporate it into Moksa. Since Moksa is under the GPL, your changes will be freely available, just like Moksa itself.
The more people contribute, the better Moksa can become. This is the joy of Free Software.
In general, though, I'm looking for feedback on how I can make Moksa better and more subservient to your needs. Any ideas here would be greatly appreciated

Moksa can be found at http://www.svincent.com/moksa/
Comments, Complaints or Cool Captive Creature Consciousnesses? Mail me.