Skip to content

A Gaze-Controlled Game with Reinforcement Learning

Notifications You must be signed in to change notification settings

simonwanna/EyeBall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EyeBall - A Game For Lazy Days 🎮

👀 Lay back and watch the ball roll where you want it to go.
🤖 Compete with an RL agent.

EyeBall-GamePlay.mp4

Avoid obstacles by jumping or swaping lanes

Setup

Prerequisite for eye tracking

If you are on Windows you need Microsoft Visual C++ Redistributable 2015-2022 to run mediapipe, else you get DLL load errors.
Check your architecture with:

python -c "import platform; print(platform.architecture())"

Get started

  1. create environment with conda env create -f environment.yaml
  2. activate it with conda activate eye
  3. optional: train the RL agent with python src/rl/train_agent.py (else it will use the pretrianed agent in src/rl/models/)
  4. run the game with python src/app.py.

How to play

Avoid obstacles by swaping lanes or jumping over them.

  • restart with r if you hit an obstacle
  • restart with shift + r if you want to restart the game during gameplay
  • toggle eye tracker ON/OFF with e

Control

  1. Keyboard controls:
  • Left: a
  • Right: d
  • Jump: space
  1. Eye tracking controls
EyeTracking.mp4
  • Jump: space

Planned Todos (in no particular order)

Click to expand
  • Implement eye tracking to control game
  • Add RL agent --> train to play the game
  • Add ability compete with the RL agent (in the same game)

About

A Gaze-Controlled Game with Reinforcement Learning

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages