dustinian.com: Character Manager 

Character Manager

Summary

Build and manage characters for the Basic Fantasy Role-Playing Game.

Materials

To facilitate the character manager, I've put together a few documents. In case anyone may find these documents helpful, I'm providing them here.

Project Plan

I'm building out the below "project plan" as a way to keep track of my notes and ideas on the Character Builder as the idea matures.

  1. Write requirements.
    1. Convert core rulebook to HTML5.
    2. Write user epics/stories.
      1. Users need to build characters because it should be faster than pen and paper.
        1. User [rolls/enters] ability scores.
          1. System derives bonus/penalty for each ability.
        2. User selects race.
          1. System only allows the selection of races when prime requisites are met by the ability scores.
          2. If a user attemps to select a race where the prime requisites are not met, a descriptive error message informs the user of the issue.
        3. User selects class.
          1. System only allows the selection of classes when prime requisites are met by the ability scores.
          2. If a user attemps to select a class where the prime requisites are not met, a descriptive error message informs the user of the issue.
          3. System adds class-specific abilities.
          4. System adds class-specific saving throws.
          5. System adds class-specific attack bonus.
        4. User [rolls/enters] hit die. *add con bonus
        5. [If magic-user / cleric] user selects spell(s).
        6. User [rolls/enters] starting money.
        7. User purchases starting equipment.
      2. Users need to modify characters becuase they need to level up between games.
      3. Users need to modify characters becuase they need to purchase equipment between games.
      4. Users want to modify characters becuase they need to keep journal/campaign notes between games.
      5. Users need to print characters because they need to take them to games.
      6. Users need to share characters because their GM wants to approve the build.
      7. Users want to include supplaments because they're optimizers.
      8. Users want to exclude supplaments because their GM may limit what they can use.
      9. Users want to play from their phone/tablet because they can play anywhere, anytime..
      10. Users want to export/import characters because they "trade" characters with friends.
      11. Administrators want to add/modify races because adding features shouldn't require development (within reason).
      12. Administrators want to add/modify classes because adding features shouldn't require development (within reason).
      13. Administrators want to add/modify spells because adding features shouldn't require development (within reason).
      14. Administrators want to add/modify items because adding features shouldn't require development (within reason).
    3. Write use cases.
  2. Develop prototype in LibreBase.
    1. Build tables.
      1. Import "spells."
        1. ID MEDIUMINT NOT NULL AUTO_INCREMENT,
        2. Spell TINYTEXT NOT NULL,
        3. Range TINYTEXT NOT NULL,
        4. RangeSQL TINYTEXT,
        5. Duration TINYTEXT NOT NULL,
        6. DurationSQL TINYTEXT,
        7. Description TEXT,
        8. Reversable ENUM('No','Yes') NOT NULL,
        9. PRIMARY KEY (ID)
      2. Import "items."
        1. ID MEDIUMINT NOT NULL AUTO_INCREMENT,
        2. Item
        3. Description
        4. Type ENUM('General', 'Armor and Shields', 'Weapons', 'Beasts of Burden', 'Vehicle', 'Siege Engine') NOT NULL,
        5. Cost
        6. Weight
        7. PRIMARY KEY (ID)
        1. (Armor and Shields)
        2. ID MEDIUMINT NOT NULL AUTO_INCREMENT,
        3. Type ENUM('Armor', 'Shields') NOT NULL,
        4. AC
        1. (Weapons)
        2. ID ENUM('Melee', 'Missile'),
      3. Import "abilities."
      4. Import "classes."
      5. Import "races."
      6. Import "experience."
      7. Import "hit dice."
      8. Import "spell progression."
      9. Build "characters."
        1. Build "transactions" (items bought, sold).
          1. Character_ID MEDIUMINT NOT NULL,
          2. Transaction_ID MEDIUMINT NOT NULL AUTO_INCREMENT,
        2. Build "spell book" (known).
        3. Build "spell slots" (equipped).
        4. Build "journal" (gold, treasure, experience, items used).
        5. Build "hit dice."
    2. Write queries.
      1. Initialize Character
      2. Learn Spell
      3. Transaction *buy/sell item
      4. Level Up
      5. Write Journal
    3. Design forms.
      1. Initialization Wizard *class descriptions, race descriptions, etc.
      2. Character Sheet
      3. Shop
      4. Journal
      5. Spell Book
    4. Deploy character builder.
    5. Tweak character builder.
  3. Migrate to SQL/PHP.
    1. Develop authentication framework.
    2. Migrate tables.
    3. Migrate queries.
    4. Redesign forms.
    5. Deploy character builder.
    6. Tweak character builder.

Downloads