Richard Hayes graduated from the Royal Military College of Canada in 2012 with a degree in English literature. After working for four years as a logistics officer, during which time he maintained a growing passion for programming, he enrolled in computer science at the University of Ottawa, where he is currently an undergraduate student. Richard enjoys discrete mathematics and the application of linear algebra and geometry to game development. He competes in online programming competitions and likes to learn and analyze new algorithms. He is also an experienced long-distance runner and has competed in several marathons as well as international multi-day stage ultra marathons.
Project: Pure Functional Games
Goal of the project:
Design and implement a function-based game
Summary of work:
The game I designed and implemented is intended to be welcoming to players unfamiliar with the Wolfram Language and strategically challenging for players with previous programming experience. During the design process, it was discovered that allowing players to enter code directly resulted in slow and ambiguous gameplay. So a button mechanic was implemented to allow players to apply a function to the game board, and controls were used to give players flexibility over where the function was applied. To accommodate less-experienced players, a hint button was added for each function.
Results and future work:
The final game requires players to strategically use functions to obtain the maximum number of eights in their matrix while attempting to prevent the other player from doing the same. Players choose between functions that affect the entire board and ones that modify only a single row/column. The player with the most eights when the last function is used is the winner. In addition, I implemented two other games that allow players to explore cellular automata in a visual and interactive manner.