I want to make a simple game where I have some characters fighting on a plane (level). I find the trickiest part as figuring out who should do what here.
I want my terrain to have friction (so you could play on ice).
I also want fairly customizable characters.
At first I was thinking of a mediator pattern where the game gathers information about the current player state and modifies them based on that, but I do not think this offers enough flexibility.
I was thinking more along the lines of each player / character does have some logic.
The Input from the game gives it the command the player pressed, then the character would load the correct animation for this.
As for friction and whatnot, I was thinking that the world would somehow need to multiply the player's velocity vector by its coefficient of friction. Because I don't think the player needs to know about the level (and preferably the level does not know about characters)
It's in these little design aspects that I get a bit confused.
Is this a good design? What could be improved / changed / added given what I want to do?