generation and init game