Monday, June 17, 2013

Generating Personal Characteric numbers with a spreadsheet

Ok, I'm building a prototype of the Personal Characteristics module in my application in Excel.

I stuck a couple three cells to roll dice for me, thus


d100 Roll Select& Press F9 43
d20 Roll Select & Press F9 10
d6 Roll Select & Press F9 6

Label Cells                               Formula Cells
"d100 Roll by pressing" F9   =RANDBETWEEN(1,100)
"d20 Roll by pressing"   F9  =RANDBETWEEN(1,20)
"d6 Roll by pressing"     F9 =RANDBETWEEN(1,6)

Then I built a table, with the rows being the 14 Prime Characteristics.

Columns are Characteristic Name, Die Roll, Modifier to the Die Roll, and Modified Die roll. The fourth column, of course, equals the sum of the second and third.

I calculate a total cost for the Modifiers, with a conditional formatting if the total goes over 35, changing the cell to yellow. The total cost = the sum of all the modifers except psionics, which only costs half the modifier. The player has to keep track of what Personal Characteristic rolls can be modified for the selected profession.

The next two columns allow the user to look up the personal characterisitc values for the die roll and modified die roll. A last column allows the user to put in the final characteristic value after all the various adjustments for Home gravity and Profession. This last column's values will be transcribed to the character sheet.


Below is a calculated table showing the calculated preservice  skill point totals for each profession, including the alternate calculation for Med techs. These are based on the unmodified, modified, and final adjusted values columns for Personal characteristics. I included the unmodified and modified calculations to help the user mini-max a bit while modifing die rolls.

Next there are spaces for recording Planetary Gravity, Athmosphere, and climate rolls, and for noting the effects. The rules assume these will be generated randomly, rather than being based on a world already created for the campaign. Sounds like a place for the players to do some colabrative world building, by fleshing out their characters' homeworlds.

Next there's a table where the user can record if the charcter being created, base on attributes and home planet, qulifies to be an alien.

(Humans, Humanoids, and for some dang reason, Avians, are automatic qualifications. Other "races" will have minimum and maximum values for certain characteristics, as well as restrictions on their homeworlds.)

Next is a place to record height and weight of the charcter, and calculated fields for their secondary characteristics such as Wound Factor and Carrying capacity.

Developing the characters prior service and allocating Skill points will be addressed by future tools.



Sunday, June 9, 2013

Flavor of the Space Opera game

Characters are former service members, multi species and multi skilled specialists

Planets of the week often mono climate. Political organizations reflect 20th century stories and concerns, space commies, space Nazis, space libertarian plutocratic cosplayers, space civic league, space Mongols.

Lots of gear: blasters, light sabers, power armo,r personal and mainframe computers, force field,s ftl hyper drive, ftl radio and radar, ridiculously fast stl. All three types of power plants: fission, fusion, and antimatter.
Some recent posts on RPG.NET reminded me I never can get my head around the Space Opera RPG.

That's why I started this blog a couple years ago, but got distracted.

There are other things in my world besides RPGs. One of them is computer programming, and I've been casting around for some projects to learn new languages. So I got this idea I should write some utility programs to automate some Space Opera (SO) rules. If I can't automate the SO rules, then I should not try to play with them.

 Poking trough the SO rule book (third printing, the one with both books in one perfect bound volume) I see several possibilities.

First off, a character generator. There would be several components, like a 1d1oo characteristic roller that looks up the actual 1 to 19 attribute values. This can be enhanced by providing a tool to handle the various character professions. To summarize the procedure for generating attributes, the player generates a series of d100 rolls, one for each attribute. Look up what 1-19 attribute corresponds to that roll for that attribute. (For some silly ass reason, the same d100 roll for intelligence won't generate the same strength attribute, you've got to cross reference on a table for each roll and characteristic to see what the final value is.) (The whole dang thing could be converted to roll best 3 of 4 d6 without too much trouble.) But that's not all! SO has character classes. Sort of. SO character Professions have next to no effect in play, but they guide character creation. Professions interact with Characteristic attributes in at least two ways. First, each profession has a budget of points to adjust some of the d100 rolls used to generate characteristics. Second, each profession has a different formula, based on adding up the values of different characteristics for each profession, for generating the bulk of the character's Skill Points (SP).

 Digression: A Player Character has a number of Skill points, used to buy skills in character creation. Each character has 6d6 SP that can be used to buy skills from a list of general skills. Each character has a set of SP derived from their Characteristic values, which differs based on character class. And each character has 5 more SP for each year of "prior service", there being a crude knock off of the Traveller life path, to determine such prior service. Different skills have different costs in SP, usually 1-5 per level, but some skills don't seem to have levels, and it's a flat cost. 

So to generate these attributes, I need some player decision making interaction with the application. The player must allocate these Dice Roll Modifier (DRM) points. To facilitate this, the application should first, allow the user to try a variety of scenarios. The app can also project the effects of allocating points, by showing the SP total for the modified Characteristics and chosen profession.

 OK, there's two tools I plan to develop this application in. Parallel development using two different will give me greater insight into each one.

One is Microsoft Visual Studio Express. There's a tutorial for creating a math game that I can use as a starting point.

Second there's python. There's a couple of cloud based python IDEs such as: Python Fiddle I can use to build my app. For my learning purposes it will be best to try it using both tools.