Computational Game Design
My main research focus is developing methods to computationally model and simulate various card games and quantify their quality automatically. The ultimate goal is to use these methods within an evolutionary system to automatically generate novel card games. I am excited to have worked with three students so far as we explore an area that unites my interests in artificial intelligence, simulation, and game design.
We have thus far developed three components: a card game description language, an interpreter for this language, and an analytics engine with various heuristics. First, we created a language, titled RECYCLE, in which turn-based games can be represented. We restrict ourselves to games which use only cards and numeric tokens and where all card locations are spatially independent. Second, we implemented a library, written in C#, called CardStock, which contains the functions and mechanisms necessary to run RECYCLE programs and executes the basic operations performed in these card games. Finally, the games written in RECYCLE are simulated with both random and Monte Carlo AI players to collect broad statistics, such as player branching factor, game drama, fairness, average game length, game complexity, etc. Our code is available on GitHub as an open source project. This initial work with Connor Bell '16 was published in the Journal of Game and Puzzle Design.
Many of our earlier choices for the language proved to be ad-hoc and unable to generalize to new situations. Collin Shaddox '17 joined the project in 2016 through Odyssey UR summer funding, and we worked to refine and abstract the RECYCLE language to be more flexible and semantically unambiguous. Also, our statistics were rudimentary and hard-coded into too many places throughout the project. Anna Holmes '18 picked up the project this past summer, again through an Odyssey UR summer funding grant. We patched multiple holes in CardStock to allow for the processing of 14 different card games and solidified the heuristic structure for analysis. We both worked to make the engine modular so that our experiments can be run in parallel, providing immense speed-up in time when our analysis relies on playing multiple games thousands of times each. I believe that by December, we will be ready to submit our results to either the The IEEE Transactions on Computational Intelligence and AI in Games (TCIAIG) journal or the 2018 IEEE Conference on Computational Intelligence and Games (CIG).
This work on developing clear heuristics to quantify and rank card game sets up a number of related projects. For his senior thesis, Collin proceeded to develop the initial groundwork for an evolutionary algorithm using mutation and crossover to create new games from existing games. Anna’s senior thesis this year will be to develop methods to generate novel games that conform to the RECYCLE grammar and fit our heuristic analysis of a "good" card game. Beyond this, I have formulated a list of over 100 card games I would like to implement in RECYCLE to continue the possible design mechanisms. With a large set of games, it will become possible to search for patterns and families of games, either confirming or deviating from how games are categorized today, such as Trick-Taking, Fishing, Climbing, etc., and eventually develop a hierarchical evolutionary classification system for card games.
In the fall semester of 2016, I revitalized and published "Gene Pool," a two-player card game themed around genetics and genetic diseases. I first published this game in 2006 as a small hand-printed edition, and quickly sold out of the limited copies. The 2016 updated version included all-new scientifically accurate artwork, and is available for purchase from The Game Crafter website. My interest and discussion of this game in my CSCI 370 course led me to advise Jacob Idec '19 in an fall 2017 independent study on developing educational games in biology. We meet weekly to discuss his progress, refining his game sketches and iterating through prototypes, working toward creating engaging educational experiences. Jacob coordinates the work with Jennifer Dearolf, Maureen McClung, and Laura MacDonald to ensure that his games are scientifically grounded.We hope to pilot their use in the classroom in spring 2018, and ultimately publish studies on the effectiveness of our games in the Biochemistry and Molecular Biology Education journal or the Evolution: Education and Outreach journal.
I was excited to attend the 2017 Game Developers Conference (GDC) Education Summit through faculty development travel funds. I learned about the curriculum structure at larger universities and multiple game jam initiatives for promoting diverse voices in gaming. I immediately brought back some of the lessons I learned from various talks into my CSCI 370: Interactive Game Development course. After hearing a talk on the use of streaming service twitch.tv for in-depth explorations of games, I added a live playtesting element to my lab feedback cycle for the students. I was also able to browse a few hours on the gaming expo floor, and the incorporate in CSCI 370 the new tools and services I learned were coming in the Unity the game engine. There were many more talks than I could attend, some on industry connections, some on game design, and I hope to return to GDC with students for an extended visit and immersion into this professional gaming environment as an extension of the skills we develop in my course. I also plan to submit a talk for GDC in 2019, when I am teaching the third iteration of CSCI 370 to share my experiences integrating the Ludum Dare game jam into my curriculum.
Interdisciplinary Modelling and Data Analysis
In 2013, Dr. David Brownholland (Carthage College) and I developed an agent-based model in StarLogo-TNG for use in his Organic Chemistry classroom. In one lab, the students could explore different values for polarity in a Thin-layer Chromatography (TLC) experiment in silico, with the hope that they would gain intuition and improve their performance the subsequent week in a physical lab TLC experiment. We assessed student achievement on this lab, and in summer 2017 we submitted an article to the Journal of Chemical Education discussing our conclusions.
Also starting in 2013, Dr. Loren Demerath (Centenary College of Louisiana) and I created an agent-based model to explore the sharing of knowledge and the formation of community relationships. Our Unity3D model creates an abstract space of issues and positions, then lets the agents wander the world and collaborate with other agents to share information. We observed that coherent clusters of agents form with a hierarchy of knowledge. I continue to consult with Loren about the project as he formulates his ideas into a book for publication.
From 2015-2016, I served as co-PI on a grant called "Complexity Across the Disciplines" to develop a course integrating interdisciplinary approaches to complexity. This grant was funded as an ACS Blended Learning project, and involved faculty members from Trinity University, Washington and Lee, University of Richmond, and Centenary College of Louisiana. Over the course of the spring semester 2015, we collaborated bi-weekly via Google Hangouts to first develop a common understanding of complexity from Sociology, Environmental Sustainability, Philosophy, Chemistry, Economics and Computer Science. In the summer and fall of 2015, we collaborated to teach a course piloted at Centenary, where each viewpoint was explored for a few weeks and connections were discussed. I contributed multiple simulations and models for the other disciplines to give the students hands-on experience with concepts in complexity. We concluded the grant in spring 2016 with an in-person summit in San Antonio in February, where we finalized the course materials for dissemination and recorded videos wherein each participant provided their disciplinary approach to complexity. The course materials and our interviews can be found at https://www.lorendemerath.com/complexity-resources
I also contributed to the development of a biophysics lab experiment involving molecular dynamics simulations with Dr. Juan Rodriguez (St. Louis College of Pharmacy), Dr. Troy Messina (Berea College) and two student Benjamin Spitznagel and Paige Pritchett. This lab involved first the coding of a spring model in Python, and second simulating protein folding with VMD/NAMD. Our work was published in the Journal of Biochemistry and Molecular Biology Education in the January/February 2016 issue.
I am also currently serving as mentor for Chantal Danyluk '19 and Taylor Baer '19 in their research on Evaluating the Aesthetics of Diverse Computational Art Algorithms. For 2017-18, they applied and received funding for a year-long NSF-funded CREU (Collaborative Research Experience for Undergraduates) grant, designed to encourage underrepresented groups in computer science to experience and consider research careers. Their project will explore the possibilities of generating art through individual, unique, aesthetically pleasing algorithms that can be interpreted by the general populace as holding artistic merit. They will investigate cellular automata, L-systems, and cartesian genetic programming within evolutionary algorithms with the goal of presenting a public art exhibition in the spring semester. We meet weekly to discuss their progress, where I review their research blog posts and answer any questions that have arisen about their work.
Initially in collaboration with Mario Muscedere, I have initiated an investigation of the statistical package R for use across our campus curriculum. This began as an Odyssey Professorship application with Mario, where we designed research projects and workshop opportunities to first explore the feasibility of the language for our own projects, followed by assisting others in developing their own projects. This ultimately was unfunded, but we were encouraged to receive a small faculty project grant to support some initial explorations and the purchase of textbooks and web resources. Upon Mario’s departure from Hendrix, I coordinated with Chris Camfield to collaborate and complete this project. Chris and I met biweekly throughout the summer, working through tutorials on R and evaluating their strengths and weaknesses for various populations of students on campus. To summarize our work and determine campus interest, we organized a R User Community meeting on September 7th, 2017. We were ecstatic to see 24 interested faculty and students attend and discuss the potential for R to unify data analysis across campus. We have created a mailing list and online forum to hopefully capture this initial interest and push us all to continue collaborating.
Following conversations with Peg Falls-Corbitt regarding my interests in Odyssey and civic engagement for my spring 2016 CSCI 340 : Databases and Web Development course, I was nominated for an accepted to attend the Notre Dame Community Engagement Faculty Institute in the summer of 2016. Over three days, I learned from community non-profit leaders and campus facilitators, interwoven with tours and discussions at multiple organizations focused on addressing issues of poverty in South Bend, IN. I presented a case study based on the engaged learning component of my Database course, where my computer science students worked in small teams with local non-profit organizations to create web and mobile applications. Three of these organizations, City of Hope, Bethlehem House, and Soul Food Café Mission, directly work with homeless communities and those in poverty. My talk included lessons learned on ways to engage students in disciplines not traditionally associated with social justice, methods for becoming true partners with nonprofit organizations, such that they are not just being used for a class project, and ways to quantify engaged learning outcomes for students. I was very encouraged by the feedback I received on this presentation and will be revising my 2018 offering of this course to incorporate many of the lessons I learned throughout this conference.
Building upon my experience with this engaged learning conference, in April 2017, I was selected to join the Periclean Faculty Leadership cohort. This program selected one faculty from each of the colleges in the Project Pericles program. As a PFL member, I am encouraged to promote civic dialogue and engagement across the curriculum and campus. Through this program I am revising CSCI 150, our introductory computer science course, to include multiple components on civic engagement. I believe this program will make a significant impact on how I teach this course. For those students who decide to major or minor in computer science, they will be better prepared for the above community projects their upper-level database coursework. However, CSCI 150 is open to all students on campus without prerequisites, and affords an opportunity to not only make computer science accessible but to integrate it with other efforts on campus related to civic engagement such as Service to the World projects within our Odyssey program. With the right encouragement through projects and laboratories, I can envision students from this course taking their burgeoning programming skills beyond the course boundaries into their everyday civic lives. Additionally through the sponsorship of this program, I will be leading at least one campus forum specifically targeted to a non-technical audience, with the intent of demystifying, deconstructing, and understanding the technology behind current events. Topics could include effective social media activism, information privacy versus security, self-filtering of information and polarization of news feeds, and algorithms for automatically flagging "fake news" on social media.
Following a long-term interested in Japanese, yet struggling to find the time for focused learning, I used the faculty tuition-remission option to enroll in JAPN 100 : Japanese Language and Culture in spring 2017. I enrolled as a student as opposed to auditing, since I knew there would be many excuses to stop attending as the semester grew. By creating a transcript and making a public commitment to the course, I encouraged myself to stay engaged. This was the first time I had been a student in a classroom since graduate school, and I had many eye-opening experiences that I am transferring to my own courses. I found myself within the same context as my CSCI 150 students when they enter without any prior programming experience. I saw the value of daily formative assessment with homeworks and quizzes, and continue to reflect on the similarities and differences between learning a programming language versus a spoken language. I have a new-found sympathy for the balance students need to succeed in multiple courses at once and the compromises one must make. I was excited to receive an A in the course! I am currently working to finalize details to travel to Japan over spring break 2018, due to an unexpected opportunity for Hendrix through the "Japanese Friendship Ties Program." I hope to learn more about the elements of Japanese culture, robotics, and technology. I believe this context can enrich my TEC and CSCI course offerings, and this travel would be a first step to pursuing future Global Awareness (GA) Odyssey opportunities with students.