Open jtkaufman737 opened 5 years ago
Just a bit of brain dump here:
character: {
name: String,
# to reference back to a User
user_id: Int,
# I think `stats` and `abilities` are the same thing in this context, though we should
# settle on verbiage early on
stats: { ... },
# similar to `inventory` or `equipment`
inventory: []
}
re: Abilities: I think abilities
are more like skillsets, like spells or other things - not sure if that's something we want to implement (cc: @tyberious-1 )
re: Inventory: I feel that inventory
should be the stuff that a character is carrying and equipment
or item
are the singular things that's in an inventory. Thoughts here?
I like the idea that the Inventory
should be a separate table + model. Any cons to this you think? I'm just trying to think of when we load up a character, how big are these query calls going to get...?
Yeah, I can see that - we could have an inventory model and then maybe a bool for "currently equipped?"
So that is the long and short: I guess I either see us splitting a lot of this stuff out from character into different tables linked on Character ID with a one to many relationship, or lumping them into a flat(ish) data structure that could be dealt with uniformly (the normalized option). I'm ok with either. That leads to an interesting question, I had originally pictured money as part of the character model - but it is closely functionally linked to the equipment obviously.
I think this is really great and there's some long term thinking here that we might not be ready to cross just yet. What do you think we'll need / should nail down from the super early release perspective? I think for me it may be just:
character: {
name: String,
role: String, default: 'fighter',
race: String, default: 'human',
user_id: Int,
stats: { ... }
}
I'd be open to getting stats
nailed down but I'm not sure what that entails from the rule book perspective. Thoughts?
PS: If we're going to nail down stats - maybe think about how we define the values or does everybody have a default baseline?
PPS:
Also loved the money
idea - there's so much we can do there...
Things that need to be persistent/universal I'm trying to include, things that aren't/don't I'm trying to leave to the frontend logic. There's some grays areas in that though so chime in.
The alternative I guess to dumping them in normalized tables or one big normalized table would be just having smaller other tables for each of these things - abilities - equipment - etc and dealing with it through joins as it comes up. (Although may be six in one, half dozen in another - both kind of get at the same point).
A SECOND alternative mentioned is that abilities may be an exception - they are going to be pretty universal to characters so maybe including them as additional columns is fair game. But maybe not the other stuff