Corn. Racing.

View the Project on GitHub

Meet the Team

Project Evolution

Project Implementation


Corn Racer

Welcome! This is our final project for Software Design, Spring 2017, at Olin College.

Meet the Team

What does it do?

Corn Racer is, at its lowest level, a car simulator game. There are two choices of gameplay. You can choose to either draw a track and drive around the track manually or have the car drive around autonomously. For autonomous drive, you can choose to watch the car drive around a pre-driven track or can draw a track and watch the car learn how to drive around it.

Why Corn Racer?

We built corn racer for three main reasons:

Our motivations.

Getting Started

In order to run this program you must have Python3 installed on your computer. Along with Python3 you need a a few dependencies…

pygame, numpy, tkinter
$ sudo apt install python-pygame python-dev python3-numpy python3-tk

$ sudo pip install -r requirements.txt

After installing these packages, go to the top of our github page (this page) and clone the repository or download the zip file (the green “clone or download” button). You then have the project on your computer with all the supporting class files.


To run code from terminal in GNU/Linux, navigate to the proper folder and run the command “python3”
When the window opens you will select how to run the simulator. You will have options of which map appears and how the car drives. You can either choose an existing track or chose to create your own map and you can choose whether to have the car drive autonomously or to drive the car yourself.

Drawing a New Track

Whenever you choose to “Make Your Own” track you will use the system like any other paint application. While left clicking, you will move the mouse in order to draw a track.

Autonomous Drive

If you choose for the car to be driven autonomously on an existing track there is no user interfacing. The map will appear and you will watch the car drive around the track on it’s own. You also have the option of drawing a track for the autonomous car where you can watch the car learn to drive around the track you made. If you choose “Existing Autonomous” with an existing track the car will drive around rather quickly. Otherwise, you will watch evolutionary algorithms working live as the car actively learning the new track.

Drive it Yourself

If you choose to drive the car yourself you will be in complete control of the car. Using the arrow keys (with the back arrow as break, not reverse), you will try to drive the car around the track. Again, you can choose a predrawn track or you can choose to draw your own.


Corn Racer is licensed under GNU GPLv3. For more information, reference the “LICENSE” file in the Corn Racer repository.