2023–24 Projects:
Advisor: Anya Vostinar
Teaching the theory of evolution via natural selection has become a controversial issue in the United States educational system in recent decades (Sinatra et al., 2008). Even after setting aside the political and religious motivations for resistance, there remains a central challenge that evolution via natural selection is counter-intuitive partially because it occurs at spatial or temporal scales that are difficult or impossible for humans to observe, let alone understand. There are many efforts underway to improve this problem of observable evolutionary dynamics, and one of them is to incorporate evolution into games. This approach enables people to observe evolution in a context that can be non-confrontational and on temporal and spatial scales that they can grasp. However, to put evolution into a game, you need to consider the many different algorithms that have been developed and determine the best one to use (and first figure out how to define “best”!).
There have been a number of games that attempt to incorporate evolution as a central or secondary game mechanic, however they run into several recurring issues. One such issue is that evolution via natural selection is an inherently directionless process and there is a great temptation by game developers to add direction to it to make a game more fun. This change, however, reinforces a common misconception of evolution via natural selection, namely that of some being (either a deity or the organisms themselves) directing the process towards a goal (e.g. Spore (Bean et al., 2010)). Some educational games have a primary aim of demonstrating evolution by natural selection correctly, but end up being games that are not particularly fun to play. Even when a developer succeeds at creating a game that is both scientifically accurate and fun, they face an uphill battle to gain a large fanbase and achieve the goal of demonstrating evolution via natural selection to a large audience. Finally, if a game markets itself as being a game about evolution via natural selection, those who are resistant to accepting the idea of evolution are unlikely to even try the game. Therefore, if the goal is to use games to improve evolution understanding and acceptance, a game would have to 1) correctly implement evolution via natural selection, 2) be fun, 3) amass a large fanbase, and 4) not be overtly about evolution via natural selection.
Creating a new game that will achieve those four criteria is a difficult problem, however there is an alternative. Some games support community modifications of the game code, called mods, that allow programmers to tack on extra features to an existing commercial-off-the-shelf (COTS) game. By modding existing commercial games, researchers ensure evolution is correctly implemented, are able to use a fun game with a large fanbase (assuming the game is already commercially successful), and could even utilize “stealth-learning” by pitching the mod as making the game more realistic (Sharp, 2012). Your task in this comps project will be to determine how to do this in the game Minecraft.
Minecraft is a game with several different modes, both creative (think of playing with virtual Legos) and “survival.” You will target your modification to “survival” mode which has a lot of different mechanisms where evolution could be introduced including: various animals that reproduce like sheep, horses, wolves, fish, foxes, etc. and various crops that can be grown and continued from seeds. No previous experience with Minecraft is necessary, in fact a fresh perspective will be great to have!
In this project, you will explore the many existing techniques for implementing evolution as an algorithm in code, determine the best one to use, implement it in a Minecraft mod, and do initial user testing. Specifically you will:
1. Perform literature search and IRB proposal: There are many techniques in evolutionary algorithms and artificial life to implement evolution in the computer and so you will first review the literature to determine which techniques are the most likely to meet the goals of the project. You will also review the literature of evolution learning and acceptance to determine how you could measure the effectiveness of your mod. Finally you will evaluate which version of Minecraft (Java or Education) will be the best in which to implement an evolutionary algorithm. In addition, you will write an Institutional Review Board (IRB) proposal to get permission to perform the user testing of your prototype to see if it actually increases users’ intuition about evolution.
2. Implement the mod: Based on your literature review, you will implement a Minecraft mod/lesson that meets the four criteria above
3. Test the mod: You will finally conduct a user study to determine if the mod actually does increase the users’ intuition about evolution.
Deliverables will be the mod code itself as well as a report on the findings of the user study.
Minecraft mods are written in Java whereas Minecraft Edu lessons can be written in Python and so all seniors are likely to have the background necessary. Previous experience with education courses, evolutionary biology, and statistics would be helpful but are not required. Previous experience with reading about and evaluating the performance of various algorithms will be great to have and would come from taking Algorithms (CS 252).
Bean, T. E., Sinatra, G. M., and Schrader, P. (2010). Spore: Spawning evolutionary misconceptions? Journal of Science Education and Technology, 19(5):409–414
Sharp, L. A. (2012). Stealth learning: Unexpected learning opportunities through games. Journal of Instructional Research, 1:42–48.
Sinatra, G. M., Brem, S. K., and Evans, E. M. (2008). Changing minds? implications of conceptual change for teaching and learning about biological evolution. Evolution: Education and outreach, 1(2):189–195
Vostinar, A. E., Johnson, B. Z., & Connors, K. (2020). Artificial Life in Game Mods for Intuitive Evolution Education. arXiv preprint arXiv:2007.03787.
Growing 3D Artefacts and Functional Machines with Neural Cellular Automata (in Minecraft)
Genetic Evolution Datapack video: https://www.youtube.com/watch?v=9aIp5DdnKwM
Darwin Mod (not biologically realistic, but fun): http://www.9minecraft.net/darwin-mod/