Final Project

Link to my Project:

The basic idea of this project is to develop the assignment we have had called rainGame. The purpose of this assignment was to give us a chance practice class. So far, I have not used class in my projects, so I would love to build classes in my final project.

Instead of collecting raindrop, I want to generate a game of a person collecting food: 

-Four type of food will drop from the sky: hotdogs, wings, legs, and dumplings.

-If the player misses the food, it will stay on the floor and constrain your space to move. And food will only drops within the space player is able to move. If there’s no more place to move, game over

-When the player “eat” 30 food, you win; however, there will also be bombs falling down. If the player eats the bomb, game over

To further develop the game, the background will various based on data from weather API and time.

The color of sky will become lighter from 6 am to 2am, then gets darker from 2 to 7pm. After 7, the sky will just be dark blue. Then when cloud coverage is bigger than 0, there will be clouds on the sky. The gap between each cloud depends on API value of cloud coverage. If cloud coverage equals to 0, there will be no clouds but a sun. While there is cloud, little raindrop will also show up if humidity value is greater than 90%.

Process:

At first, I let the food that players misses stay on the ground, and the player can still go through the food. This made me think about how we avoid the food on the ground instead of stepping on it, so I came up with the idea to restrain the space to move. It was not hard to use constrain function to set a range for mouseX; however, setting the specific value was not easy until I use imageMode(CENTER). When I first learn about all the Mode() such as rectMode(); I did not pay attention to them; nevertheless, through the course, I notice more and more how useful they are. And I also learned how essential practice are.

2. Sketches:

 

I tried to use 2D for loop to draw raindrops; however, the program get stuck with that. So I use single for loop to draw less raindrops instead.

3. Final screenshots:

This is the screen when the player wins the game

This is the screen when the player encounters the bomb

This is how it looks when cloud value is 0. The player is during the game, the center shows how many food player has ate

This shows the screen when there is no space to move.

 

References:

I was inspired by a meme popular in China. It’s a guy eating a hotdog. So I drew the player and food on my iPad and then load png files into p5js. I was also inspired by an illustrator on instagram called nu1t. He adds all kinds of illustration to photography, making objects and foods much more vivid. So I decided to add a sad face to my food when they are on the ground. The Food class in my project was refer to class in rainGame. Then I created subclass extends Food class and a bomb class. Before this project, class was very abstract to me; however, after playing around with its function, inheritance, methods, I became much familiar with classes and objects. I’m really excited about exploring more about classes in the future!

https://furtech.typepad.com/furtech/2009/01/is-humidity-100-when-it-rains.html

http://www.aihami.com/a/gongkai/xuexi/381464.html

http://tieba.baidu.com/p/5943310030https://www.openprocessing.org/sketch/476152

https://www.apixu.com/doc/current.aspx

https://www.teepr.com/231886/annezheng/可愛食物01/https://www.instagram.com/nu1t/

 

 

 

 

 

Research Post 8

Recall that when I saw Super Mario Clouds piece on the Whitney Muesum field trip, it became my favorite piece as it reminds me about my childhood and all the happy time i have had. The work was claimed as created by “hacking” a cartridge of Super Mario Brothers, the original version of the blockbuster Nintendo video game. I believed it, because even though there was only cloud randomly came up in the frame, it still make me think about the entire game. I was amazed by how the work present the game in such an abstract way. 

However, the documentary we watched this week doubts the process of this work. Lemieux’s reverse engineer of the super mario clouds proves that the code of this work is actually different from the original game. Lemieux used the ROM hacking process described by Arcangel, trying to get a same result; however, the coin could not be erased. This result was quite interesting to me. I have no idea why artist Arcangel would claim that he erased everything but cloud when the process is actually different. However, there is possibility of Arcangel telling the truth. It might because that Lemieux did not figure out the way to erase the coin, or Arcangel’s work was actually an accident, but a good accident. 

3 ideas for final project

  1. the first idea is to develop the rain game from previous homework. Instead of collecting raindrops, I will generate a person collecting food that falls from sky. Like rain game, I will write a food class that contains multiple food objects and functions. I would also add p5.collide 2D library to detect if the person “get” the food. Here’s a sketch:

  1. I would love to add more functions to my visualizing time project. Instead of merely use change of colors. i want to generate a mystery box. When I click the box, there will be a object posed up. And the color of the box will change as time pass. The object inside the box will also related to time. 

  1. The third idea is to generate a group of ice melting based on weather API. The rate of ice melting will be depended on the temperature outside room. Plus, there will be wind sound as back ground music. 

research Post 7

1.

My favorite one was Super Mario Clouds. The frame is quite simple; there are clouds randomly move through the screen. It looks very nostalgic to me, since I love the game Super Mario when I was little. It also brings me a sad feeling, since there is only cloud in the frame. I stranded in front, waiting to see if one of the character would show up, but there was only cloud randomly come up, as if Mario is gone. And actually, he is kinda gone for me, since my childhood is gone.

This project is created by Cory Arcangel, based a cartridge of Super Mario Brothers, “the original version of the blockbuster Nintendo video game released in the United States in 1985.” It is representing the game in a more abstract way as the sound and other visual element is unused, and audience can still associate this project with the game Super Mario.

 

2.

        

The another that catches my attention as soon as I saw it was Titled Plane, which is composed by LED lights bulbs. I love this piece since it gives me a quite, peace, and romantic feeling, also a little mystical. It makes me wanna pull my parents here, and let them sits here and talk, relax together.

This work is created by Jim Campbell. He handcrafted all the light bulb, expanding 2-d image to a 3d one. “The experience of Tilted Plane is akin to wading into the ocean or being surrounded by birds in flight. The space of the room constricts beneath the light bulbs and yet the dark seems interplanetary”.

Research Post-API

Name of API: Lusha

link: https://www.lusha.co

Lusha is a contacts API which provides access to contact details. User can get full profile info on individuals for recruitment purposes, including full name, email, picture, phone numbers and location details.  Users can also get rich information of companies for macerating or sales, such as company logos, locations, description, etc. Lusha can also be integrated with marketing tools and sales tools.

Project 3-GenerativeLanscape

Evening Sky

link: https://www.openprocessing.org/sketch/622613

For this project, I generate a evening sky with pink cloud, sun, meteor and buildings. The cloud and sun moves randomly in the sky. The color of sky and windows changes over time. 

The main generative landscape is the cloud, and it was quite challenging to show it. So I chose to deal with the buildings and background first. When I look at photographs of evening sky, I noticed the color of sky tends to much lighter when close to the Sun. As a result, I decided to use for loop to draw lines on entire screen, and when y-position of lines gets bigger, which means lines are at the lower place of the screen, the transparency of line would be smaller, so that the color would be lighter. In draw(), I set the background as pink. Consequently, it looks like the sky change from blue to pink as a whole. To add a more variation to this landscape, I use random function to let the color of windows and sky changes. 

The technique about transparency in sky color inspired me. Maybe I can use similar technique to display the texture of  cloud. Basically, I use loops to draw triangles on the entire canvas, and then let each one have random transparency. Since noise function gives a much smoother sequence than random() does, I use 2D noise to control the opacity of color. I wrote the cloud function, and var A is my 2D noise variable. In order to add a 3D effect on the texture, I also applied var A, noise variable, into the satisfaction of color. As a result, when A is closer to 1, both the opacity and satisfaction of cloud is higher. 

In addition, I add a sun and a meteor in the sky to show more motions. Sun is moving based on noise variable, and the meteor is falling at same speed, starting at random X value. 

Crystal research post 5

p5.collide2D

https://github.com/bmoren/p5.collide2D#collidelinecircle

p5.collide 2D library contains functions that detect collision between 2 2D geometry, including points, circles, rectangles, lines, polygons, triangles, and arc. All functions returns a boolean value: when two shapes collide, it return true, while two don’t collide, it return false. And it also contain a function called collideDebug(). Once two geometries collide, this function draw an ellipse at the collision point when applicable and calculable.

Example: https://bmoren.github.io/p5.collide2D/examples/swords/index.html

This is a sword game. So when one player is attacked by another’s sword, it will turn to red for 100 ms, meaning that the player gets hurt.

 

Research Post4-Eyeo

Artist: Mimi Onuoha

Project: Pathway

As part of the 2014-15 Fulbright-National Geographic Digital Storytelling Fellowship, Pathways was created by data researcher and artist Mimi Onuoha. In this project, she collected a month-worth’s geolocation data and message metadata from four groups of Londoner, including a family, a couple, roommates and three co-workers. All the data was collected between November 2014 and April 2015. The aim is to use mobile data to see how common relationship can be reflected by digital data. For example, co-workers were wondering if their friendship was just about work or if it extended beyond that, and they wanted to know if they cans see this on the data. Roommates were about to leave each other, and they want to see how Goodbye looks like on their data. The data of family was gathered before and after 2 weeks of birth of their first child, so the data was about a new person coming into the world. And the couple was in a long-distance relationship, so Mimi collected their social metadata about how and when they contact with each other, as if the data was telling their love stories.

here’s pictures of some data.

 

3 concepts for random project

  • My first idea of the project comes from the photo my mom took during the summer. The photo shows how beautiful the evening sky is. So I want to create a project that randomly generate all kinds of evening sky with sunset and clouds. The central tint will be warm colors like red. And at the bottom will be random buildings all in black.
  • My second idea comes from Chinese breakfast. I love the steamed food i used to have for breakfast, and I think it will be really cool to have a project that randomly show different kinds of food. I will have a huge steam pot as background, and let it displays more and more food as time pass. There will also be smoke on the top to show it is steamed and hot. I think I will write a class called food, and have different types of steam food in that class. 

 

  • My third idea comes from my mom’s garden. She plants all kinds of flowers, and it is always beautiful in her garden. So I would love to make a project that generates random flowers on the screen. I think I will create a flower class that contains all kinds of flower, and every time I run the project, different kinds of flowers will be displayed. The background will be green to show it is a garden. 

ResearchPost3

In the video, Lauren McCathy talks about the story of people following each other in the society and what she learned from this action. Her projects like the App called pplkpr are very interesting to me. The purpose of this App is to track, analyze, and auto-manage people’s relationships. It uses data to show who makes us happy and who makes us angry, and choose the better person to hang out or to block for us. In my opinion, the central idea of this App is to monitor our emotions and thus make our decisions more objective. This idea is very thought provoking. During the speech she mentioned ”it feels weird, it feels wrong, but what if a computer can actually make better decisions than you can?” This questions reminds me that people always have hard time to manage their relationship with others. Sometime we jus cannot realize or do not want to face our real feelings. It is always an outsider or bystander who know what is really going on, what kind of person we are socialize with. Perhaps it is extremely difficult for us to be objective when deal with our own emotions. So I would love to try the app and see how objective I have been.