So I’ve been trying to work on a college wrestling simulation video game, nothing too serious. Just trying to get some practice in another field of Python. However, I am working on the models for the character and I am stumped on the best design to do this. My idea so far is to create a Person class that has all the static fields of a character, so their unique id, name, dob etc. These would stay consistent for each character throughout the game. Then, I would have a PersonState class which represents some variable attributes of a Character, so their Morale, Fatigue, personality traits etc. But they would updated, as the game progresses. Then I would have various class for characters based on their roles. So I would have a wrestler class, that has their dynamic attributes for a wrestler, so grappling, defense etc. these would change over time. I would also have one for coach, with various attributes with a coach, one for an athletic director etc.…