Design Character Sheet Model, Storage, and Attributes
Closed this issue · 2 comments
mikelax commented
Overview
In order to allow a user to join and actually participate in a Game, they will need to be able to create a Character to use for a Game. Having a character, and posting as a character will help give the Game a better theme and feel, as opposed to posts coming from "the user".
Requirements
- As FA support multiple different Game Engines, and the rules engines for each distinct RPG rulebook can be quite complex, we will implement Characters in phases. FA will define a (very few) basic attributes that we will say every character will have. A Character will then have additional attributes that will be based on the given "Game Label" selected while creating the Character.
- Once a Character has been created with a given Game Label, the User will not be able to edit the Game Label, it will be to complicated. They will have to create a new Character.
- A Character should only be able to participate in a single Game at a time.
- A Character should have a concept of a basic Audit Trail. This will allow the user, or GM, etc to be able to track Changes to the Character and see the progression over time.
- It can be a basic table that will show fields: User that made change, timestamp, text description of change (composed of field, old value, new value).
- Implement Character List that can return all characters or available ones. Available would be ones that aren't already in a Game.
Character Attributes
Here is the list of attributes that will be defined columns on the characters
db table.
- id
- name
- userId - fk to
users
table - labelId - fk to
game_labels
table - profileImage - jsonb, nullable
- created, updated, deleted
TODO
Tasks
- db schema & migrations
- db seed files to load some sample data
- objection models, apollo queries & mutations
- Implement Character List on Profile Page
- Select existing Character when Joining Game
- Select existing Character on Game -> Players Tab
- Display "Still working on it" for Users that haven't selected a Character yet
Resources and Links
- A really simple and clean 5e character sheet (Google Drive PDF).
- This sheet really show the basic attributes and features to track that would cover the 80-90% of player usage.
- BGG PbP Character Sheet Templates.
mikelax commented
@nazar here is the start of what I have for characters. Going to start working down the Task list, depending on progress might split some tasks into separate tickets.
nazar commented
A Character should have a concept of a basic Audit Trail
❤️