proto game loop