Building game logic based on the atomic approach (in short, this is an approach similar to ECS, but the systems are contained within the entity, maintaining the separation of data and logic)
Building an interface separate from the game logic, based on MVX patterns
Building a fully controllable game loop (used, for example, for pausing)
Creating a modular data saving system
Implementing controls using an input system. Adding touch controls for phones
Implementing a 2D lighting system using generated normal maps