I'm trying to implement a roguelike movement system for my game. I'm using the ECS architecture.
The requirements are:
- entities will have a mass, on which should slow down the entity movement accordingly. fatty ones move slower
- there will have different terrains, that should apply different friction types, eg: ice will decelerate the entity slower; a quicksand will almost stop the entity immediately and so on.
- there will have different weathers that should also impact on the entity movement, eg: sandstorm would push the entity to it's direction; rains will diminish the friction coefficient a little bit etc...
If the two first requirements are solved, the third will probably be as well, I think. How would you do this?