Gamified music & tech teaching tool
An educational platform for engaging 14–140 year-olds with music, technology, and game design. The focus is on providing entertaining challenges inexpensively, that promote creative problem solving, collaborative work, and programming using visual apparatus.
printable board & tiles download- cd to webserver directory
- copy/rename the config_sample.py file to config.py
- create virtual environment:
python -m venv env
- activate virtual environment:
source env/bin/activate
- install packages:
pip install -r requirements.txt
- set environment variables:
export FLASK_APP=run.py
- for flask debug mode:
export FLASK_DEBUG=1
- run the server:
flask run
- open website in browser:
http://localhost:5000
On subsequent runs, leave out steps 2, 3, 5.
alpha
- opencv detect tile grid coordinates
- flask to return tile coordinates
- place tiles (after above step)
- re-snap option if invalid json data
- run mp3 samples on tone.js player
- preload tone.js samples
- universal config (for js, python, etc. from a single file)
- generate session id using python?
- monitor interface (to observe what the user sees on their phone on another screen)
- add matomo config to config.py
- add pulse collision rule(s)
- run button to become reset/rerun button once clicked
- test <input ...capture=camera" />
- collision symbol/indication?
- different sound per colour (i.e. red pulse plays a different hihat than a green pulse)
- random tile that gives an event a 50% chance of occurring (must be used with another half-tile)
beta
- cache audio (service worker?)
- markerless grid (and tile) detection?
- orientable (horizontal/vertical) tiles?
- panel for uploading/configuring own instruments
- aruco code detection too senstive to light conditions and poor photos
- pulses moving north survive collisions
- match the board colour with the print?
- disregard tiles outside of the grid
- (TEST) simultaneous sessions (server prefixes images names?)
- use rear camera on tablets
- what happens if we put two kick drums next to each other? ('accent' and have it louder?)
- what happens if we put two different arrows next to each other?
Created by (alphabetically by firstname) Andre Mūrnieks, Jon He, Radek Rudnicki, Tristan Bunn.