update GameApi and change game to self-contained