Random Acts of Vulnerability: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 9: | Zeile 9: | ||
== relevant links == | |||
ESP with Arduino: http://hyperdramatik.net/mediawiki/index.php?title=ESP32_mit_Arduino | ESP with Arduino: http://hyperdramatik.net/mediawiki/index.php?title=ESP32_mit_Arduino | ||
| Zeile 16: | Zeile 16: | ||
DOMEs: http://hyperdramatik.net/mediawiki/index.php?title=Dome_Pod_KIT | DOMEs: http://hyperdramatik.net/mediawiki/index.php?title=Dome_Pod_KIT | ||
== code examples from the project == | |||
=== code for sounds in the dating-dome === | |||
CODE DESCRIPTION: | |||
4 very sensitive "balloon-pushbuttons" | |||
on a makey makey trigger sound files. | |||
every minute there is a scene change | |||
and the sound files are updated. | |||
sound files should be stored in a folder | |||
called "data" within the sketch folder. | |||
<source lang="js" line start="2" highlight="4-6"> | |||
/* | |||
RANDOM ACTS OF VULNERABILITY | |||
code for sounds in the dating-dome | |||
4 very sensitive "balloon-pushbuttons" | |||
on a makey makey trigger sound files. | |||
every minute there is a scene change | |||
and the sound files are updated. | |||
sound files should be stored in a folder | |||
called "data" within the sketch folder. | |||
*/ | |||
import ddf.minim.*; | |||
Minim minim; | |||
AudioSample sound0; | |||
AudioSample sound1; | |||
AudioSample sound2; | |||
AudioSample sound3; | |||
AudioSample sound4; | |||
AudioSample sound5; | |||
int delayTime = 800; | |||
boolean w_released = true; | |||
boolean d_released = true; | |||
boolean s_released = true; | |||
boolean a_released = true; | |||
int maxCount = 3; | |||
int w_count = 0; | |||
int a_count = 0; | |||
int s_count = 0; | |||
int d_count = 0; | |||
int szene = 0; | |||
int previousSzene; | |||
int soundChangeInterval = 5000; | |||
void setup () { | |||
size(1000, 800); | |||
smooth(); | |||
minim = new Minim(this); | |||
background(255); | |||
} | |||
void draw () { | |||
szene = minute() % 3; | |||
if (szene != previousSzene) { | |||
previousSzene = szene; | |||
println(szene); | |||
if (szene == 0) { | |||
sound0 = minim.loadSample("be.wav", 1000); | |||
sound1 = minim.loadSample("come.wav", 1000); | |||
sound2 = minim.loadSample("together.wav", 1000); | |||
sound3 = minim.loadSample("withMe.wav", 1000); | |||
} | |||
if (szene == 1) { | |||
sound0 = minim.loadSample("hihat_single.wav", 1000); | |||
sound1 = minim.loadSample("hihat_single.wav", 1000); | |||
sound2 = minim.loadSample("hihat_single.wav", 1000); | |||
sound3 = minim.loadSample("hihat_single.wav", 1000); | |||
} | |||
if (szene == 2) { | |||
sound0 = minim.loadSample("kick_single.wav", 1000); | |||
sound1 = minim.loadSample("kick_single.wav", 1000); | |||
sound2 = minim.loadSample("kick_single.wav", 1000); | |||
sound3 = minim.loadSample("kick_single.wav", 1000); | |||
} | |||
} | |||
} | |||
void keyPressed() { | |||
if ((key == 'w' || key == 'W') && w_released == true && w_count < maxCount) { | |||
background(0); | |||
w_released = false; | |||
sound(0); | |||
delay(delayTime); | |||
w_count ++; | |||
a_count = 0; | |||
s_count = 0; | |||
d_count = 0; | |||
} | |||
if ((key == 'a' || key == 'A') && a_released == true && a_count < maxCount) { | |||
background(200, 0, 0); | |||
a_released = false; | |||
sound(1); | |||
delay(delayTime); | |||
a_count ++; | |||
w_count = 0; | |||
s_count = 0; | |||
d_count = 0; | |||
} | |||
if ((key == 's' || key == 'S') && s_released == true && s_count < maxCount) { | |||
background(0, 200, 0); | |||
s_released = false; | |||
sound(2); | |||
delay(delayTime); | |||
s_count ++; | |||
w_count = 0; | |||
a_count = 0; | |||
d_count = 0; | |||
} | |||
if ((key == 'd' || key == 'D') && d_released == true && d_count < maxCount) { | |||
background(0, 0, 200); | |||
d_released = false; | |||
sound(3); | |||
delay(delayTime); | |||
d_count ++; | |||
w_count = 0; | |||
a_count = 0; | |||
s_count = 0; | |||
} | |||
} | |||
void keyReleased() { | |||
if (key == 'd' || key == 'D') { | |||
d_released = true; | |||
} | |||
if (key == 'a' || key == 'A') { | |||
a_released = true; | |||
} | |||
if (key == 's' || key == 'S') { | |||
s_released = true; | |||
} | |||
if (key == 'w' || key == 'W') { | |||
w_released = true; | |||
} | |||
} | |||
void sound(int soundSample) | |||
{ | |||
switch(soundSample) { | |||
case 0: | |||
sound0.trigger(); | |||
break; | |||
case 1: | |||
sound1.trigger(); | |||
break; | |||
case 2: | |||
sound2.trigger(); | |||
break; | |||
case 3: | |||
sound3.trigger(); | |||
break; | |||
} | |||
} | |||
} | |||
</source> | |||
Version vom 25. November 2021, 22:44 Uhr
Random Acts of Vulnerability ist ein immersives Spiel für vier Spieler*innen in vier Dimensionen. Durch Erkundung und Dokumentation der jeweils eigenen Dimension, formen die Spieler*innen anhand des Gesammelten und Erlebten die Erzählungen selbst. Auf ein installatives Netz aus experimentellen Materialen, soften Schaltkreisen, meditativen Klangwelten, grotesken Interfaces und verzerrten Output-Signalen aufbauend, werden Fragen nach Isolation, Einsamkeit, immaterieller und haptischer Vernetzung und der Herstellung von Verhandlungsgrundlagen gestellt.
Eine Arbeit von: Zoe Lohmann, Ella Estrella Tischa Raetzer, Rodolfo Acosta Castro, Lena Böckmann
Video: https://www.youtube.com/watch?v=850KCMYEAow&t=7s
relevant links
ESP with Arduino: http://hyperdramatik.net/mediawiki/index.php?title=ESP32_mit_Arduino
MQTT: http://hyperdramatik.net/mediawiki/index.php?title=Hauptseite#MQTT
DOMEs: http://hyperdramatik.net/mediawiki/index.php?title=Dome_Pod_KIT
code examples from the project
code for sounds in the dating-dome
CODE DESCRIPTION: 4 very sensitive "balloon-pushbuttons" on a makey makey trigger sound files. every minute there is a scene change and the sound files are updated. sound files should be stored in a folder called "data" within the sketch folder.
/*
RANDOM ACTS OF VULNERABILITY
code for sounds in the dating-dome
4 very sensitive "balloon-pushbuttons"
on a makey makey trigger sound files.
every minute there is a scene change
and the sound files are updated.
sound files should be stored in a folder
called "data" within the sketch folder.
*/
import ddf.minim.*;
Minim minim;
AudioSample sound0;
AudioSample sound1;
AudioSample sound2;
AudioSample sound3;
AudioSample sound4;
AudioSample sound5;
int delayTime = 800;
boolean w_released = true;
boolean d_released = true;
boolean s_released = true;
boolean a_released = true;
int maxCount = 3;
int w_count = 0;
int a_count = 0;
int s_count = 0;
int d_count = 0;
int szene = 0;
int previousSzene;
int soundChangeInterval = 5000;
void setup () {
size(1000, 800);
smooth();
minim = new Minim(this);
background(255);
}
void draw () {
szene = minute() % 3;
if (szene != previousSzene) {
previousSzene = szene;
println(szene);
if (szene == 0) {
sound0 = minim.loadSample("be.wav", 1000);
sound1 = minim.loadSample("come.wav", 1000);
sound2 = minim.loadSample("together.wav", 1000);
sound3 = minim.loadSample("withMe.wav", 1000);
}
if (szene == 1) {
sound0 = minim.loadSample("hihat_single.wav", 1000);
sound1 = minim.loadSample("hihat_single.wav", 1000);
sound2 = minim.loadSample("hihat_single.wav", 1000);
sound3 = minim.loadSample("hihat_single.wav", 1000);
}
if (szene == 2) {
sound0 = minim.loadSample("kick_single.wav", 1000);
sound1 = minim.loadSample("kick_single.wav", 1000);
sound2 = minim.loadSample("kick_single.wav", 1000);
sound3 = minim.loadSample("kick_single.wav", 1000);
}
}
}
void keyPressed() {
if ((key == 'w' || key == 'W') && w_released == true && w_count < maxCount) {
background(0);
w_released = false;
sound(0);
delay(delayTime);
w_count ++;
a_count = 0;
s_count = 0;
d_count = 0;
}
if ((key == 'a' || key == 'A') && a_released == true && a_count < maxCount) {
background(200, 0, 0);
a_released = false;
sound(1);
delay(delayTime);
a_count ++;
w_count = 0;
s_count = 0;
d_count = 0;
}
if ((key == 's' || key == 'S') && s_released == true && s_count < maxCount) {
background(0, 200, 0);
s_released = false;
sound(2);
delay(delayTime);
s_count ++;
w_count = 0;
a_count = 0;
d_count = 0;
}
if ((key == 'd' || key == 'D') && d_released == true && d_count < maxCount) {
background(0, 0, 200);
d_released = false;
sound(3);
delay(delayTime);
d_count ++;
w_count = 0;
a_count = 0;
s_count = 0;
}
}
void keyReleased() {
if (key == 'd' || key == 'D') {
d_released = true;
}
if (key == 'a' || key == 'A') {
a_released = true;
}
if (key == 's' || key == 'S') {
s_released = true;
}
if (key == 'w' || key == 'W') {
w_released = true;
}
}
void sound(int soundSample)
{
switch(soundSample) {
case 0:
sound0.trigger();
break;
case 1:
sound1.trigger();
break;
case 2:
sound2.trigger();
break;
case 3:
sound3.trigger();
break;
}
}
}