Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 2.62 KB

File metadata and controls

39 lines (25 loc) · 2.62 KB

Vision Racing Project Proposal

Big Idea

Design a racing game that uses OpenCV for control inout. We want the movement of a player’s body to drive the car in the game. We will explore: Image processing, AI and Algorithm, and Machine Learning. For this project, we want the minimum viable product to be a game in which you can control your player via the computers webcam. A stretch goal is to have an AI that is your opponent that you race against and gets smarter as you play against it. Additional stretch goals include multiplayer race mode, and adding complexity to the game such as items you collect or throw at one another.

Learning Goals

Walker:

I want to learn how to identify gestures with OpenCV, and filter/smooth the input in such a way that it can be used reliably to control something.

Jamie:

I want to learn how to implement OpenCV in the context of video game controllers and refine the program so that it can identify gestures

Shyheim:

I want to learn how to use body recognition through OpenCV and uses the recognition as a controller for movement

Implementation plan

Main libraries used will be OpenCV for vision tracking and PyGame for the game animation and use libraries needed to develop AI’s and machine learning

Project Schedule

Week 1: Code structure planned out, know what functions we will need and have the code skeleton written, and scaffolding of data structures used in the game

Week 2: Code the basic game without OpenCV

Week 3: Get the OpenCV working on its own

Week 4: Incorporate OpenCV into game

Week 5: Incorporate CPU’s into the game

Week 6: Add game features, more items obstacles etc

Collaboration Plan

We will separate each component of the game so that each person can work separately without the worry of merge conflicts. Then when we can, we will pair program so that we can discuss the code together We will plan times to work independent and pair program. When we work independently we can break it up into individual functions being worked on, so if we do start seeing merge conflicts it should be straightforward to fix as we just pull in changes from the agreed upon function.

Risks

The biggest risk in this project is relying on OpenCV as it is very delicate and hard to implement in a code if not checked regularly. This risk could change the outcome of the game in the long run. Artificial Intelligence is also a large unknown, but this is less of a risk as not having CPU's will not kill the game.

Additional Course Content

Artificial Intelligence as that is the skill we have the least experience with and don’t yet know how to implement