Random Acts of Vulnerability

Aus hyperdramatik
Zur Navigation springen Zur Suche springen

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

51681534884_545f161fd9.jpg


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;
  }
}
}