24 October, 2016

Revisiting the Crossroads

I've toyed with the idea of the crossroads as a place of power several times in my games. It's a concept of modern myth that really intrigues me.

Today I was wondering why the most powerful crossroads depicted in popular culture always seem to be in isolated locations. A modern city is littered with grids of crossroads as north-south aligned thoroughfares intersect those going east-west. Why wouldn't a city be a place where thousands of demons are waiting to make pacts with mortals? Maybe they are.

But another option might be to consider the length of the roads leading to the crossroads. In the middle of a city, it might only be a few dozen metres (or yards) from one crossroads to the next, which isn't enough length for the incoming energies to generate much of a charge. In a rural environment, it might be kilometres (or miles) between crossroads, thus giving ample length for the crossroads to generate significant charge levels. If the charge level isn't high enough, there simply isn't enough to meet a threshold required for breaching the barrier between worlds. Thus, no inherent magical portals for summoning crossroad demons in cities. You need to use other means.

This may also explain why technocratic types are always trying to expand their cities, and carving new roads across the landscape...not only to expand their city based influence, but also to minimise the power that might be generated by rural crossroad hotspots.

Just a fragment of an idea at the moment.

22 October, 2016

Tracking the LARP

For the last few months, after every LARP game, I've been tracking how characters have done in their assigned missions. I've done this by following a few key ideas:
  1. Missions occur in key marked locations
  2. Territories are expanded for factions when their missions have been successful.
  3. Territories turn from factionally aligned to neutral if a faction succeeds in a mission in another faction's territory.
  4. Influence spreads to adjacent territories if these adjacent territories are uncontested.
  5. Influence does not spread to adjacent territories if two different factions could see their influence spread into the territory.
  6. The overall power of the factions throughout the region is simply determined by adding up the number of territories they control.

This process started after the third game of the LARP, when I decided the players needed a bit more focus and the factional system was brought into effect. Today saw the end of game 6.

End of Game 3 - The Nomads (Green) did very well, the scholars of the University (Blue) secured a central part of the map due to the actions of members outside their faction, and the Criminal bandits (Red) focused their efforts in the north. 

End of Game 4 - The Military (White) made a strong showing in this game, while the Nomads (Green) lost a lot of their territory to successful missions from other factions. The University scholars shifted their influence northward. 

End of Game 5 - The Military (White) lost a bit of influence to the south with a growing black market from the Criminal bandits (Red). The mysterious Cult (Black) establishes a stronghold in the northern mountains, pushing out the last elements of the bandits in the area.

End of Game 6 - The Military (White) regains some power by securing a second stronghold at the Rainbow Vale. Similarly, the Nomads (Green) started to regain strength across the region, perhaps hoping to establish a secure route from east to west again. The University (Blue) loses ground, as the Criminals (Red) dominate a larger region of the civilised lands in the south east with their black market trade. The Cult (Black) remains stalwart in the mountains.  

We'll see where things progress from here.

16 October, 2016

LARP / Computer RPG crossover

Back in the early 2000s, White Wolf were doing some really interesting things with their World of Darkness lines. Then they went and crashed the whole line to start something new, and I left because I thought it was both a stupid business decision, a great way to alienate existing fans, and generally a step that felt weird. I can understand why they did it, but it just wasn't for me any more.

But back to the good days before the crash. The thing I'm interested at this point is the way the sourcebooks specifically integrated two versions of the rules in them. The background text was exactly the same, but the books provided a way to handle powers from a tabletop perspective, then a separate paragraph (or two...sometimes in a text box) that described how the power should function in their live format "Minds Eye Theatre". The tabletop and live games functioned so differently that there was a distinct need to explain the powers within the structure of each set of rules, even though they wee effectively meant to be different ways of playing the same game. The live game handled things like political intrigue far more effectively, while the tabletop game was awesome for supernaturally themed superheroes (and then there were those few people I knew who played the World of Darkness games "properly" with angst and catharsis and all that stuff).

This has been raised because my current project looks like it could really benefit from the same split of mechanisms. There is a boffer LARP where combat is quick, resolved in real time, and often leaves out complicated bits of the rules in the heat of battle, because people sometimes honestly forget stuff when their being swung at with a sword. There is a computer element that characters can be slotted into, where slippery footing on the ground isn't a physical hindrance, but needs to be simulated through modifiers within the programming, and the nuances of social intrigue seem beyond the scope of mainstream compute games, and are far beyond my programming skills.

That basically brings us to the notion of game design in the mid to late part of the first decade of this century (ie. 2004-2010). The notion that elements of the OSR seem to be rebelling against, and the notion that has seen a lot of critique in more recent years..."system matters". There are two distinct games here, one live, one online. They are meant to provide different (but overlapping) experiences, each game will cater to it's strengths as a medium, but will allow for a diversity of play styles within that format. Everyone doesn't want the same thing out of a game, and a lot of players like to explore the experience a game provodes before deciding how best they can interact within it (these are two points that I just haven't been able to get through to a lot of the local LARPers at the moment).

So, in this project, a single simply format defines the characters, but these characters are slightly modified because the rules their statistics interact with are modified. Basically like playing a game of Rifts where each of the alternate dimensions has it's own rule set and therfore encourages specific types of stories to be told...or like numerous OSR games where different games use the same stat line of six attributes, THAC0, and saving throws, but apply some kind of quirky twist to set themselves apart from similar games, or to claim they are innovating.

I'm not going for subtle shifts here, instead I'm aiming for a mysterious game of exploration in a strange land, and a second game of high intrigue politics as heroes bring the things they've found during their exploration into a settingwhere they can use these tools against one another. It basically functions like the Camarilla organisation's version of Minds Eye Theatre, where there was a separate influence game that handled activity between games while the high stakes action occured face to face during the monthly sessions.

All these ideas, that feel like they've been fragmented for decades, waiting for someone to put them together in a coherent form. I'm surprised I haven't seen someone do it effectively already. Of course, now that I've said that, someone's going make a comment below where they point out people who've been doing this exact thing.

15 October, 2016

The string

Here's the basic structure of the string I'll be working with. It's in a human readable format, but I'll ensure that any time the string is exported out of the website it gets encoded, perhaps with a base64_encode, or maybe with a gzinflate. I don't necessarily want to make the encoding too strong, this is just a simple personal project designed for a bit of fun.

The string format follows...

                                        Race Path
                                            Cultural Path
                                                Progress Path 1
                                                    Subsequent Progress Paths
Core - first six digits determine basic stats, race and culture, 

First Digit (Base Attributes): 1 = 1122, 2 = 1212, 3 = 1221, 4 = 2211, 5 = 2112, 6 = 2121, 7 = 3111, 8 = 1311, 9 = 1131, 0 = 1113 {where the attributes in order are: Combat, Influence, Knowledge, Magic}

Second Digit (Race): a = mixed blood, A = human, b = fey blood, B = fey, c = mutant blood, C = mutant, d = naga blood, D = naga, e = ogre blood, E = ogre, f = kitsune blood, F = kitsune, g = tengu blood, G = tengu, h = kami blood, H = kami, i = oni blood, I = oni.

Third Digit (Culture): a = local, b = urban, c = rural, d = mountain, e = swamp, f = plains, g = forest, h = north ice, i = south desert 

Fourth Digit (number of adult paths begun): a = 1, b = 2, c = 3, d = 4, e = 5, etc. {if letter is capitalised, character is honourable}

Fifth Digit (level of honour/reputation): a = 1, b = 2, c = 3, d = 4, e = 5, etc. {if letter is capitalised, character is tainted}

Sixth Digit (inventory): a = 1, b = 2, c = 3, etc. number of items (first will be a weapon, second will be an armour, then other items)  

Name - next two digits determine the character's name {common given names ??as per culture?? and family names ??as per race??}

Equipment - next few digits determine current useful equipment 2*(1+x) {where x is determined by the sixth digit}

First Digit: a = unarmed, b = tanto, c = wakizashi, d = katana, e = yari, f = bo staff, g = no-dachi, h = kyu, i = racial weapon 1, j = racial weapon 2, (still working on the specifics here).  
[if capitalised, item is enchanted]

Second Digit: a = no armour, b = no armour + helmet, c = no armour + sleeves, d = no armour + helmet + sleeves (+1 hp), e = no armour + leg greaves, f = no armour + leg greaves + helmet (+1 hp), g = no armour + leg greaves + sleeves (+1 hp), h = no armour + leg greaves + sleeves + helmet (+1 hp), i = light armour (+1 hp), j = light armour + helmet (+2 hp), k = light armour + sleeves (+2 hp), l = light armour + helmet + sleeves (+2 hp), m = light armour + leg greaves (+2 hp), n = light armour + leg greaves + helmet (+2 hp), o = light armour + leg greaves + sleeves (+3 hp), p = light armour + leg greaves + sleeves + helmet (+3 hp), q = heavy armour (+3 hp), r = heavy armour + helmet (+3 hp), s = heavy armour + sleeves (+3 hp), t = heavy armour + helmet + sleeves (+4 hp), u = heavy armour + leg greaves (+3 hp), v = heavy armour + leg greaves + helmet (+4 hp), w = heavy armour + leg greaves + sleeves (+4 hp), x = heavy armour + leg greaves + sleeves + helmet (+4 hp)  
[if capitalised, character displays a family crest]

Third and subsequent digits: after the first two letters...
a 0 followed by a letter is an unequipped weapon or armour
a 1 followed by a letter is a foodstuff
a 2 followed by a letter is common equipment 
a 3 followed by a letter is uncommon equipment
a 4 followed by a letter is an occupational tool 
a 5 followed by a letter is personal trinket
a 6 followed by a letter is a religious icon to a specific race (letter indicates race)
a 7 followed by a letter is a magical focus
a 8 followed by a letter is a quest item
a 9 followed by a letter is a companion

Traits - next four digits determine the traits that might currently apply to a character

The first digit reflects traits that are predominantly physical: 1 = tired only, 2 = injured only, 3 = injured and tired, 4 = empowered only, 5 = empowered and tired, 6 = empowered and injured, 7 = empowered and injured and tired, 8 = knocked out [1], 9 = knocked out [2]

The second digit reflects traits that are predominantly mental: 1 = dazed only, 2 = confused only, 3 = dazed and confused, 4 = focused only, 5= focused and dazed, 6 = focused and confused, 7 = focused and dazed and confused

The third digit reflects other debilitating traits: 1 = poisoned only, 2 = diseased only, 3 = poisoned and diseased, 4 = cursed only, 5 = cursed and poisoned, 6 = cursed and diseased, 7 = cursed and diseased and poisoned 

The fourth digit reflects traits that are predominantly beneficial: 1 = waiting only, 2 = hidden only, 3 = waiting and hidden, 4 = blessed only, 5 = blessed and waiting, 6 = blessed and hidden, 7 = blessed and hidden and waiting

Skills - a variable number of digits determine the array of skills at the character's disposal

The first digit indicates how many skills in total are possessed by the character

The remaining digits in this section are a complete collection of the skills available (there are 60 total skills)

Edges - a variable number of digits determine the array of edges at the character's disposal

The first digit indicates how many edges in total are possessed by the character 

The remaining digits are in pairs.
        a c followed by a letter is a combat edge
        an i followed by a letter is an influence edge
        a k followed by a letter is a knowledge edge
        an m followed by a letter is a magic edge

Race Path - next four digits determine racial path level and any bonuses acquired

First Digit (Check digit): Should match the second digit in the string (if digit is lowercase, racial path may never achieve advanced progression beyond lvl 3)  

Second Digit (Levels in this Progression): 0 = just began this path, no progress yet, 1 = lvl 1, 2 = lvl 2, 3 = lvl 3, 4 = lvl 4, 5 = lvl 5, 6 = lvl 6

Culture Path - next four digits determine base cultural path and any bonuses acquired

First Digit (Check digit): Should match the third digit in the string (if digit is lowercase, cultural path may never achieve advanced progression beyond lvl 3)

Second Digit (Levels in this Progression): 0 = just began this path, no progress yet, 1 = lvl 1, 2 = lvl 2, 3 = lvl 3, 4 = lvl 4, 5 = lvl 5, 6 = lvl 6

Progress Paths - each subsequent four digits determine adulthood path and any bonuses acquired

First Digit (Path Identifier): a-z,A-Z = 52 general occupational paths, 0-4 = racial specific paths (cross referenced to second digit), 5-9 = culturally specific paths (cross referenced to second digit)

Second Digit (Levels in this Progression): 0 = just began this path, no progress yet, 1 = lvl 1, 2 = lvl 2, 3 = lvl 3, 4 = lvl 4, 5 = lvl 5, 6 = lvl 6

As you might be able to tell from the various races, and the current range of weapon selections, I'm tentatively running with a fantasy setting heavily inspired by Japanese folklore. Anything not specifically indicated by letters can be derived by a simple formula from those elements of a character that have been specified.

Character generation will follow 10 basic steps.

1. Where were you born? (N = 0010, E = 0100, S = 1000, W = 0001)

This starts the process of character generation. The location of a character's birth limits what races they might belong to, limits the types of cultures they might have been brought up in, and provides an inherent attribute bonus.

2. What blood runs in your veins? (Human, Fey, Naga, Ogre, Kitsune, Tengu, Oni, Kami)

Central: Human or Any 1/2 Blood Race
North: Human, 1/2 Fey, Full Fey, 1/2 Kitsune, Full Kitsune
East: Human, 1/2 Fey, Full Fey, 1/2 Naga, Full Naga
South: Human, 1/2 Fey, Full Fey, 1/2 Orge, Full Ogre
West: Human, 1/2 Fey, Full Fey, 1/2 Tengu, Full Tengu
(Oni and Kami are available anywhere, but only once a player has reached certain objectives within the game.)

3. What are you known for? (Fighting +1000, Silver Tongue +0100, Smarts +0010, Mysterious +0001)

Between the birth location of the character and this step, the base array of character attributes are determined. 

4. What kind of upbringing did you have? (urban, rural, military, cult, plains, ice, desert, forest, mountains)

Central: Urban, Rural, Military or Cult only
North: Rural, Military, Cult, Plains or Ice
East: Rural, Military, Cult, Plains or Forest
South: Rural, Military, Cult, Plains or Desert
West: Rural, Military, Cult, Plains or Mountains
(Just as Oni and Kami are unlockable races, I might include some unlockable cultures for players who have achieved certain exploration goals within the game)

5. What sort of job have you been doing? (apprentice, courtier, merchant, rogue, scholar, student, wanderer, warrior)

Anyone can start with any of these starting occupations. Some occupations may seem more appropriate to some race or cultures (and I might provide a bonus synergy level when this occurs, but I haven't specifically decided this yet.) 

6. Distribute 6 points across race/culture/role

A screen displays the race, culture and starting occupation of the character. The player distributes six points across them. A character may not spend more than 3 points on race if they are only half blooded, otherwise the expenditure of points is unrestricted.  

7. Allocate benefits from race/culture/role

Based on previous choices, if a character has accumulated any skills, they now get the opportunity to specify what those skills might be. They then get the opportunity to specify any edges they might have acquired (it is specifically done in this order because many edges have prerequisite skills that need to be acquired before they may be selected.)

8. Select two starter item packs

Depending on the homeland, race, culture, occupation, and whether or not certain edges were chosen, a range of starting equipment options will be provided. A player will be able to choose two of these for their character.
9. Choose a name

I'm in two minds about this, but at the moment I'm tending toward the idea of having a specific list of given names and family names. The range of given names will be determined by the birth location, the race and the occupation of the character (maybe 10 of each). The range of family names will be determined by the race, and the culture of the character. This ensures characters have names that match the context of the setting and the choices they've made so far. Name will also help contextualise the character from a gender perspective.

10. Choose an image (maybe)

I'm thinking of a modular "paper-doll" approach to character images. A few basic image structures with a couple of modular components indicating different hairstyles, adornments, colourings, etc. I haven't included the image functionality into the string, but this would probably be added as two more digits integrated into the "name" element. Additional components might be added into the character image based on equipment chosen (eg. armour, necklace, family crest, etc.).

After this, a character is ready to explore the world, and ready to be encoded into a string. 

14 October, 2016

The Fundamentals Underneath

I basically know how my character string is going to work. There will be fixed elements of the string that are common to all charactes, and there will be variable length elements that will accomodate themselves to the specific character in question. In total, a starting character's string will have around two dozen glyphs in it, while an experienced and heavily laden character might have up to twice this number.

One of the ideas feeding into this project was an online method of keeping track of LARP characters, and the larp system I developed for a new group (Southern Highlands LARP) has been lingering in the back of my mind. The group in question end d up going with a less complicated rule set, based heavily on previous games in the region, but this rule set of mine has been an ongoing evolution of ideas, stretching back to the work I did last year on the Darkhive, and echoing back through earlier work over the years.

Characters have 4 core attributes:

  • Combat - which basically covers fighting skill and physical activities
  • Influence - which basically covers diplomacy, social activities, and doing things behind the scenes
  • Knowledge - which basically covers intelligence, and most non-combat mundane activities
  • Magic (or Mysticism) - which basically covers anything magical or supernatural

Characters also have skills and edges. Skills are things they've learnt over the years, they open up access to specific pieces of equipment and edges, and provide bonuses when they are applicable. Edges are more distinct in what they provide, often in the form of weapons able to be used, extra hit points, spells to be cast, combat techniques, ways to specifically manipulate people socially, etc. Edges are associated with specific attributes and typically require prerequisite levels in those attributes, along with possession of specific skills (and/or othe edges) before they may be acquired.

This set up is fairly common among the existing LARPs running through Sydney (and it's surrounds). The point of difference is applying a "warhammer-esque" career progression system to the whole thing. This system is made up of discreet "paths" each with 6 levels, at the end of every game (or month, or whatever) a character in the LARP would automatically improve a level in at least one of their paths.

Each path follows the progression:

  • Lvl 1 - first skill selection from the 6 options normally associated with this path
  • Lvl 2 - edge selection from the attribute edges most commonly associated with the path
  • Lvl 3 - increase in the attribute used for the edge selection in level 2
  • Lvl 4 - second skill selection from the 6 options normally associated with this path
  • Lvl 5 - edge selection from the attribute edges less commonly associated with the path
  • Lvl 6 - increase in the attribute used for the edge selection in level 5
  • Special Edge: while a character is currently following this path (or once they have mastered all six levels in the path) they gain access to a path specific edge.

As an example:

Town Guard
  • Lvl 1 - choose a path skill
  • Lvl 2 - choose a Combat edge.
  • Lvl 3 - +1 to Combat Attribute
  • Lvl 4 - choose another path skill
  • Lvl 5 - choose an Influence edge
  • Lvl 6 - +1 to Influence Attribute
  • Special Edge: Town guards may carry manacles to imprison other characters, and may issue bounties on characters designated as criminals (maximum bounty = guard's Influence attribute x10 gold).

All characters begin with 3 paths, one racial (defining the genetic heritage of the character), one cultural (defining the upbringing of the character), and one occupational (defining the character's job when they start play). All characters start with 6 levels that they may distribute across these three initial paths, then for each game they play, they may add a level to any of their paths, or may switch to a new path (as long as they have met the requirements of the new path...which may come in the form of minimum attributes, required skills/edges, or completion of an in-game quest).

From the LARP perspective, attributes don't provide any inherent bonuses of their own, instead they merely open options for different paths to be followed and more potent edges to be acquired. From a browser game (or augmented tabletop RPG) perspective, attribute might need to take on a more significant role.

13 October, 2016

But what do we want?

in the last post, I described a hypothetical string that might describe a character in the game Dungeon Robber. There are a few ways that the string could be refined.

Firstly, there were big chunks dedicated to the carrying of coins that might not even be applicable to the fharacter. These could probably be minimised with an identifier that recognises alphabetical and numeric components separately. I think Dungeon Robber has five coin types: (c)opper, (s)ilver, (e)lectrum, (g) old, and (p)latinum. That bit of the string could see the parsing algorithm look for the various letters representing the relevant coin type, starting with the next string digit it identifies a numeric value to show how much of that coin there is, and as soon as it hits the next coin type, it stops...before progressing through the same procedure with the next coinage. A starting character has no coins at all, and their string might simply read "csegp", a character after a few games might read "c1500s2000eg50p600". Some specific digit might be used to close off the sequence. Suddenly instead of a 20 digit string that may or may not be used, we have a variable digit string, with a minimum of 5 digits to reflect the five coins, and no limit on how long the string may be therefore eliminating the potential wealth limit for the characters.

Something similar could be done for character names, but instead of using alphabetical bookends for the string, it might be better to use a tilde (~) at either end of the name, with everything between the symbols recognised as the "name" part of the string. I would avoid using periods (.) or commas (,) because these might serve programming functions to break up strings in certain programming languages (or concatenate them in the case of php). Another way to do this without needing separate bookends for start and end of a sequence might be to designate a string length with a character. Maybe the coding starts at a certain point in the string, then recognises the character present at this point as a length determinant. 1-9 are obvious, then a=10, b=11, c=12....y=34, z=35...that should be plenty, but if you wanted to go further with string length you might then cycle through capital letters...A=36, B=37, C=38...Y=60, Z=61.

The simple name "Tim" would be rendered in the string as "3Tim" before moving on to the next element in the string... "Alessandra" would be "aAlessandra". To break up the given and family names, it would be possible to add a second sequence length identifier...thus, my own name would be rendered in the string as "7Michael6Wenman". But doing this would require a distinct limitation in the programming for generating a given name, then a family name (or vice versa), it wouldn't allow for the flexibility of spaces in a name such as "Sir Eric the Brave, Slayer of Dragons". Theoretically we could add another sequence length identifier to identify the number of sequences that make up the total sequence, but this is getting a bit meta, and a bit complicated in programming (to the point that I can easily see the scope for bugs appearing). For the sake of argument though, "Tim" and "Alessandra" as a single name, would be rendered "13Tim" and "1aAllesandra". My full name would be "37Michael4John6Wenman", and our complcated case would be "73Sir4Eric3the6Brave~6Slayer2of7Dragons" (you'll note that I've added a tilde instead of a comma after the word "Brave", this is again done purely because the comma might prove problematic and is easy enough to substitute in coding/decoding). Conveniently, as a check digit, the number of characters in the name string is equal to the sum of the numerals breaking it up plus one. The flexibility of this option might prove useful...it's just a case of determining if the usefulness outweighs the potential for bugs.

If the computer program generates a character sheet for the player to look at, we might consider a maximum cap on the name length, to make sure it fits in the designated area of the sheet, but otherwise this flexibility is fine.

That's probably enough about string manipulation for the moment, let's look at what will actually make up the string in this game.

Character name, character race, character culture,  attributes, skill and abilities, equipment, career path progression, honour vs notoriety, money... and a bunch of stuff derived from these values.

Butbefore that makes sense, I'll need to explain the structure of the game.

12 October, 2016

Character Strings

If you've been reading through the last few posts, you'll know that the strings I'm talking about here are not the same ones discussed in Monsterhearts, instead I'm refering to a string of digits that can be entered into a website as a password. Once entered, the string of digits passes through a filter subroutine in the website, producing a character that integrates with all of the various systems and subsystems in the online game. 

To describe my intentions here I will use an online game with a similar concept as my core model. 

A character for Dungeon Robber could be handled pretty easily, it follows the standard D&D six attributes, besides these, characters have:
  • A name
  • A number of experience points
  • Coins carried
  • A range of equipment in their inventory (spells are included here)

Pretty much everything else can be derived from these figures.

The attributes are even streamlined further, either you have a "high" attribute or you don't (where "high" attributes give you a bonus to certain in game effects). All characters have 2 "highs".

We could easily define this type of character with the following string (where brackets are included purely for the sake of breaking up the string, to make it easier to explain...they wouldn't be included in the live version of the string)...


...where the first six digits indicate the six attributes. Maybe giving them 1's if the attribute is "high" and 0's if the attribute isn't. 

The seventh through twelfth digits of the string would be the character's experience points. that gives you a potential of 999,999 XP to accumulate.

The thirteenth through twenty-eighth digits are the character's name (which can be up to 16 characters long). 

Digits thirty-nine through fifty-eight are broken into five digit chunks. Each of thesse defines the amount of a specific monetary unit possessed by the character. Copper Pieces, Silver Pieces, Gold Pieces, Platinum Pieces. A character can have up to 99,999 units of each...which is probably far more thaan they'd actually accumulate in game.

Any digits thereafter are pieces of equipment, including weapons, armour and other things picked up along the way. 

Anything else about the character is derived automatically from these values.

  • Character level: derived from XP
  • Hit points: derived from a combination of Character level and whether the character has a high constitution attribute.
  • Armour class: derived from characters dexterity attribute and any equipped armour/shield/etc. in their possession.
  • Damage: not really seen as a specific thing on the character sheet, but this is derived from the equipped weapon, and the character's strength attribute.
  • Etc... (a lot of things are derived from these attributes on the fly, such as bribing henchmen as a derivative of the charisma attribute, and you don't actually see them on a character sheet)

Given the simplicity of the game, you could probably compress this string further.

With two attributes high, and a total of six attributes, they could probably be defined by a single digit in the string. 

A =110000, B =101000, C =100100, D =100010, E =100001, F = 011000, G =010100, H =010010, I =010001, J =001100, K =001010, L =001001, M =000110, N =000101, O =000011

Everything converting that single digit into useful values is handled by a subroutine in the program. No human intervention required.

Next post, I'll look at the specific string I'm planning to use to define characters in this new game idea I'm working on.