gonna be honest , it's not bad concept , i would've used other language not python for it , but it's still something that can be used , instead of writinf the game function , you'll only use
createWindow(800,600)
Player player = new Player(10,10)
if(input = key.d)
player.velocity = 10
and so on... , nice tool cant wait for it to be finished
also write a level loading system for tile based games , like