I’ve started working on my Monopoly Deal port after a long hiatus. It’s still a long way off from being complete (or even playable), and I’ve had a think as to why this is the case.

Making a game involves a lot of parts, and if I spend a few hours working on it, I feel like I haven’t made a lot of progress. I think this is because I’m working on a little bit of everything at the same time! I think the core aspects of bringing a physical game into the virtual world breaks down like this:

  • Modelling certain aspects in code:
    • the physical attributes, such as any cards, the playing board, and anything else that comes in the box.
    • the players themselves and their ownership of things in the game, such as their cards, money etc
    • the actions that a player can take, and any reactions from opposing players
    • the game mechanics themselves, such as who can take turns, when the game ends, etc
  • The user interface
  • The AI of NPCs

And that in itself is not the entire game itself, there are some tertiary tasks such as:

  • Any graphical elements in the user interface
  • A tutorial to help users to learn the game
  • Statistics from gameplay
  • Achievements

So all in all, a lot of work in many areas, although that second list is optional. Though unfortunately, I’m still working through the first list.