Want to be a better programmer? Try board games!
Yesterday, you were developing land only to realize that freeways devalue the residential properties. Instead, you decide to add a community park next to residents and they love you for it. Your intelligent decisions gave you an impressive reputation and you were smart about allocating your funds. You have successfully built the best Suburbia!
Tomorrow, you will be trapped in the Dead of Winter, fending off flesh-eating monsters and struggling to meet your needs as well as those of the other survivors. Conditions are tough, morale is low but risks are only made worse when you discover one of the survivors is sabotaging survival efforts. What will you do? How will YOU survive?
Strangely enough, these scenarios sounded like the comic book interpretations of my former career.
While developing a business plan, finding meaning to this business beyond simple fun and games was vital.
It stands to reason that tabletop games are a great way to break through learning disabilities or simply address critical development needs in children and adolescents, but the same can be true for even the most seasoned professionals.
How many times a week do you find yourself deciphering the missing pieces between theory and the difficulties of actual outcome?
While playing board games, you are required to adhere to an imaginary set of rules and boundaries within a predefined goal while thinking through many consequences and actions that will result in a positive or negative outcome. Then, you play out your strategies against uncontrollable variables - mainly your companions, but in some cases the game itself provides resistance.
For the more intricately developed games, repeated game play never plays through the same story and/or strategy twice, requiring the constant practice of evaluation and trial & error. Regardless of complexity, playing a game provides a fun and convenient distraction that potentially exercises the mind.
Games can also be used for strategic planning. With board games, each component of a game is designed to convey an effect within a limitation. When broken down, each game has it's own language and each component is a tangible piece of code. Each piece of code limits and enhances the effects of other pieces of code. Each command can be broken down and followed using a common but complex flow chart.
Consider your next project and let's reverse this...Instead of jumping from flow chart - to white board - to diving into code, consider taking a detour to design a game around it. Experiment with components, story board and composition. Remove the complexity of coding, bugs, patches and fixes just to focus on action and consequences. Use play testing with peers to test out scenarios and control gaps in logic.
MIT (Massachussetts Institute of Technology), as an example, recognized the value and focused on the study of non-digital game development as part of their Game Design course. This was a prerequisite for the Designing Video Games course. (They also offer an archived version of this course to the public where they bridge the gaps between the two media - linked for those who may be interested.)
Whether you choose to simply immerse yourself in game play for fun or you choose to commit to design creation, tabletop games such as board games provide great exercises in perspective, theory, decision-making, creativity, strategy, commitment, patience, cooperation, negotiation, and development.
Perhaps this subject goes beyond computer programming and you will find the value of board games in your daily life and profession.
I thank my fellow programming and IT friends for introducing me to some of my all-time favorite games over the years. What seemed like sheer amusement and distraction with games proved to be integral to the creative and analytical growth of my past career. I imagine they have experienced the same results.