Math 8: Creating video games with code

Class: Math 8
Grade: 8
Teacher: Kate O’Dowd

Middle School students were challenged to create fully playable video games during a recent coding project in Math 8. Using Scratch–a platform used to code and play games–students learned how to modify existing video games by altering code and swapping out assets. The assignment tasked students to not only lean into their understanding of math, but to also tell an immersive story.

My favorite part of this project was seeing the final product. We put a lot of work into it, so when we had a final playable game it was really rewarding.

-Rishaan Chowdhury ’29

The class started the unit by exploring different geometric transformations (translations, reflections, and rotations). After developing a familiarity with each transformation and identifying examples of each, students started to explore the concept through the lens of gaming. Transformations such as these are crucial for any game to operate, as they grant players the ability to move and manipulate what they see on screen.

Before diving into coding, students explored a topic not usually associated with math: storytelling. By parsing through a list of Myths From Around the World and dissecting their origins, students started to gain inspiration for their games. “Our game had to be based off of a myth,” Marli Forrester ’29 says. “I decided to make mine a sequel to Pandora’s Box because I thought a game would be a fun add-on to that story.”

Students also gathered inspiration from guest speaker Tate Donnelly, a professional game developer. Donnelly visited the 8th grade to detail their career in the gaming industry and to discuss the ins and outs of game development. Donnelly shared that platforms like Scratch are what made coding accessible to them at an early age, sparking their interest in the field. In addition to asking questions, students also had the chance to demo one of Donnelly’s games.

The hardest part [of the project] was probably the coding, having to figure out how to put my ideas into the game.

-Vanessa Jean-Marie ’29

When it came time to experiment with Scratch, many students opted to “remix” games. This process involved going into the code of a preexisting game on Scratch and rearranging the blocks of code to create something new. In order to make the games visually relevant to the mythological story they hoped to tell, students also sourced new graphics to include.

Several students opted to not use “remixing,” instead creating games from nothing at all. “I did robotics for two years and did a lot of coding during COVID, so I knew enough about code to do it myself,” Marli Forrester ’29 states. “I trusted myself and went for it.” Marli’s game, “Pandora’s Journey,” features code, illustrations, animations, and storylines crafted entirely by her. She shares that animating was her favorite part of the process, “even though it took a few hours.”

To finish out the assignment, Math 8 students transformed the R-Level into an arcade, displaying their games for fellow students, faculty, and staff to play. Despite the assignment coming to an end, many students plan to continue working with Scratch on their own time; “I liked coding my game,” Jack Earley ’29 says. “I want to make another.”


More about this course: This course will focus on relationships across three domains: geometry, algebra, statistics. In geometry, students will examine the relationships of congruence and similarity through transformations and uncover the meaning behind the symbols of the Pythagorean Theorem by investigating the relationship between the three sides of a right triangle. Students will extend their algebraic understanding to include systems of linear equations and inequalities and expand beyond linear functions to investigate exponential and quadratic models. Students will analyze relationships between variables in real data by considering different visualizations including function models while examining regression and linear trends.

Leave a Reply

Your email address will not be published. Required fields are marked *