Though a game is not a typical piece of software, its design doesn't differ much from regular application design. We will start with the main entities and decompose them further into classes and their relationships.
In the previous section, we discussed all the necessary game components and their interaction. We did a requirement analysis and gathering in terms of the project development life cycle. Now, we'll start designing the game.