This project concentrates on using wekinator utilizing Python-OSC
to develop a game engine that works on a few supervised examples. Wekinator is a free, open-source project created by Rebecca Fiebrink a machine learning engine for interactive system that utilizes ports as communication channel.
This is undertaken as a part of course assignment for CSCI 5880 under the guidance of Ben Shapiro
To utilize this repository, clone the repository in your machine. Also make sure you have the following prerequirements settled. deployment for notes on how to deploy the project on a live system.
-
wekinator: Follow the instructions on the wekinator site to get started with wekinator. These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See
-
python: This project uses python for creating OSCClients and OSCServers
-
python-requirements
- OSC : although this project uses OSC prescribed by wekinator, you are free to use any OSC library that seems fit.
- gym : basic platform for open ai projects
- chrome_dino : chrome trex open ai gym
- pynput : handling keyboard inputs
- sklearn : extracting features
- Selenium driver for chrome browser : Varies based on OS. Copy chrome driver and paste it in the root directory of the project named
chromedriver
Installing the requirements :
pip install -r requirements.txt
Copy chrome driver and paste it in the root directory of the project named chromedriver
.
- Open wekinator and open an existing project. Select
data/bestmodel/MyTrex2.wekproj
from the data directory of the project. - In your terminal, with root directory of the project
python dino_gym.py
. - In another terminal, with root directory of the project
python output_keyboard_event.py
. - In wekinator, click on run.
- Get ☕️ and see the dino play for you.
- Open wekinator and open an existing project. Select
data/bestmodel/MyTrex2.wekproj
from the data directory of the project. - In your terminal, with root directory of the project
python dino_gym.py
. - In wekinator, click on
Start Recording
- Collect around 500-1000 recording samples.
- Train on a classifier of your liking. SVM and knn seems to work better than other classifiers.
- Click on
Train
- Chrome_dino Developer
- Prof. Ben Shapiro