avatar – asemic

This project started out by me not really being inspired by the asemic writing challenge and wanting to find a way to solve that problem without making a nonsensical text based language. I thought of the way people live through death, and specifically last goodbyes. I intended on making this waterfall with statements from individuals hypothetically telling the people they love the most goodbye for ever and always. I had planned on also not using the plotter but instead laser cutting these statements and waterfall into layers of reflective paper that would then exist as a print and live happily along side the other versions of this project. However, although the further execution of this project may be interesting, I am happy with this extreme deviation from the project guidelines.

Some screenshots of the process and different versions of the river:

 

PImage bg;
ArrayList peter1 = makeDropFromString(50, 10, "To my Dad: You are my role model for how to live a life where nothing was handed to you, and everything important was taken away from you. The amount of pain you put yourself through all your life for mom and us was never lost on me. You are an inspiration to me and what made me what I am proud to be today. For the rest of my life, even if you won't be there, I'll feel you there, I'll feel your humor, your pushing for me to take control of my destiny. I will never forget you or the things you taught me, and I'll only celebrate your memory, dad. I love you forever.".split(""));
ArrayList peter2 = makeDropFromString(70, 20, "To my Mom: I wish you didn't have to go. It's only going to start hurting once the moment passes, because as you are here dying, I can't even imagine reaching for a phone and not having the ability to call you or talk to you. I can't imagine not wanting to make sure you know I'm okay- that there's somebody out there who is thinking about me and I'm forgetting about them. You taught me right from wrong my whole life, and you lived it. You were never a hypocrite when you could have been, you treated everyone with love even when they spat in your face. You never manipulated- you weren't good at it- instead you just spoke from the heart. You only ever spoke from the hear. You gave me things I can't pay back in ten lifetimes. I love you infinitely.".split(""));
ArrayList peter3 = makeDropFromString(90, 10, "To Pops: You fought and lied and scrounged and tricked, but you also taught me that even when things looked terrible and life was at it's worst, you still had to be able to look at yourself in the mirror every morning. And as long as you could do that, then there was something okay. I always felt that I was a continuation of Peter, and wanted to make you feel that you could die knowing that one Peter Sheehan had survived and thrived in the world. It was all the times you encouraged me to be an artist, not for Peter, but because you saw I loved it. You gave me wisdom that has kept me sane, healthy, and alive. You are the fight in me that activates when it feels like there's nothing left to fight for. You are the knowledge in me when I feel lost. You are the courage to do the right thing even when it's dangerous. I can't ever forget about you, and will always love you.".split(""));
ArrayList aman = makeDropFromString(120, 30, "Goodbye aman , life is over, love aman , aman.".split(""));
ArrayList dank = makeDropFromString(150, 0, "Ever since I was a little girl I wanted to be just like you. Thank you for loving so much and doing everything you possibly could for me.".split(""));
ArrayList n = makeDropFromString(180, 0, "Bye.".split(""));
 
 
ArrayList peter1a = makeDropFromString(205, 15, "To my Dad: You are my role model for how to live a life where nothing was handed to you, and everything important was taken away from you. The amount of pain you put yourself through all your life for mom and us was never lost on me. You are an inspiration to me and what made me what I am proud to be today. For the rest of my life, even if you won't be there, I'll feel you there, I'll feel your humor, your pushing for me to take control of my destiny. I will never forget you or the things you taught me, and I'll only celebrate your memory, dad. I love you forever.".split(""));
ArrayList peter2a = makeDropFromString(230, 30, "To my Mom: I wish you didn't have to go. It's only going to start hurting once the moment passes, because as you are here dying, I can't even imagine reaching for a phone and not having the ability to call you or talk to you. I can't imagine not wanting to make sure you know I'm okay- that there's somebody out there who is thinking about me and I'm forgetting about them. You taught me right from wrong my whole life, and you lived it. You were never a hypocrite when you could have been, you treated everyone with love even when they spat in your face. You never manipulated- you weren't good at it- instead you just spoke from the heart. You only ever spoke from the hear. You gave me things I can't pay back in ten lifetimes. I love you infinitely.".split(""));
ArrayList peter3a = makeDropFromString(270, 10, "To Pops: You fought and lied and scrounged and tricked, but you also taught me that even when things looked terrible and life was at it's worst, you still had to be able to look at yourself in the mirror every morning. And as long as you could do that, then there was something okay. I always felt that I was a continuation of Peter, and wanted to make you feel that you could die knowing that one Peter Sheehan had survived and thrived in the world. It was all the times you encouraged me to be an artist, not for Peter, but because you saw I loved it. You gave me wisdom that has kept me sane, healthy, and alive. You are the fight in me that activates when it feels like there's nothing left to fight for. You are the knowledge in me when I feel lost. You are the courage to do the right thing even when it's dangerous. I can't ever forget about you, and will always love you.".split(""));
ArrayList amana = makeDropFromString(300, 20, "Goodbye aman , life is over, love aman , aman.".split(""));
ArrayList danka = makeDropFromString(340, 0, "Ever since I was a little girl I wanted to be just like you. Thank you for loving so much and doing everything you possibly could for me.".split(""));
ArrayList na = makeDropFromString(400, 30, "Bye.".split(""));
 
ArrayList peter1b = makeDropFromString(420, 15, "To my Dad: You are my role model for how to live a life where nothing was handed to you, and everything important was taken away from you. The amount of pain you put yourself through all your life for mom and us was never lost on me. You are an inspiration to me and what made me what I am proud to be today. For the rest of my life, even if you won't be there, I'll feel you there, I'll feel your humor, your pushing for me to take control of my destiny. I will never forget you or the things you taught me, and I'll only celebrate your memory, dad. I love you forever.".split(""));
ArrayList peter2b = makeDropFromString(450, 30, "To my Mom: I wish you didn't have to go. It's only going to start hurting once the moment passes, because as you are here dying, I can't even imagine reaching for a phone and not having the ability to call you or talk to you. I can't imagine not wanting to make sure you know I'm okay- that there's somebody out there who is thinking about me and I'm forgetting about them. You taught me right from wrong my whole life, and you lived it. You were never a hypocrite when you could have been, you treated everyone with love even when they spat in your face. You never manipulated- you weren't good at it- instead you just spoke from the heart. You only ever spoke from the hear. You gave me things I can't pay back in ten lifetimes. I love you infinitely.".split(""));
ArrayList peter3b = makeDropFromString(470, 0, "To Pops: You fought and lied and scrounged and tricked, but you also taught me that even when things looked terrible and life was at it's worst, you still had to be able to look at yourself in the mirror every morning. And as long as you could do that, then there was something okay. I always felt that I was a continuation of Peter, and wanted to make you feel that you could die knowing that one Peter Sheehan had survived and thrived in the world. It was all the times you encouraged me to be an artist, not for Peter, but because you saw I loved it. You gave me wisdom that has kept me sane, healthy, and alive. You are the fight in me that activates when it feels like there's nothing left to fight for. You are the knowledge in me when I feel lost. You are the courage to do the right thing even when it's dangerous. I can't ever forget about you, and will always love you.".split(""));
ArrayList amanb = makeDropFromString(500, 20, "Goodbye aman , life is over, love aman , aman.".split(""));
ArrayList dankb = makeDropFromString(380, 30, "Ever since I was a little girl I wanted to be just like you. Thank you for loving so much and doing everything you possibly could for me.".split(""));
 
ArrayList peter1c = makeDropFromString(100, 0, "To my Dad: You are my role model for how to live a life where nothing was handed to you, and everything important was taken away from you. The amount of pain you put yourself through all your life for mom and us was never lost on me. You are an inspiration to me and what made me what I am proud to be today. For the rest of my life, even if you won't be there, I'll feel you there, I'll feel your humor, your pushing for me to take control of my destiny. I will never forget you or the things you taught me, and I'll only celebrate your memory, dad. I love you forever.".split(""));
ArrayList peter2c = makeDropFromString(200, 30, "To my Mom: I wish you didn't have to go. It's only going to start hurting once the moment passes, because as you are here dying, I can't even imagine reaching for a phone and not having the ability to call you or talk to you. I can't imagine not wanting to make sure you know I'm okay- that there's somebody out there who is thinking about me and I'm forgetting about them. You taught me right from wrong my whole life, and you lived it. You were never a hypocrite when you could have been, you treated everyone with love even when they spat in your face. You never manipulated- you weren't good at it- instead you just spoke from the heart. You only ever spoke from the hear. You gave me things I can't pay back in ten lifetimes. I love you infinitely.".split(""));
ArrayList peter3c = makeDropFromString(440, 25, "To Pops: You fought and lied and scrounged and tricked, but you also taught me that even when things looked terrible and life was at it's worst, you still had to be able to look at yourself in the mirror every morning. And as long as you could do that, then there was something okay. I always felt that I was a continuation of Peter, and wanted to make you feel that you could die knowing that one Peter Sheehan had survived and thrived in the world. It was all the times you encouraged me to be an artist, not for Peter, but because you saw I loved it. You gave me wisdom that has kept me sane, healthy, and alive. You are the fight in me that activates when it feels like there's nothing left to fight for. You are the knowledge in me when I feel lost. You are the courage to do the right thing even when it's dangerous. I can't ever forget about you, and will always love you.".split(""));
ArrayList amanc = makeDropFromString(300, 15, "Goodbye aman , life is over, love aman , aman.".split(""));
ArrayList dankc = makeDropFromString(520, 20, "Ever since I was a little girl I wanted to be just like you. Thank you for loving so much and doing everything you possibly could for me.".split(""));
 
ArrayList peter3d = makeDropFromString(400, 520, "To Pops: You fought and lied and scrounged and tricked, but you also taught me that even when things looked terrible and life was at it's worst, you still had to be able to look at yourself in the mirror every morning. And as long as you could do that, then there was something okay. I always felt that I was a continuation of Peter, and wanted to make you feel that you could die knowing that one Peter Sheehan had survived and thrived in the world. It was all the times you encouraged me to be an artist, not for Peter, but because you saw I loved it. You gave me wisdom that has kept me sane, healthy, and alive. You are the fight in me that activates when it feels like there's nothing left to fight for. You are the knowledge in me when I feel lost. You are the courage to do the right thing even when it's dangerous. I can't ever forget about you, and will always love you.".split(""));
ArrayList amand = makeDropFromString(450, 815, "Goodbye aman , life is over, love aman , aman.".split(""));
ArrayList dankd = makeDropFromString(297, 826, "Ever since I was a little girl I wanted to be just like you. Thank you for loving so much and doing everything you possibly could for me.".split(""));
 
int x = 0;
int y = 0;
PFont font;
 
void setup() {
  size(600, 1200);
  bg = loadImage("river of dead goodbyes.png"); 
  frameRate(60);
  String[] fontList = PFont.list();
  printArray(fontList);
  font = loadFont("BodoniSvtyTwoSCITCTT-Book-30.vlw");
  background(0); 
  textFont(font, 32);
}
 
void draw() {
  fill(0, 0, 0, 15);
  noStroke();
  image(bg, 0, 0, 600, 1200);
  rect(0, 0, width, height);
  fill(255, 200);
  for (int i = 0; i < peter3d.size(); i++) {
    peter3d.get(i).draw();
    peter3d.get(i).update();
  }
  for (int i = 0; i < amand.size(); i++) {
    amand.get(i).draw();
    amand.get(i).update();
  }
  for (int i = 0; i < danka.size(); i++) {
    dankd.get(i).draw();
    dankd.get(i).update();
  }
 
  for (int i = 0; i < peter1a.size(); i++) {
    peter1a.get(i).draw();
    peter1a.get(i).update();
  }
 
  for (int i = 0; i < peter2a.size(); i++) {
    peter2a.get(i).draw();
    peter2a.get(i).update();
  }
  for (int i = 0; i < peter3a.size(); i++) {
    peter3a.get(i).draw();
    peter3a.get(i).update();
  }
  for (int i = 0; i < amana.size(); i++) {
    amana.get(i).draw();
    amana.get(i).update();
  }
  for (int i = 0; i < danka.size(); i++) {
    danka.get(i).draw();
    danka.get(i).update();
  }
  for (int i = 0; i < peter1b.size(); i++) {
    peter1b.get(i).draw();
    peter1b.get(i).update();
  }
  for (int i = 0; i < peter2b.size(); i++) {
    peter2b.get(i).draw();
    peter2b.get(i).update();
  }
  for (int i = 0; i < peter3b.size(); i++) {
    peter3b.get(i).draw();
    peter3b.get(i).update();
  }
  for (int i = 0; i < amanb.size(); i++) {
    amanb.get(i).draw();
    amanb.get(i).update();
  }
  for (int i = 0; i < dankb.size(); i++) {
    dankb.get(i).draw();
    dankb.get(i).update();
  }
 
 
  for (int i = 0; i < peter1c.size(); i++) {
    peter1c.get(i).draw();
    peter1c.get(i).update();
  }
  for (int i = 0; i < peter2c.size(); i++) {
    peter2c.get(i).draw();
    peter2c.get(i).update();
  }
  for (int i = 0; i < peter3c.size(); i++) {
    peter3c.get(i).draw();
    peter3c.get(i).update();
  }
  for (int i = 0; i < amanc.size(); i++) {
    amanc.get(i).draw();
    amanc.get(i).update();
  }
  for (int i = 0; i < dankc.size(); i++) {
    dankc.get(i).draw();
    dankc.get(i).update();
  }
 
 
 
  for (int i = 0; i < peter1.size(); i++) {
    peter1.get(i).draw();
    peter1.get(i).update();
  }
  for (int i = 0; i < peter2.size(); i++) {
    peter2.get(i).draw();
    peter2.get(i).update();
  }
  for (int i = 0; i < peter3.size(); i++) {
    peter3.get(i).draw();
    peter3.get(i).update();
  }
  for (int i = 0; i < aman.size(); i++) {
    aman.get(i).draw();
    aman.get(i).update();
  }
  for (int i = 0; i < dank.size(); i++) {
    dank.get(i).draw();
    dank.get(i).update();
  }
}
 
 
ArrayList makeDropFromString(int x, int y, String[] deadMessage) {
  ArrayList Dripping = new ArrayList();
  for (int i = 0; i<deadMessage.length; i++) { Dripping.add(new Drop(x, y, 10 * i + int(random(-10,10)), deadMessage[i])); } return Dripping; } class Drop { float velocity; float xvelocity = 0; float acceleration = .09; int x; int y; String letter; int d; Drop(int sx, int sy, int delay, String l) { x = sx; y = sy; letter = l; velocity = 0; d = delay; } void update() { if (d> 0) {
      d -=1;
      return;
    }
 
    velocity += acceleration;
    y += velocity;
    xvelocity += random(-0.07, 0.07);
    x += xvelocity;
  }
 
  void draw() {
    //textSize(32);
    //fill(170, 0, 0);
    text(letter, x, y);
  }
}