PDA

View Full Version : So I made a random character generator



ImSAMazing
2016-05-31, 09:05 AM
Hey guys,

I made a random character generator with Java, and it generates a random Name, Alignment, Background, Class, Subclass, Race, Subrace, rolls random ability scores(4d6b3 usage), and assigns them with a priority based on the class.


It is fairly simple!

Download the file from the link outside of this Spoiler.
Then, move the file to a folder somewhere in your computer. Making a new folder for this program could prove useful.
Once you did that, go ahead and click on the file!
The menu is straight-forward: click on the button to generate a character!(Watchout though, each click = character being made).
Also, before you click the generate button, you can check or uncheck the checkbox on the screen. When checked, all characters generated that have either one of the following classes: Bard, Fighter, Cleric, Ranger, Rogue, Warlock, will prioritize Strength over Dexterity. If not-checked, those classes will prioritize Dex over Strength.
Now take a look in the folder where the file is located in. You should now see a newly created folder called 'Characters'. Go ahead and click on it!
Now that you are in this folder, you should see all the characters you have created in a .txt format.
And that is how it works guys!







Download link of the App(Only for Android): link (https://www.dropbox.com/s/cjtglsnmtg5l0ab/CharacterGeneratorAppV1.3.apk?dl=0)



First download the app from the link in this post or in the OP
Then, install the app by clicking on the apk file
Once you did that, open the app. It's name is: "Character Generator" and it's icon is a d20 die
Once opened, there are lot's of text fields(unedible), and 2 buttons.
If you click on the "Generate a character" button, the 'will be filled' fields will be filled with your newly generated character his/her information!
If you click on the 'Quit this app' button, the app will close itself.
NOTE! At this version, characters are NOT saved. Once you click the 'Generate a character' button again, your old character is GONE!
That's it guys!
PS: Once you download a newer version(once released ofcourse), you don't have to remove the old app. Android will just let you update it once you open the new APK.





Only the Bard, Cleric, Fighter, Ranger, Rogue & Warlock Class are changed by the check-box. If a class isn't in that list, it always uses the priority in the list of the not-strength check-box checked.


Bard: Cha > Str > Con > Dex > Wis > Int
Cleric: Wis > Str > Con > Cha > Dex > Int
Fighter : Str > Con > Wis > Cha > Dex > Int
Ranger : Str > Wis > Con > Dex > Cha > int
Rogue: Str> Cha>Dex>Int>Con>Wis
Warlock: Cha > Str > Con >Wis > Dex > int



Prioritized Ability Score classes:

Fighter: Dex > Con > Wis > Cha > Str > Int
Ranger: Dex > Wis > Con > Str > Cha > Int
Rogue: Dex > Cha > Int > Con > Wis > Str
Bard: CHa > Dex > Con > Int > Wis > Str
Cleric(If heavy armor domain same as Str priority, else): Wis > Con > Dex > Cha > Str > Int
Warlock: Cha > Con > Dex > Wis > Int > Str

Non-prioritized Ability Score classes:
Barbarian: Str, Con, Dex, Wis, Cha, Int
Druid: Wis, Con, Dex,Cha, Int, Str
Monk: Dex, Wis, Con, Cha, Int, Str
Paladin: Str, Cha, Con, Wis, Dex, Int
Sorcerer: Cha, Con, Dex, Wis, Int, Str
Wizard: Int, Dex, Con, Wis, Cha, Str

Fighters are a bit different, due to the EK and the fact that most fighters dont want Int, but EK do want them.

If the Fighter is an EK, and strength-box is checked:
Str>Con>Int>Wis>Str>Cha

If str box is not checked:
Dex>Con>Int>Wis>Str>Cha




Version 1.3:
- Created the App!

Version 1.2(Outdated):
- Added a checkbox for sorting out Str or Dex priorities
- Made the text bigger
- Message pop-up after generating now tells the race, class, and name of the character

Version 1.1(Outdated):
- Changed that heavy armor domains now prioritize Str over Dex, and Str over Con, but Dex below Con.
- Added a Message pop-up that makes it that you realise a character actually has been created
- Added in Background Variants like the Knight, Guild Merchant, etc.

Version 1.0(Outdated):
- Started the project



MrPork for his code for random generating some names. Link to his post that I used: link (http://www.java-gaming.org/index.php?topic=35802.0)
Java for all it's libraries and well, the fact that it exists and that I can use the language xD
Launch4J for giving the ability to wrap a .jar into a .exe for ease of use & ability to preserve the code. Link to their site: link (http://launch4j.sourceforge.net/)
Programming done by me.

Gastronomie
2016-05-31, 09:10 AM
If everyone here said "no", would you not post it?

...But really, I am sorta interested. And besides, by the time you created this topic, that means you wanna show it to us. Go on, post it.

Gwendol
2016-05-31, 09:34 AM
Absolutely! Sounds like a hoot!

ImSAMazing
2016-05-31, 11:09 AM
Allright, the priorities(from high to low):

Barbarian: Str, Con, Dex, Wis, Cha, Int
Bard: Cha, Dex, Con,Int, Wis, Str
Cleric: Wis, Con,Dex,Cha,Str,Int
Druid: Wis, Con, Dex,Cha, Int, Str
Fighter: Str, Con, Wis, Cha, Dex, Int
Monk: Dex, Wis, Con, Cha, Int, Str
Paladin: Str, Cha, Con, Wis, Dex, Int
Ranger: Dex, Wis, Con, Str, Cha, Int
Rogue: Dex, Cha, Int, Con, Wis, Str
Sorcerer: Cha, Con, Dex, Wis, Int, Str
Wizard: Int, Dex, Con, Wis, Cha, Str
Warlock: Cha, Con, Dex, Wis, Int, Str

N810
2016-05-31, 11:13 AM
Wow, Awesome. :smallbiggrin:


ps. would it be possible to make an online version ?

ImSAMazing
2016-05-31, 11:19 AM
Wow, Awesome. :smallbiggrin:


ps. would it be possible to make an online version ?

For now? Not yet. I will be working on improving some things first, like also adding Background variants(like the Pirate variant for example). Also, what do you think about the priorities?

Waffle_Iron
2016-05-31, 12:02 PM
I like my clerics to be STR based, rather than DEX, if they're of the appropriate domain. Heavy armor doncha know.

ImSAMazing
2016-05-31, 12:40 PM
I like my clerics to be STR based, rather than DEX, if they're of the appropriate domain. Heavy armor doncha know.

Great suggestion. If a domain has heavy armor prof, the priority will be str over dex. Ill update that now. Heavy armor domains now have:
Wis > Str > Con > Cha > Dex > Int

AvatarVecna
2016-05-31, 12:52 PM
Fighters are also kinda weird in their stat importance; really, the only thing every Fighter definitely wants is Con. You currently have Int listed 6th, but what about Eldritch Knights? They don't need it, but they definitely want it. And you have Dex listed 5th! Are there no archer fighters?

Stan
2016-05-31, 12:54 PM
So far, so good. I love the simplicity.

Stan
2016-05-31, 12:57 PM
Fighters are also kinda weird in their stat importance; really, the only thing every Fighter definitely wants is Con. You currently have Int listed 6th, but what about Eldritch Knights? They don't need it, but they definitely want it. And you have Dex listed 5th! Are there no archer fighters?

That's hard to handle, as fighter type is more than subclass. If the program randomly chose 1st level abilities, it could chose a different order based on that, such as Dex first for archery style.

ImSAMazing
2016-05-31, 01:04 PM
Fighters are also kinda weird in their stat importance; really, the only thing every Fighter definitely wants is Con. You currently have Int listed 6th, but what about Eldritch Knights? They don't need it, but they definitely want it. And you have Dex listed 5th! Are there no archer fighters?
I know. I know. One of the things I will be working on: melee or ranged will also be automatically determined, which will determine the ability score order. This option will only be for the classes: Bard, Cleric, Fighter, Paladin(or shouldn't I since Rang-adins don't have that many support), Ranger, Rogue & Warlock.



So far, so good. I love the simplicity.
Thanks!


That's hard to handle, as fighter type is more than subclass. If the program randomly chose 1st level abilities, it could chose a different order based on that, such as Dex first for archery style.
I could do that. Same with pact boon for warlock.

DO NOTE: I am not going to do spells for now. That would take hours of hours.



ALSO!
I have now added and updated the download link to version 1.1! What's new? Well, the following:
- Background variants like Pirate(Sailor) have been added
- A Message Pop-Up when you generate a character
- Heavy Armor Domain clerics now prioritize Str over Dex, Str over Con but Dex under Con.

mgshamster
2016-05-31, 01:44 PM
Allright, the priorities(from high to low):

I was just playing with another random character generator a few days ago. I'll check out this one later tonight when I'm home.

Request: can you give an option to not automatically sort the random stats? Sometimes I like to make a "stats in order" type of character for fun, in combination with random race and class.

ImSAMazing
2016-06-01, 03:11 AM
In the coming update there will be a check-box, which if checked means that the classes: Bard, Warlock, Fighter, Cleric, Ranger & Rogue will prioritize Str over Dex.

The priorities for those classes in that case:
Bard: Cha > Str > Con > Dex > Wis > Int
Cleric: Wis > Str > Con > Cha > Dex > Int
Fighter : Str > Con > Wis > Cha > Dex > Int
Ranger : Str > Wis > Con > Dex > Cha > int
Rogue: Str> Cha>Dex>Int>Con>Wis
Warlock: Cha > Str > Con >Wis > Dex > int


INcase they are build with a priority of Dex over Str:
Fighter: Dex > Con > Wis > Cha > Str > Int
Ranger: Dex > Wis > Con > Str > Cha > Int
Rogue: Dex > Cha > Int > Con > Wis > Str
Bard: CHa > Dex > Con > Int > Wis > Str
Cleric(If heavy armor domain same as Str priority, else): Wis > Con > Dex > Cha > Str > Int
Warlock: Cha > Con > Dex > Wis > Int > Str

ImSAMazing
2016-06-01, 03:14 AM
If the Fighter is an EK, and strength-box is checked:
Str>Con>Int>Wis>Str>Cha

If str box is not checked:
Dex>Con>Int>Wis>Str>Cha

hymer
2016-06-01, 04:17 AM
Str>Con>Int>Wis>Str>Cha

Just, you know...

ImSAMazing
2016-06-01, 04:19 AM
Thanks. 2nd str should be dex.

Ill upload the updated version now.

djreynolds
2016-06-01, 04:23 AM
This is awesome, so awesome I do not want to make a joke, but... you'll find it funny.

I reminds me of South Park and the screenplay movie robot. Remember.

This great

ImSAMazing
2016-06-01, 04:44 AM
Thanks for the compliment!

And the new version is up! Please download it in the OP(note this is a different named file.)!

Works the same, just added a checkbox that triggers strength over dex for a few classes noted in the OP.

djreynolds
2016-06-01, 04:48 AM
Thanks for the compliment!

And the new version is up! Please download it in the OP(note this is a different named file.)!

Works the same, just added a checkbox that triggers strength over dex for a few classes noted in the OP.

This is awesome, make it into an app and I'll be your first customer. Its really awesome. Thank You

ImSAMazing
2016-06-01, 04:55 AM
This is awesome, make it into an app and I'll be your first customer. Its really awesome. Thank You

That's a great idea. Thank you! Once I got this all done, I could port it to an android app.

For now, what do you think of the text-size and of the priorities(added them all to the OP)

Rhynear
2016-06-01, 07:00 AM
I have a feeling that some of the ability score orders aren't working properly.

I've got a Dex based Rogue with: Strength: 12
Dexterity: 13
Constitution: 14
Intelligence: 14
Wisdom: 15
Charisma: 16

And a Dex based Bard with: Strength: 13
Dexterity: 6
Constitution: 15
Intelligence: 11
Wisdom: 13
Charisma: 8


But great tool since I can reorder the skills if I want to anyway.

ImSAMazing
2016-06-01, 07:31 AM
I have a feeling that some of the ability score orders aren't working properly.

I've got a Dex based Rogue with: Strength: 12
Dexterity: 13
Constitution: 14
Intelligence: 14
Wisdom: 15
Charisma: 16

And a Dex based Bard with: Strength: 13
Dexterity: 6
Constitution: 15
Intelligence: 11
Wisdom: 13
Charisma: 8


But great tool since I can reorder the skills if I want to anyway.
Thanks for telling me that. Ill look right into the code now to see what is wrong. Seems that it prioritizes Strength over Dex.

ImSAMazing
2016-06-01, 08:15 AM
I have a feeling that some of the ability score orders aren't working properly.

I've got a Dex based Rogue with: Strength: 12
Dexterity: 13
Constitution: 14
Intelligence: 14
Wisdom: 15
Charisma: 16

And a Dex based Bard with: Strength: 13
Dexterity: 6
Constitution: 15
Intelligence: 11
Wisdom: 13
Charisma: 8


But great tool since I can reorder the skills if I want to anyway.

That is very weird. I just tested it and with me it did fine. Ciould you try again?

Rhynear
2016-06-01, 08:54 AM
That is very weird. I just tested it and with me it did fine. Could you try again?

Have created 40 total characters and have uploaded them here (https://www.dropbox.com/sh/eieuplrqnn06ahd/AAD28sxp3OmLrIYfjWvQ-bu-a?dl=0).

I found mistakes with 1, 4, 25, 26, 27, 28, 29, 32, 35 & 38

It seems to be with Rogues and Dexterity, and with Clerics and Wisdom mainly.


Also all of the Ranger's are Battlemaster, which is a Fighter subclass.


Anyway thanks for the great tool as it is so fun to mess around with anyway.

ImSAMazing
2016-06-01, 09:47 AM
Fixed it(The Ability Score bug and the 'Battlemaster' Ranger bug. That should have been Beastmaster ofcourse. I guess that's what happens when you put in all those subclasses at once)!

See the OP for the new download link. File name is the same.

Also added a random trinket roll.

So, what do you guys think?

ImSAMazing
2016-06-01, 11:41 AM
Have created 40 total characters and have uploaded them here (https://www.dropbox.com/sh/eieuplrqnn06ahd/AAD28sxp3OmLrIYfjWvQ-bu-a?dl=0).

I found mistakes with 1, 4, 25, 26, 27, 28, 29, 32, 35 & 38

It seems to be with Rogues and Dexterity, and with Clerics and Wisdom mainly.


Also all of the Ranger's are Battlemaster, which is a Fighter subclass.


Anyway thanks for the great tool as it is so fun to mess around with anyway.

Also, really thanks again for helping me finding this error(s).

ImSAMazing
2016-06-02, 12:15 AM
Newest update is now downloadable(see the link in the OP)!

What's new?
- Option in the form of a check-box to let the scores not be sorted by class(requested by mghamster)
- Fixed a few lines of code that made the program slower
- Fixed the trinket-roll bug.
- Races without a Subrace now don't have a subrace line in the character.txt file.

Stan
2016-06-02, 07:28 AM
It keeps getting better.
Two minor things.
1. The download says 1.1 but the features match the description of 1.2.
2. The popup says <name> is your charated!

ImSAMazing
2016-06-02, 07:29 AM
It keeps getting better.
Two minor things.
1. The download says 1.1 but the features match the description of 1.2.
2. The popup says <name> is your charated!

Yeah. Ill change the name. That's just my default configuration.
And I'll change that immediately!

Currently busy with putting it into an app.

EDIT: Version 1.3 is up! Fixed the spelling error, and the name is now v1.3.exe . Download link updated in the OP.

ImSAMazing
2016-06-02, 09:40 AM
Great news! I have almost finished the app. Ill put up a link as soon as possible. It's an APK(so android only, sorry Apple users. I am just not accustomed to the Apple programming language.)

ImSAMazing
2016-06-02, 12:47 PM
edit: forgot to add some code. Tomorrow Ill Re - upload the app. For now, you guys have to live without it :smallwink:

ImSAMazing
2016-06-03, 12:25 AM
The first version of the app is done!

Download link: link (https://www.dropbox.com/s/jhr9lh5ph7158wx/CharacterGeneratorAppV1.1.apk?dl=0)



First download the app from the link in this post or in the OP
Then, install the app by clicking on the apk file
Once you did that, open the app. It's name is: "Character Generator" and it's icon is a d20 die
Once opened, there are lot's of text fields(unedible), and 2 buttons.
If you click on the "Generate a character" button, the 'will be filled' fields will be filled with your newly generated character his/her information!
If you click on the 'Quit this app' button, the app will close itself.
NOTE! At this version, characters are NOT saved. Once you click the 'Generate a character' button again, your old character is GONE!
That's it guys!
PS: Once you download a newer version(once released ofcourse), you don't have to remove the old app. Android will just let you update it once you open the new APK.

EvanescentHero
2016-06-03, 08:15 AM
First off, this app is great. Thank you for making it!

My biggest tweak that hasn't been discussed yet is in niche ability prioritization. The app just generated me an eldritch knight with 13 intelligence. Is it possible for you to further tweak the ability priority by subclass? Because eldritch knights and arcane tricksters are going to want their intelligence to be decent at least.

ImSAMazing
2016-06-03, 08:18 AM
First off, this app is great. Thank you for making it!

My biggest tweak that hasn't been discussed yet is in niche ability prioritization. The app just generated me an eldritch knight with 13 intelligence. Is it possible for you to further tweak the ability priority by subclass? Because eldritch knights and arcane tricksters are going to want their intelligence to be decent at least.

That will probably be due the rolls. All the stats are randomly rolled with the 4d6b3 method. The priority's are all relative. So if you highest stat rolled is 13, no stat will be higher than 13. If you try again until you get another EK, you will see the priority in the stats(or, you look in the OP. It has a spoiler that tells all the priorities).

And thanks for saying that! I really appreciate your support.

hymer
2016-06-03, 08:21 AM
First off, this app is great. Thank you for making it!

I'd go so far as to say heISamazing. :smallbiggrin:

ImSAMazing
2016-06-03, 08:23 AM
I'd go so far as to say heISamazing. :smallbiggrin:

Thanks dude! I really appreciate that. I can't thank all of you enouh.

Just an update: almost done with the 'Save a Character' update for the app-version.

treecko
2016-06-03, 08:33 AM
This is good. Minor nitpick, the dragon sorcerer archetype only lists the color of dragon and not the fact that they're actually a dragon sorc. Although the people here would be able to assume.

ImSAMazing
2016-06-03, 08:35 AM
This is good. Minor nitpick, the dragon sorcerer archetype only lists the color of dragon and not the fact that they're actually a dragon sorc. Although the people here would be able to assume.

That will be fixed immediately. That is indeed a mistake, and thanks for pointing it out!

ImSAMazing
2016-06-03, 10:08 AM
The 'Save A Character' update for the App-version is here!

Download link: link (https://www.dropbox.com/s/eiile76te0gmh0h/CharacterGeneratorAppV1.2.apk?dl=0), or see the OP!

Also fixed the bug Applepi pointed out, for that link see the OP. I updated the download link.

Finding the file on your phone needs a file finder of file view app of some sort, sadly. Finding it may be a bit hard, but the app posts a part of the path to the file. One of the maps has 'Windows10voorzeke' in it's name, please ignore that bit xD. Ill fix that asap.

lperkins2
2016-06-03, 07:17 PM
For anyone not on windows, if you unpack the .exe (file-roller or similar) and then repack it as a zip .jar file, it should execute via the usual manner (java -jar file.jar). Unfortunately it's compiled for java 8, so it refuses to run on java 7, and icedtea 8 isn't out yet for lots of linux distros.

ImSAMazing, if you post your source code, I'd make a java6+ build that should run on basically any version of java. It doesn't look like you're using any java8 specific features.

As a word of caution to users, it creates a folder called 'Characters' in the current working directory and creates output files in that folder. Make sure not to run it from someplace where that can break things.

Navigator
2016-06-04, 12:46 AM
Unfortunately it's compiled for java 8

Nice catch!

As far as the program, I like it and where you're going with it. I think you could link up pretty well with another project I saw that makes character blocks look really good, and you'd only have to output simple HTML. Take a look here:

http://jsfiddle.net/basmith7/Z2sQK/

ImSAMazing
2016-06-04, 01:29 AM
For anyone not on windows, if you unpack the .exe (file-roller or similar) and then repack it as a zip .jar file, it should execute via the usual manner (java -jar file.jar). Unfortunately it's compiled for java 8, so it refuses to run on java 7, and icedtea 8 isn't out yet for lots of linux distros.

ImSAMazing, if you post your source code, I'd make a java6+ build that should run on basically any version of java. It doesn't look like you're using any java8 specific features.

As a word of caution to users, it creates a folder called 'Characters' in the current working directory and creates output files in that folder. Make sure not to run it from someplace where that can break things.
Ill compile it to java 6+ myself, but thank you for proposing it.


Nice catch!

As far as the program, I like it and where you're going with it. I think you could link up pretty well with another project I saw that makes character blocks look really good, and you'd only have to output simple HTML. Take a look here:

http://jsfiddle.net/basmith7/Z2sQK/
That's not a bad idea! Sadly that template is for monsters, not for PCs. If you could find such a template for PC's, ill certainly try to implement it.

EDIT: Update out for the app! Just some bug-fixing. See OP for new download link.
EDIT2: Personally, I think just an app is better for this kind of application. If you want the app for Windows you can always PM me, but else you could just use the app in the OP! I really think it works easier and more convenient.