Core game functionality