Wednesday, December 7, 2022

NaGaDeMon 2022: The Classroom Mob Programming Game

In a rare inversion of media, I already announced my 2022 National Game Design Month project on YouTube before writing about it here. The project is Classroom Mob Programming Game. Visit the site for all the details.

My inspiration came from playing Willem Larson's Mob Programming RPG with my students in CS222. I played it last Spring for the first time, prompted a pair of blog posts about the experience [1, 2]. I played it again this Fall with my students and had a similar experience. I wrote some about how I framed the project in my only other NaGaDeMon 2022 blog post. Here, I want to talk a little about how I brought the pieces together to finish my project last week.

I did not make a lot of progress on the project for the first part of November. I kept ideas simmering but did not put pen to paper very often. As I pulled my notes together, I also had to determine how I would playtest it. Normally, my family provides a convenient testing group, but this game was designed very specifically for my CS222 class. That is, the game was designed for sophomore Computer Science majors and minors who are studying techniques of agile software development. I also didn't want to use my own CS222 class as testers since we already spent two days on Larson's game plus another class meeting to debrief and review from the experience. Also, my students would not be good testers because they already know what the game is supposed to teach: fundamentals of mobbing.

I reached out to my two colleagues who are teaching the other two sections of CS222 this semester to find out if they would send students to an after-hours playtesting session. Turns out, they both independently invited me to come to their class meetings to present the game to the whole class. This was invaluable for two reasons: first, it gave me two opportunities on sequential days to do testing; second, it gave me deadlines by which I had to have iterations ready.

Here are some of the most important properties of my game as viewed in comparison to Larson's.

  • Support multiple teams mobbing in the same classroom at once.
  • More deliberately scaffold students toward good TDD practices along with introducing mobbing
  • Fully completable in a 50-minute class session
  • Rather than add new playbooks as players level up, they unlock new actions that earn them XP, but the number of XP needed for the next level also increases
My game has some PbtA sensibilities, but it looks less like one than Larson's. It's more of a traditional RPG in that you have a role and earn XP, but without the emphasis on playbooks and actions.

The first test went well, but there were several loose ends that needed to be tied up. I had created an ostensibly balanced scoring system to support competition between teams. In practice, it was too fiddly to compute, and some individuals computed their scores incorrectly while others simply threw up their hands and guessed. I almost completely removed scoring from the game for the second playtest, and I don't think anyone missed it. I wrote up a much simpler scoring system that is provided as an optional addition to the game. I fixed some errors on the handouts, but more importantly, I made significant revisions to the actions. The first group of testers had a hard time getting into a red-green-refactor rhythm, even with some gentle prodding from their instructor.

The second playtest went much better, with simpler scoring and better actions. Players don't just get more actions as they level up, but some of the actions actually change forms for better scaffolding. The best example is in the Navigator role, where there is a series of actions that evolves like this:

  • Level 0: Describe a desirable, failing unit test--the "Red" in "Red-Green-Refactor"
  • Level 1-2: Hold the team to the appropriate step of "Red-Green-Refactor"
  • Level 3: Complete a "Red-Green-Refactor" cycle

After the second playtest, I also completely rewrote the game's instructions to follow a more logical flow. Those interested in the details of the game evolution can always check out the commits made on Nov 29 and 30, the dates of the playtestings.

I am eager to use this variation on the game with my CS222 class next semester. I am also considering framing it as a research project, but I need to determine if I will have the spare cycles to pull that off, given my other responsibilities in Spring.

Thanks for reading! I would appreciate if you can help spread the word about this game to folks who may be interested.

No comments:

Post a Comment