Week 3: More Coding + A Slight Detour?
March 18, 2024
Hi everyone and welcome to this week’s blog post! This week, I continued working on the AI aspect of my project, but I also returned to the original game to plan and add some new design features.
The Original Game (and what I modified)
During MIT Beaverworks, my team’s task was to design a game that could determine the extent to which different parameters, such as time limits, affected players’ morality in making decisions. To this end, we implemented moral dilemmas about which humanoids to save. For example, we added doctors and engineers, which have the ability to cure injured people in the hospital and repair the ambulance, respectively. By doing so, we hoped to add pressure against purely saving injured people and squishing zombies. However, doctors and engineers could only be “hired” in exchange for anti-zombie serums, which players could only carry 3 of during an expedition.
Recently, though, my advisors and I met to discuss how the game design could be improved upon. Rather than requiring serums to hire doctors and engineers, we decided to remove their point value, so that having doctors and engineers in the ambulance no longer counts toward a player’s final score. Instead, each doctor and engineer hired will contribute a treatment or damage point. One treatment point can be combined with one injured person for one point in the final score, and one damage point can negate the damage done by squishing one zombie (or human). This new design maintains the same system of conflicting pros and cons for each type of humanoid while being simpler to understand.
This week, the majority of my coding work involved modifying the game according to our new design. Since it consisted of a large number of files, which had been written by several different people, my task proved to be more difficult than anticipated. At this point, I have added the necessary changes to the scorekeeper.py file, which keeps track of the humanoids saved and killed, the number of treatment and damage points, the health of the ambulance, and all of the button functions. In the future, I plan to debug the seven-round mechanism of the game and continue working on the UI-related files.
Next Steps for AI
Last week, I was able to successfully create and train a RL agent on an environment representing a heavily simplified version of my game. Thus, my next steps will involve connecting the AI to my actual game. Unfortunately, this is not as simple as it sounds, since the game was not written in the format of an OpenAI Gym environment and uses tkinter instead of pygame. I expect to spend the next week reformatting my game to fit the Gym environment, which will almost certainly be a (not-unwelcome) challenge.
Literature Review
This week, I read Decision-making authority, team efficiency and human worker satisfaction in mixed human–robot teams by Gombolay et al. The study featured trials in which human-robot or human-only teams of 3 were tasked with building items from a set of parts. After completing their tasks, the human subjects were surveyed about their experiences. Interestingly, the tasks were completed the fastest during completely autonomous distribution of roles, but subjects showed no preference between semi-autonomous distribution (the robot allocates tasks to the rest of the team but not the subject) and completely autonomous distribution (the robot allocates tasks to the entire team). Though my project involves a different format of human-AI teaming, I found this study useful in understanding potential player behavior in accepting or refusing the AI’s suggestions.
Works cited:
Gombolay, Matthew C., Reymundo A. Gutierrez, Shanelle G. Clarke, Giancarlo F. Sturla,
and Julie A. Shah.(October 2015) “Decision-making authority, team efficiency and human worker satisfaction in mixed human–robot teams.” Autonomous Robots 39:3 , pp. 293-312. http://dx.doi.org/10.1007/s10514-015-9457-9
Leave a Reply
You must be logged in to post a comment.