Tools: Unity, Figma, Clip Studio Paint, Notion
Skills: Programming, Game Design, UX Research, UI Design
I designed and developed Joker, a turn-based strategy game, during the spring term of 2023 to facilitate the study for my master's thesis, “Using AI-Supported Onboarding Systems in Video Games to Improve Player Experience”. I created a new game rather than use an existing game for two reasons: first, because this form of onboarding research required that participants had never played the game selected for the study beforehand, and creating a new game meant giving myself the broadest participant pool possible. And second, because I also just wanted an excuse to make a game.
You can play the final game on itch.io with the password "thesising". If you would like to view the source code, please reach out to me through the contact info provided on this site.
First things first: how could my master's thesis be an excuse to make a game? It's a great question. I've also got a great answer: within-subjects studies.
For my thesis, I wanted to run a within-subjects user study—basically, every participant experiences all “conditions”, and can then compare their experiences. My thesis topic examines AI-supported onboarding systems, so I wanted my study to have two conditions: the “base” game as the first condition, and the same game with an added AI-supported onboarding system as the second condition. And while it may have been possible to use an existing game for the first condition and just build a system on top of it for the second condition, with my skill set it was just easier to design a game specifically for the purpose of my study.
Goal: Create a game to facilitate a within-subjects study on user experience
Because Joker was made specifically for a study, I made some design decisions to make things easier for my future self. Firstly, I decided to use familiar game elements such as playing cards and a chessboard to create an unfamiliar game. This made it so that players could focus on learning new game mechanics during onboarding, rather than also having to learn what a card suit is, or that each square on a chessboard can only hold one unit. And secondly, I made the game as cognitively demanding as I possibly could.
The reason for this was that a large aspect of my thesis was examining how AI-supported onboarding impacted cognitive load. If the game was too easy for players to learn on their first try, then there wouldn't be a need for onboarding in the first place.
Once I had solidified Joker's basic gameplay mechanics, I created some assets in Clip Studio Paint and sketched out the game's layout in Figma. After that, I then rolled up my sleeves and climbed back into the ring with Unity for another round.
Ah, Unity. Bane of my existence and beloved of my heart. How I loathe to love thee.
Jokes aside, the programming process went pretty smoothly. I spent a few months going into the programming mind-chamber for twelve hours straight, and slowly chipped away at my Notion board of to-dos one card at a time. There was a minor hiccup near the end when Unity forced student plans to have a watermark as part of the Big Unity Incident In 2023, but that was easy enough to fix.
After I had a relatively bug-free game, I then kidnapped various members of my lab to playtest, and incorporated their feedback into each iteration. I also iterated on the design of my study during this time, and overall Joker went through two major revisions before settling on the final version for my study.
The final version of the game introduced a rulebook that replaced the too-long tutorial, and additionally limited the AI's suggestions to card combinations only. This gave players more freedom than the previous versions: rules-focused players could take time to read the entire rulebook before playing, while game-focused players could skip reading and get right into the game, but still have access to it when they needed help. As well, limiting the AI to card combinations increased player engagement, since they could no longer blindly follow the AI. They now had to decide where to place units, where to move them, and which enemies to attack all on their own.
Finally, due to a large number of playtests ending within minutes because of players not realizing that their joker was in danger, I added a "danger highlight" to both conditions for when either of the joker units were in danger. This helped players recognize both when their own joker could be killed, and when they were able to kill the opponent's joker... and additionally reduced the number of instant-death playtests by 100%.
Overall, Joker successfully facilitated my within-subjects study and helped me complete my master's thesis. While I don't have plans to turn this into a proper game (as the core gameplay is built on the concept of “facilitating a study” rather than “being a fun game to play”), I learned a lot about game development and user research over the course of this project, and I'm excited to incorporate what I learned into the games I make in the future.