refactor game startup and initialisation