You know, as far as my humble knowledge goes, the mainstream game programmers are going for ECS paradigm, thinking of games in a data driven style rather than OO style, and although popular game engines are still inclined towards a more OOP approach, this is only for ease of use, but huge projects would approach the programming differently. This is why I believe what you are doing is really important. With the limitations you are setting , you are forcing yourself to think in a data driven way, and this exercise will render itself very helpful. This is also why I might be interested in making GB games in ASM, so count me in :D