game.m: added init function, abstract game ADT, init phase