A collection of award-winning recreations of classic arcade games, developed from scratch using Python and CMU CS Academy. These projects were developed over the course of my junior year in my Computer Science I/II in Python classes
at Canon-McMillan High School.
These arcade games were developed as part of my computer science coursework in high school under the direction of my teacher, Rebecca Gutosky. Each of the two classes
utilized
CMU CS Academy, an online and graphics-based computer science curriculum developed by Carnegie Mellon University.
In CS Academy's curriculum, lessons were administered in the form of digital and interactive notes, with each lesson containing various activities that helped students
in practicing the lesson's topics in a graphics-based manner. Lessons were grouped into units, with a total of a combined 12 units across the two courses. At the end
of each unit, students were tested on their comprehension of these new topics via a creative task, a small-scale project that would be completed over the course of
multiple days. At the end of the year, students' work and knowledge on what they had learned would culminate into a larger final project.
Due to the creative freedom CS Academy gave its students, the sky was certainly the limit regarding what I could develop for each of my creative tasks and the final project.
However, one thing I had always been interested in were retro video games. I can still vividly remember digging through my grandma's basement and unearthing
the classic Nintendo Entertainment System from 1985. I was captivated by its games, and spent hours playing the classics like Super Mario Bros. and Excitebike.
For this reason, and due to CS Academy's heavy use of graphics, I decided that recreating some of my favorite retro games would be the perfect oppurtunity
to learn effectively while developing a fun and high-quality game. Over the course of the school year, I developed a wide range of games for my creative tasks, including Q*bert,
Space Invaders, Frogger, Super Mario Bros., Pac-Man, Pong, and, of course, Donkey Kong for my final project. Each game utilized concepts we had previously learned from its
respective unit, with the final project involving concepts from each of the previous 11 units.
Throughout the course of the year, my teacher had mentioned to our class that CMU would continually run creative task competitions, both for spring and fall semesters.
She had described that, each semester, she could submit 3 creative tasks from students of the class. During the fall semester of 2022, I decided to submit my final project,
Donkey Kong, as it was something I was particularly proud of. A few months later, I was told that the project had been picked as a winner by those at CMU, and
my simple Donkey Kong recreation had ended up winning first place out of a collection of internationally submitted final projects.
Next semester, I decided to try my luck again, this time with my Q*bert project. I had decided Q*bert would be a suitable submission, as its 3D based movement was
certainly more complex than the average creative task. While I unfortunately didn't get first place within the respective unit for my project, Q*bert did still place within the top 5 submissions.
Demos
My Donkey Kong project is available to play
here, and Q*bert is available to play
here.