Simplicity
Celeste is widely regarded as having fluid movement and tight controls. However, the source code for the movement is over 5,000 lines of code in a single file. One of the goals Momentum has is to simplify the code and make it easier to work with while also maintaining quality controls. Although we lose some of the tricks that make Celeste’s controls so good, we get simplicity in return.
Modularity
Momentum uses a State Machine approach where each State defines its own behavior with a little bit of inheritance for grouping states together. The main benefit to this approach is that modifying one state does not result in you having to change other states because each state is isolated from each other.
Extendibility
Because of Momentum’s modular and simple approach, adding new states is easy. Make a new state, add its logic, and add transitions to the new state from other states. This allows you to add features that might be unique to your game.