barebones game logic