Character Generator Software

BenGunn said:
Some ideas:

Don't try to make the system "universal" but rather add the individual careers as new modules/classes that link into a common framework

The framework handles the "basic stuff" like dice-rolling, display, character storage/retrieval etc, the add-on classes do the special stuff hardcoded.

Using an interface/abstract class for the implementation should be able to handel it. After all the RESULT of the roles is always the same, it's the rolling and tables that differ. So "public abstract LifepathEvent doLifepathRole()" should work

As for the group stuff, that only comes in late in CharGen and can be handled by a "assemble/finalise group" screen.

One of the first programs I ever wrote was a Classic Traveller (Book 1, Mercenary, High Guard) character generator in UCSD Pascal for my Apple //e. That's pretty much what I did, although I never completely finished it. "It's 90% finished." :)

I also had an Appleworks spreadsheet for ship design. Really, you don't need a "program" for that, it's all calculations, and that's what spreadsheets do. One of the first things I do for each new version of Traveller is whip up a spreadsheet. I'm working on one for Mongoose now, and trying to make it a little more full-featured so other people besides me can use it.
 
kristof65 said:
Agreed. I've got a couple of ideas that should allow you to compile the event tables into a fairly "standard" format that should be seperatable from the main program, but then someone still has to either type all the stuff in, or you have to find a way to legally distribute it.

I've done this for my chargen, and once devised it didn't actually take too long. Basically, I've got 3 elements: a data-table for Mishaps, a data-table for Events, and then a subroutine for Results (because the range of results on both are fundamentally the same).

The data-tables are then formatted as follows:
line 1 - text description of what the event/mishap is
lines 2 to 7 - coded description of what happens, of which I think I ended up with the following:
  • decision - ie accept this, refuse that
    skill - gain a skill or a bonus skill roll (inc. on careers which aren't your own, if applicable)
    test - skill or attribute roll
    injury - guess ;)
    benefit - gain a benefit roll
    br - modifier to a benefit roll
    gamble - gambling benefit rolls
    contact / rival / ally / enemy - guess again
    qual - bonus to next qualification. Can also set a mandatory draft or bonus to qualify for a specific career.
    continue - identifies that a mishap doesn't lead to explusion
    expelled - identifies an event that does trigger an explusion
    prom - bonus to next advancement roll
    promotion - automatic promotion
    commission - automatic commission
    lifeevent - triggers a .... no, I'm not saying
    unusual - triggers a.... no, I can't give away [all] my secrets :twisted:

Obviously, each key word has a little more data to qualify it, so that Skill Gun Combat (slug rifle)-1 means you get that skill if you don't already have it, while Skill Pilot means you gain 1 level in a pilot specialism of your choice. On the basis of Mercenary and High Guard, I'll probably add a Medal keyword to identify those missions that qualify for combat ribbons, and a Warevent keyword, but don't think I need to make any other changes.

Oh, and there's one other optional element which may sit in front of the key word. If there's a "test", then the elements following the test may have the two character codes "s:" or "f:" in front of them, to identify that that element only applies in the case of success or failure.

Once I decided on this methodology, it was surprisingly quick to type it all up. Having said, I'm NOT looking forward to doing it all over again for High Guard and Mercenary! :?
 
Back
Top