Original Post
Hello! In many of my game projects, I end up having a quite monolithic "Player" class. The thing is, in a game, the player does have a lot of possible behavior: if I take the example of a Super Mario Bros. clone, the player class would have to handle walking, running, jumping, shooting and swimming mechanics, to name a few. Is there a way to split up such behavior into separate classes in order to make the code more manageable and maybe facilitate code reuse for NPCs? I'm open for suggestion for entity class hierarchy and component-based entity models, or anything in-between. Thanks!