TGameEngine.Create(LoadImage(DATA_PATH + "back1.png")) TGameEngine.StartGame()
I changed it so GameEngine was an object of TGameObject as you can see from the above code. Therefore The GameEngine becomes an object and is added to the GameObjects list first, making it 1 object in the GameObjects List before the ball is even loaded.