Game Design – The Racing Game

On Your Marks!

Whether on the recess playground or behind a controller playing Mario Cart, racing is as old as time and every human has experience in this game, making it a natural extension for a first foray into competitive Game Design with CS First for Google, Racing Game!

Get Set!

Support students with a physical copy of lesson 2 in CS First for Google’s Game Design Solution Sheets. It breaks down the steps visually and incrementally, providing a reference for the process.


Students learn how to code characters to move in 3 directions: left, right, and forward using 3 keys. Character 1 is an elephant, and the student codes the elephant to move with pressing the up, right, and left arrow keys in game play. Character 2 is an lion, and the student codes the W, A, and D keys to control the character in game play.

L3 EL student codes player 1 & 2 but with a twist! The roaming bear which will send you back to start if he touches you!

They learn to rotate by experimenting with degrees (the language of math), and have the opportunity to input different values to adjust their character’s movement. The CS First tutorial video leads them into the very basics, where they encounter a pit stop–inefficiency. The lion moves clunky. Then in the next value, they fix the inefficiency and code the character to move more smoothly. This experience that CS First provides–first a basic code then a refinement to the code to improve it–is an planted learning experience. How often does an app on your phone work, but then there’s an update? The update results in a minor adjustment that makes for an overall better experience for the user. They experience the work of a computer programmer, with guidance, here in this sequence. How does this benefit students as English learners? Language can be rudimentary–communicative–and then refined. Help students make this connection between the disciplines computer science and language learning give them an awareness of how learning works and practice in another discipline’s context.

After coding the first sequence for the up arrow (forward movement), the CS First video shows them how they can more efficiently do this for the next two left and right arrows: duplicate/copy. This is key in computer science, learning how to copy and paste code minimizes effort–and also reduces the likelihood of making errors. Some tasks are similar enough that they can be duplicated and changed only slightly. Students who laboriously go back and forth and code the sequence with the direction blocks one at a time see a higher margin for error than those who duplicate and paste. The SEL lesson here is keeping an eye for well functioning code and applying the code to a similar function. It brings efficiency, reduce the margin for error, and overall lower the workload. Computational thinking in action.

After coding the first player, comes player number two! This extends the practice and empowers our future programmers. They are now experienced coders and coding player two goes much faster.

For students who are more experienced in coding or ambitious, CS First for Google allows for extensive customization with its fun add on tutorials. Add crashes! Sabotage! Sounds! Celebrations! Racing fans! New racetracks!

Wave the checkered flag! Yay!

The project is capped off with a speaking activity. Students present their racing game to each other in a “speed dating” fashion. They are given the conversation guide below, and their classmates rotate to them. They have approximately 3 minutes with each classmate. We review the language of the script and notetake on it. Then I model the conversation with a student in front of the class. I set a 3 minute timer, and they present their project to a classmate. Then a new classmate. Then another. Students get extensive practice with the language of explaining their project, evaluate their work, and give advice to someone about to attempt the project. It’s a winner!

The Racing Game is a great first game design project showing precision needed without overwhelming a beginning coder. In the process, students realized that their characters needed to be coded to stay within the boundaries of the race track or be penalized for leaving the track. Some students begged to customize and upped the challenge in their game by having an enemy character hunt them during the race. Students more proficient in computer science went further–they added sound, customized characters, and more.

Next up? The last in our series, Part 3: A Maze Game. My favorite lesson series yet.