Oh wow, I have let time slip by without writing a single post since June, and now it is almost Thanksgiving! My sincerest apologies, I’ve now been living in my Lower East Side apartment for a little over 3 months, and this is the beginning of my 3rd month of my PhD candidacy. So let’s jump right into it.
AI is a field I’ve never before had the opportunity to explore, and over the last few months I have been furiously playing catch-up. From the simple concept of AI as a search of states, to the complicated neural network, Artificial Intelligence is a much bigger field than I ever could have anticipated. I have the unique opportunity to study AI in the area of video games and game design. “Video games?” you might exclaim. “How can you call that a job?!”
I won’t deny, it comes with a lot of perks, like being able to play video games nearly all the time. But research is a bit more than just “gaming”. Based on the overall goal, sometimes we research to gain further understanding about AI, like how to be more efficient or intelligent at playing a type of game. Other times the goal might be to make a better game. One of the projects I am working on involves the latter.
As a self-acknowledged novice game designer, I’ve come to realize that there are four main phases of game creation. Phase one involves itself with the conceptual brainstorming of the game. Typically I will spend a few weeks or months coming up with a good idea. I’ll use drawing boards to map out how it could be played, I’ll envision of what type of person would enjoy playing it, and (most importantly) I’ll bounce my ideas off other people to see what they think. This is where most of my game ideas are buried in a graveyard.
Phase two is all about development. This is where I will write out code, design art, music, sound, lighting, and whatever else the game requires to function. Depending on how complicated the game may be, and how much code I can salvage from other projects, this could take anywhere from a month to over a year or more. I have found this to be one of the most enjoyable parts of game design, since it feels like it’s full of promise and possibility! Sometimes I’ll change some minor parts of the game in favor of better ideas.
Phase three is the longest part of game design, because it’s about testing and feedback. More often than not, I’ll come flying out of phase two, thinking I built an awesome game, and it turns out it’s horrible.. A big part of phase three involves play-testing, which is when you give the game to people who haven’t been involved in development and observe how they play. You can then use this information to make adjustments to the game to make it better. Phase four is the final review of the game and eventual release.
One of my first projects is making phase three easier and more efficient using Intelligent Agent Personas. An Intelligent Agent is basically a fancy name for AI. It’s an algorithm (or series of algorithms) that makes intelligent decisions based on in-game data it receives (or infers) during gameplay. Personas are basic representations of user play-styles. The idea is that if you and I played the exact same level of the exact same game, we might play that level differently; therefore, we would have different gameplay experiences in the same game environment. For example: if we both play Mrs. Pacman, you might try to collect all the little pills as fast as you can, where I make my main focus to eat all the ghosts as many times as possible.
We call these goals, “utility functions“. So my utility function would be to collect power-pills to eat ghosts, and your utility function would to be as efficient as you can in eating pills. Our unique utility functions would result in us having different a game experience.
This project concerns itself with creating AI’s that represent different utility functions to create more rapid play-testing. Instead of using a human-being, designers could use Intelligent Agent Personas to play the games instead and use the gameplay data the same way they would use data from human play-testers. The feedback would be immediate, and testing could go on for weeks without pause (computers don’t need sleep).
We plan to use the data collected to make better maps for the game, ones that any type of player could enjoy. After these Intelligent Agent Personas are perfected, we can write another AI, which could be trained using the Persona data to rapidly generate maps to play, resulting in a nearly infinite number of unique maps. Or we could use the data collected to create a map-designer-helper tool, which could assist map designers in creating fun maps to play. If you have another suggestion for a way to use this data, please share in a comment below!
It is crucial to keep in mind that these AIs are not meant to be amazing players at the game, but rather to accurately emulate how a human-being would play it. In a way, this makes it a harder task. How do you mimic human behavior accurately, with just a set of equations? As long as we stick to fairly simple games, like Pacman, it is possible. But the more complicated the game, the more exponentially daunting creating accurate Personas becomes.
My research team will be writing a paper on this topic, and in a months time we will be submitting to a scientific journal to hopefully be published! I will keep you posted on our progress, and I promise to update this blog more often. I’m going to try to keep a schedule of one to two posts a month. My next post will be about my other research project, so stay tuned! Thanks for reading!