Main game framework