Monday, September 26, 2016

Daily - CT was built for Gaming

Last week, Grover and Pea suggested that there were nine widely accepted elements of computational thinking (2013).  Of these elements, many of them are represented in gaming. I believe that Conditional logic and structured problem decomposition are the two elements that most closely associate with game design.

Conditional logic is a concept we understand as programmers. It generally involves an if/than statement. Young children who have never coded before also understand conditional logic, because it's written as part of a game: In order to defeat Boss X, you have to have Item Z in your inventory. In order to access the "Air" level in Zelda, you have to have completed the "Water" level. If you don't, the game will not let you win. Children know this instinctively, but in creating the games themselves programmers have to formalize these rules for conditional logic. Those rules are IMO what makes it a game in the first place.

Structured problem decomposition is another major aspect in game development. How does a game designer represent the "hero's journey" as a problem or series of problems to be solved in the game. Further, the individual problem will likely have several aspects that must be further decomposed. This process goes on and on until the detail is simple enough to be represented in code, before it is reassembled back to its original, complex status. The idea of systematically breaking down a complex problem to smaller pieces, and from them into individual aspects is a key part of game design.

Many of the earlier blogs addressed that playing games is clearly conducive to CT, but were hesitant about developing games as furthering CT. If we take the computer out of the equation, and simply look at elementary school recess, we will find many of the elements at play there as well. Conditional logic is about following the rules (which are sometimes quite complex and can be made up on the spot). Systematic processing of information happens in any recess game with multiple players moving around (four square, tag, tetherball, dodgeball) and abstractions and pattern generalizations happens quite often too (Deciding which set of people to attack in Red Rover, to strategizing for sports.)

I think there are many ways to address computational thinking in games, especially in creating games, as long as we remember that CT is a way of thinking, a means to an end rather than an end of itself.  

No comments:

Post a Comment