Transhuman Life Path generator

32 posts / 0 new
Last post
terrasaur terrasaur's picture
Transhuman Life Path generator

Hey, I spent the last few weeks trying to get back into Java development, so I decided to make a little generator that runs through the life path tables and gives you the results.

Currently it just gives you a list of packages rather than what's in the packages, so it isn't a full character as a result. I might add support for that later, but I figure you can generate a few characters, pick one that you actually like, and fill out the real stats for them.

Edit: Updated to make a character sheet thingy and added support for all the packages.

You need Java 1.6 or higher, but other than that you should be able to double-click and it will run. If there's any bugs or issues please let me know; I'd like to fix them.

Generator (Google Doc link) (Last Update: 5/19/2014 - assorted bug fixes)

Source (google doc) Source (GitHub)

Octomorph Octomorph's picture
Nice - great for NPC gen!

Nice - great for NPC gen!

Undocking Undocking's picture
Nice! It is so much quicker

Nice! It is so much quicker than making all those rolls.

terrasaur terrasaur's picture
Thanks!

Thanks! I just posted a pretty major update at the same link.

I'm also up for suggestions / recommendations for expansions, if anyone has any.

Aldrich Aldrich's picture
Cool!

Hey this is cool, thanks for taking the time to put it together!

If you want to get fancy and allow feature creep into a hobby project, you could allow the user to set constraints on the tables so that it targets more specific paths. I.e. if they only want to generate "Earthborn" or "Martian Settler" NPCs, let them remove the other options from Table 3.1 and have it roll on whatever is left.

terrasaur terrasaur's picture
I was trying to avoid doing

I was trying to avoid doing too much user input because I don't like dealing with GUIs, but I can see what I can come up with. I can see how this would be useful for GMs especially.

thelabmonkey thelabmonkey's picture
Great as-is, always room for

Great as-is, always room for improvement with these things. Thank you for putting it together!

Alkahest Alkahest's picture
Nice job!

Sweet! As someone else already said, it's a fantastic NPC generator.

President of PETE: People for the Ethical Treatment of Exhumans.

terrasaur terrasaur's picture
Thanks!

Thanks!
I've uploaded a new version that has options for choosing available backgrounds and factions. I don't think I want to get any more specific than that, because I feel like at that point you probably should just go through package creation rather than use the random tables.

Anyway, enjoy!

Alkahest Alkahest's picture
Stellar!

Stellar!

Edit: This character made me laugh out loud:

CHARACTER INFORMATION
Background: Hyperelite: Media Personality
Faction: Titanian
Morph: Exalt (biomorph)
Motivations: +Personal Career, +Technosocialism, +Explosions

President of PETE: People for the Ethical Treatment of Exhumans.

Lorsa Lorsa's picture
Awesome! I will definitely

Awesome! I will definitely play around with this.

The first character I randomized doesn't really make sense though I'm afraid. It was an AGI created post-fall for science (and now being in the 60's so lots of accelerated time) but had both pre-fall and post-fall events (one of which made it an async). I feel as though there's something weird when you roll for events that happened before you were created, yes?

Lorsa is a Forum moderator

Red text is for moderator stuff

terrasaur terrasaur's picture
Alkahest wrote:Stellar!

Alkahest wrote:
Stellar!

Edit: This character made me laugh out loud:

CHARACTER INFORMATION
Background: Hyperelite: Media Personality
Faction: Titanian
Morph: Exalt (biomorph)
Motivations: +Personal Career, +Technosocialism, +Explosions

Well, you know, explosions are very near and dear to Titanian hyperelites... right?

Lorsa wrote:
Awesome! I will definitely play around with this.

The first character I randomized doesn't really make sense though I'm afraid. It was an AGI created post-fall for science (and now being in the 60's so lots of accelerated time) but had both pre-fall and post-fall events (one of which made it an async). I feel as though there's something weird when you roll for events that happened before you were created, yes?

Ahh, you know what, after reviewing the code it looks like I didn't correctly skip the fall event. All the hooks are in place, I just need to move a line of code. It's a quick patch, I'm putting up the newest version now. Thanks for pointing that out!

lets adapt lets adapt's picture
Thanks for this! It's awesome

Thanks for this! It's awesome!

I have a bug report! It appears that Sylph's don't have their native morph bonuses assigned!

Morph: Sylph (biomorph)
Motivations: +Reclaiming Earth, +Fascism, -Neurodiversity

| COG | COO | INT | REF | SAV | SOM | WIL |
base | 20 | 15 | 10 | 15 | 15 | 15 | 15 |
morph | | | | | | | |
total | 20 | 15 | 10 | 15 | 15 | 15 | 15 |

I am keeping the full arrangement if you'd like it!

terrasaur terrasaur's picture
lets adapt wrote:Thanks for

lets adapt wrote:
Thanks for this! It's awesome!

I have a bug report! It appears that Sylph's don't have their native morph bonuses assigned!

Morph: Sylph (biomorph)
Motivations: +Reclaiming Earth, +Fascism, -Neurodiversity

| COG | COO | INT | REF | SAV | SOM | WIL |
base | 20 | 15 | 10 | 15 | 15 | 15 | 15 |
morph | | | | | | | |
total | 20 | 15 | 10 | 15 | 15 | 15 | 15 |

I am keeping the full arrangement if you'd like it!

Hmm, that's strange. I'm testing it on my end and it looks like it's working. Does the character sheet portion also have Morph Traits and Implants listed under Traits? If not, it might be an older version that didn't have all the morphs supported. The newest version of the code should fix the issue (just redownload at the same link above and it should work).

If it has implants but not the morph bonuses, I'd like to see the full text, though!

lets adapt lets adapt's picture
It does!

It does!

Quote:

Aptitude Template: Techie
Native Language: Hindi
Background: Wholesome Youth
Lunar Colonist: privileged homesteader
Starting Morph: Splicer
Current Morph: Sylph
Age: 60s
Starting Adult Path with focus and faction Enclaver
Decided to customize instead.
Equally balanced
Changed focus to Customization
Life Path Events:
• Background Event: You experiment with drugs, but it isn't for you.
• Pre-Fall Event: You decide you want to experiment. You are resleeved as a
Arachnoid synthmorph.
• Fall Event: Your relatives die, but you are left as the sole heir to the
family's modest wealth that made it off-world.
• Post-Fall Event: You manage to get yourself killed three times in one week.
At least you're getting used to resleeving. You are resleeved as a Sylph
biomorph.
• Firewall Event: You are one of the few survivors of an exsurgent outbreak
on your habitat.

Package list:
• Fall Evacuee: Enclaver (3 PP)
• Athletics (1 PP)
• Face (3 PP)
• Skimmer (3 PP)

CHARACTER INFORMATION
Background: Fall Evacuee: Enclaver
Faction: Skimmer
Morph: Sylph (biomorph)
Motivations: +Reclaiming Earth, +Fascism, -Neurodiversity

| COG | COO | INT | REF | SAV | SOM | WIL |
base | 20 | 15 | 10 | 15 | 15 | 15 | 15 |
morph | | | | | | | |
total | 20 | 15 | 10 | 15 | 15 | 15 | 15 |
----------------------------------------------------------------
| MOX | TT | LUC | IR | WT | DUR | DR | INIT | SPD |
| 2 | 6 | 30 | 60 | 7 | 35 | 53 | 5 | 1 |

SKILLS
| APT | BASE | MORPH | TOTAL |
----------------------------------------------------------------
Climbing | SOM | 45 | | 45 |
Deception | SAV | 50 | | 50 |
Flight | SOM | 55 | | 55 |
Freerunning | SOM | 55 | | 55 |
Gunnery | INT | 40 | | 40 |
Interfacing | COG | 55 | | 55 |
Kinesics | SAV | 45 | | 45 |
Language: Hindi | INT | 70 | | 70 |
Navigation | INT | 45 | | 45 |
Perception | INT | 30 | | 30 |
Persuasion | SAV | 80 | | 80 |
Pilot: Aircraft | REF | 55 | | 55 |
Pilot: Groundcraft | REF | 45 | | 45 |
Pilot: Spacecraft | REF | 45 | | 45 |
Profession: Gas Mining | COG | 65 | | 65 |
Profession: Social Engineering | COG | 65 | | 65 |
Protocol | SAV | 68 | | 68 |
Swimming | SOM | 45 | | 45 |

REP
------------
@-rep: 50
g-rep: 50

TRAITS
--------
Drug Exception, Phoenix (Level 2), Psi Defense
Morph Traits: Striking Looks (Level 1)
Implants: Basic Biomods, Basic Mesh Inserts, Cortical Stack, Clean
Metabolism, Enhanced Pheromones

Starting Credits: 75000 credits

Remaining Actions:
• Add one Academics skill of your choice at 40
• Add one Interest skill of your choice at 20
• Add one Interest skill of your choice at 40
• Add one Language skill of your choice at 40
• Add one Networking skill of your choice at 30
• Add one Networking skill of your choice at 40
• Add one Networking skill of your choice at 50
• Add one Profession skill of your choice at 40
• Additional morph aptitudes: +5 to one other aptitude
• Look up and apply all traits
• Spend 5 CP from refunding skills past 80

lets adapt lets adapt's picture
I've gotten another Sylph

I've gotten another Sylph after that that had the right stats then another that had none again, but I didn't save the working one. :\

terrasaur terrasaur's picture
lets adapt wrote:I've gotten

lets adapt wrote:
I've gotten another Sylph after that that had the right stats then another that had none again, but I didn't save the working one. :\

That's all right. I think there's probably something else about your previous result that messed up the morph bonuses. When I just generally force the life path to give me a sylph it works fine. I'll have to work a little to see if I can recreate it. Thanks for reporting the bug, though!

EDIT: Urgh. When I looked at the code the bug was obvious and glaring, and I can't believe I missed it before now. If you switch your morph during your lifepath it didn't update your stats correctly :/ which happens a lot, and I should have noticed before now. The new version is up now, though.

Jaberwo Jaberwo's picture
Yay! Don't forget to update

Yay! Don't forget to update the latest version date in your first post :)

terrasaur terrasaur's picture
Jaberwo wrote:Yay! Don't

Jaberwo wrote:
Yay! Don't forget to update the latest version date in your first post :)

Right you are, updated

godmoney godmoney's picture
yay for time traveling... :D

Life Path Events:
• Background Event: A dysfunctional home life keeps you from doing well in
school.
Pre-Fall Event: (story event) You have an unfortunate run-in with Jovian
Republic troops, but manage to extricate yourself.

• Fall Event: You learn the hard way how susceptible you are to exsurgent
influence.
• Post-Fall Event: You are recruited to aid on a scientific mission.
• Gatecrashing Event: You participate in a rescue op that cashes in on a
sizable recovery bond.
• Firewall Event: You are one of the few survivors of an exsurgent outbreak
on your habitat.

I guess the nuns at my communal school were founding members of the JR!

Semper Ubi Sub Ubi!?!

doublethink doublethink's picture
GitHub

Suggestion: host your project on GitHub, which will let others contribute in a structured way (or at least, make use of their issue system).

terrasaur terrasaur's picture
godmoney wrote:Life Path

godmoney wrote:
Life Path Events:
Pre-Fall Event: (story event) You have an unfortunate run-in with Jovian
Republic troops, but manage to extricate yourself.

I guess the nuns at my communal school were founding members of the JR!

Yeah, I don't have any sort of sanity checking, so if the charts can roll it, it's legal!

doublethink wrote:
Suggestion: host your project on GitHub, which will let others contribute in a structured way (or at least, make use of their issue system).

Okay I set up a GitHub repository. I've never used GitHub before so I hope I did it right. Link is in the original description.

thebluespectre thebluespectre's picture
Wait, woah, wait

I thought the Junta only formed post-Fall. It was the Fall itself that made them so xenophobic in the first place?

"Still and transfixed, the el/
ectric sheep are dreaming of your face..." -Talk Shows on Mute

Aldrich Aldrich's picture
terrasaur wrote:

terrasaur wrote:

Okay I set up a GitHub repository. I've never used GitHub before so I hope I did it right. Link is in the original description.

Nice, thanks! I snagged a fork - I'll probably poke at after I survive the last two weeks of school.

And GitHub is lovely! It take a little while to figure out (it's worth learning the command line interface, even if you normally use an IDE), but once you're used to it it's hard to go back.

terrasaur terrasaur's picture
thebluespectre wrote:I

thebluespectre wrote:
I thought the Junta only formed post-Fall. It was the Fall itself that made them so xenophobic in the first place?

Yes, but the way the tables are set up there is a chance you can roll a story event on the Background and Pre-Fall Event charts, and one of the story events is with the Junta. The Story Event chart gets rolled after your character is done, usually. I haven't put in a sanity check to make sure the story events make sense in context, so sometimes you get time-travelers. I suppose I could build in something to reroll in those cases.

Aldrich wrote:
Nice, thanks! I snagged a fork - I'll probably poke at after I survive the last two weeks of school.

And GitHub is lovely! It take a little while to figure out (it's worth learning the command line interface, even if you normally use an IDE), but once you're used to it it's hard to go back.

Cool! I tried to make sure and comment everything but I got lazy in parts. Hopefully it's readable.

I know a lot of people use GitHub so it's one of those things I probably should have learned a while back, but just haven't put in the time. I guess having a small project like this is a good way to get familiar with it.

Seekerofshadowlight Seekerofshadowlight's picture
Nice work, thanks.

Nice work, thanks.

Aldrich Aldrich's picture
terrasaur wrote:

terrasaur wrote:

Cool! I tried to make sure and comment everything but I got lazy in parts. Hopefully it's readable.

Heh, I'm sure it's fine! It can't possibly be as bad as the last project I had to decipher: that one was a chained statistical classifier that used hypergraph relaxation labeling to perform coreference resolution on unstructured text. It was written half in totally cryptic Perl and half in C and commented (such as it was) entirely in Catalan. I gave that one two weeks and then tossed it and switched to a different system. :P

terrasaur terrasaur's picture
Aldrich wrote:Heh, I'm sure

Aldrich wrote:
Heh, I'm sure it's fine! It can't possibly be as bad as the last project I had to decipher: that one was a chained statistical classifier that used hypergraph relaxation labeling to perform coreference resolution on unstructured text. It was written half in totally cryptic Perl and half in C and commented (such as it was) entirely in Catalan. I gave that one two weeks and then tossed it and switched to a different system. :P

Ouch. Well I think the worst you have to handle in this is half-assed error checking and code where I tried to be clever, gave up, and made it the ugly way. Hopefully. If there's anything too glaringly unreadable let me know and I'll try to clean it up

doublethink doublethink's picture
terrasaur wrote:Okay I set up

terrasaur wrote:
Okay I set up a GitHub repository. I've never used GitHub before so I hope I did it right. Link is in the original description.

Good stuff - have forked it. When work calms down (major release going out) in a few weeks, I'll take a read through.

Initial thoughts:

1) You should remove (and then .gitignore) any IDE related files (eclipse IDE stuff) from the git repo. For example, I use Intellij, so I'd add those files to gitignore as well.

2) I'd be interested in adding unit test coverage.

I can add those ideas to the github issues :)

// dt

terrasaur terrasaur's picture
doublethink wrote:Good stuff

doublethink wrote:
Good stuff - have forked it. When work calms down (major release going out) in a few weeks, I'll take a read through.

Initial thoughts:

1) You should remove (and then .gitignore) any IDE related files (eclipse IDE stuff) from the git repo. For example, I use Intellij, so I'd add those files to gitignore as well.

2) I'd be interested in adding unit test coverage.

I can add those ideas to the github issues :)

// dt

I went ahead and removed what I could. Haven't used Git before, so I committed way too much the first time around. It should be good now.

As to 2, if you would that would be fantastic. I did not do much in the way of testing, code-wise.

lets adapt lets adapt's picture
Just wanted to say thanks for

Just wanted to say thanks for making this! This has been super useful for NPC stats on the fly. :D

terrasaur terrasaur's picture
Well, thanks! I'm glad people

Well, thanks! I'm glad people are getting use out of it. Means my time making this was not wasted