Ninja

About
Led the design and development for a computer video game and designed an experimental research experiment. For several months, I developed the game by myself for the experiment.
Results
Presented  research findings at my Spring 2014 honors project symposium
The Game
Introducing Ninja
Ninja is action platform computer game with over 20 levels and a dynamic difficulty system. The game becomes easier or more difficult depending on your performance.
Unique Themed Worlds
Ninjas has five unique worlds. Each has their own theme, enemies, map styles, and dangerous terrain.
Epic Boss Fights
Complete two boss fights to finish the game. Zig zag through obstacles and avoid the grim reaper. Or, challenge him to a duel to see if you're stronger than death itself.
My Process
Exploring Existing Research
To come up with an idea for research, I started exploring what others have done. I was particularly interested in flow, fiero, dynamic difficulty adjustment, and game design.

I then conducted literature reviews on these topics. I eventually found two great papers that were based on Jenova Chen's and Davin Pavalas' previous work on flow, which led me to explore the link between flow and dynamic difficulty adjustment.
Screenshot of the video game "fl0w" by Jenova Chen
Experimental Design
I started thinking about how you could use dynamic difficulty adjustment to consistently remain in the state of flow. My hypothesis was "by dynamically changing the difficulty on the environment in video games without player choice, the state of flow will be higher than when dynamically changing the difficulty on the player."

With a hypothesis ready to be tested, I had to finalize my experimental design. My experiment consisted of:
  • Participants groups split based on two conditions: changing the player or enemies movement speed
  • Participants playing the game for 20 minutes
  • After playing, they answered a flow questionnaire
The experiment was controlled through a setting in the game
Game Development and Design
In order to test this hypothesis, it required me to develop my own video game. So, I developed a game using Java with the Graphics2D library. I decide on creating an action platformer because most gamers have played this type of genre.

I spent three months of the semester developing the game by watching multiple game development tutorials. In the end, I developed a game based off a pre-existing game engine. I learned a lot about programming games, such as the topics of : game engines, AI, graphics, controls, user interfaces, and the game loop.

For the design, I created 99% of the art assets and was able to get a hang of producing assets such as backgrounds, user interfaces, sprite sheets, and tile sets. It was fun using a tile map editor to create each of my levels.
Example of the art assets created by me for the game
Dynamic Difficulty Adjustment System
Now that I developed a game, I had to figure out how exactly to implement a dynamic difficulty adjustment system correctly. For this, I examined commercial games that used DDA systems, such as Half-Life 2, Max Payne, Mario Kart, and Flow.

I learned that most of these games applied an algorithm that altered the environment or enemies' mechanics. For example, Resident Evil 5's DDA system altered the enemies' behaviors and attacks.

When a person is in the state of flow, the activity is more engaging. For the DDA system, I tracked two things: success and failure. For failure, I kept track of the deaths per level and then applied adjustments after each death. For success, I also kept track of how many deaths per level, but used it to decide if an increase in difficulty was warranted for the next level.
Csikszentmihalyi's flow model
Research Results
In the end, I was not able to collect enough data to publish my work. This project spanned two semesters and the last semester I was volunteering to finish it. However, I did notice patterns arise from the sample size I did conduct it on. Most noticeably, flow was induced more in the state where the enemies' mechanics were altered by the Dynamic Difficulty Adjustment system. In the future, I hope explore similar topics to this and keep experimenting.

If I did finish this study, I would hope to find more patterns. As you see in the sample of data, the amount of challenge was greater when the enemies movement speed increased or decreased based on the player's performance. However, it's a very small sample size.
Final Thoughts
The entire research process was unique to me. I learned how to navigate through the entire IRB process, conduct literature reviews, design an experiment, moderate an experiment, and analyze research data. Creating an actual fully functional game was rewarding on various levels.

Learning game design was pretty awesome as well. I learned how to design levels that were challenging, but not hard enough to make players quit. On top of this, it was awesome to host play testing. Through these play tests, I was able to gain valuable insights on how to improve the video game.
Example of a sprite sheet I used for enemy movement animation