Final Project

For my final project, I created  a virtual pet game.
I wanted to create a game that is funny and make it seem like one of those bad games you can find on sketchy websites. My inspiration came from Tamagotchi and Nitendogs, two games that I enjoyed playing as a kid.

When you click camera, the webcam image becomes the background of the screen. Depending on what the pet is demanding, the player has to click different needs that the pet needs in order to grow the pet. In the end, the pet rock turns into The Rock. After this transformation he claims that he doesn’t need anymore help and that he is on his own. Each demand is timed, so if the player doesn’t help the pet in time, it dies. It is funny how easily this pet dies, considering it is a pet rock. There is a similar game to this, called “Survive! Mola Mola” which is a game where you take care of this ocean sunfish. Despite the size of this fish, it too easily which is why people find this game so humorous.

The biggest struggle with coding this was simply my malfunctioning laptop and the website closing on me. It repeatedly happened to me so I lost my progress multiple times. Once I was done with my other final projects in different classes which required Adobe programs, I was able to clean out my laptop and have open processing run more safely.
Another problem was the timing, it was hard having the demands timed to a specific time. This required a lot of lines of codes.

I wish I had more time to work on this project, and I am actually planning on working on it during summer to have something more polished and more efficient. It was a struggle but this class allowed to me create something online from scratch which is something most people don’t get to do. I enjoy making these silly games and get them to actually work.

My code can be found here:

Final Project Update

For my final project, virtual pet game, I have made up to the timer part.
I used millis() to calculate time on when a certain text should appear. I also implemented all the graphics the is in the game. I figured out a score system where each two points makes the pet “grow.”

One problem I ran to was not my code but my computer and the program. I have been having a lot of issues with my computer and many times it force quits all my applications I’m running, including Chrome. So It happened again where my computer force quitted while my tab with my project I was working on. And for some reason I cannot restore.

But since I already accomplished and figured out how to do timer, doing it again shouldn’t take that long. One more big component I need to add is the interactive part of the game, where the user can feed and play with the pet.
If I am feeling ambitious with time, I want to add a feature where the user can take a picture with their pet. I would have to do this by calling the webcam and placing the pet in the frame.

Final Project pt.1

The progress I have so far is the basic structure of the game.
In class Scott mentioned how it was a boom to have a pet rock, and I took that idea to create my game.

My game will be about taking care of a pet sand, which will slowly turn into different forms as it grows. I want to make this quite silly and humorous.
To take care of the pet, the player has to feed, love, play, and take the pet to the bathroom. As it reaches certain levels, the pet will turn to their next form.

In my code, I have imported all of my pet images. I also created a timing system that notifies the player when the pet is in need. This is something I need to clean up more since milliseconds is a unit that I am not used to.
My plan is to have a starting page where the player puts in the pet name which is displayed on the top of the screen. Also, I need to put in the system of when the player does an action too many times, which will result in the pet’s death.

Final Project Idea Proposal

For my final project, I want to create a game that I enjoyed as a child. When I was younger, I loved playing with my Tamagotchi, or other virtual pet games. These are fairly simple games that makes the player take care of a pet, usually a something that is weird to have as a pet in real life. In tamagotchi, you raise a small monster from the egg to the adult stage, which is something I want to do.

It is fairly simple – the game is controlled by three buttons.

There is also an app that was popular during the early 2010s when the iPod became popular.

This game is called Pou, another virtual pet simulator. This is bit more complicated compared to Tamagotchi, but still very simple.

Just like these two games, I want to make my own virtual pet stimulating game, and have a pet that is probably silly or impossible to have in real life. It would be more fun to raise something you can’t in real life.
In order to accomplish this, I would need to decide if I can save the game or not, but I’m leaning more towards creating a game short enough for the player to finish in one sitting.
I also need to learn how to use timers, to know when the pet is hungry, bored, etc.
If I have time and get some help, I want to create a function where you can take a picture with your pet on the webcam. This would require screen saving and the camera function. As well as figuring out to put the pet on the screen with the player.

Midterm Reflection

This is my first big project that I did in this class by myself. I took the idea from the eight ball that I used to play with as a kid, and basically tried to digitize the same process. After reading few chapters in our assigned reading, I realized that I should’ve done something more original and creative. Processing is a great way to be creative, and express it in an unique way that is quite different than other forms of art.

I also wish that I organized my code a bit more, I realized that if I don’t take time organizing my code when I first write it, it is going to get complicated in the far run. A great way to organize code is using different classes and also using arrays. After being almost one with my code, I realized that I can make my code simpler and more organized by taking some things out and separating them into its own class. When I did so, I was able to go through my code easier.

Midterm Week 2

I created the magic 8 ball for this midterm project. When the user types a question and presses enter, the ball shakes for a certain amount of times and then an answer appears on the triangle. There is a yellow button that says “AGAIN” and when the user clicks it, the screen gets rested, the question and answer is gone.

In my original proposal, I stated that I will create the answers appear slowly like how they do in the real ones. I couldn’t figure out exactly how I can achieve this, so I made the answers immediately after the ball is shaken.
Speaking of that, shaking the ball for a certain amount of time was very difficult. Initially, the ball was being shaken the entire time the program was running, or it would not shake. I was able to fix this by creating a variable that counts how many times it was being shaken. This could be accomplished by creating a for loop, but for some reason when my program wouldn’t run with a for loop.

I had two classes in the code, one for the questions and the other for when the button is pressed. I created an array for the set of answers, which are given out randomly. The button is something I didn’t plan for, but I thought it was necessary for multiple questions.

If I can do things differently, I would add more set of answers. For this project I sticked to traditional answers that a normal magic 8 ball would have, but I think this can be super fun with different answers.

This is the link to my project:
https://www.openprocessing.org/sketch/516418 

Midterm 1

I am creating the magic eight ball with my code. I liked to play with these as a kid, and I thought it would be cool to recreate this on Processing. The final piece will have the user put in a question, and the ball will show the answer, randomly generated. I also want to incorporate how the eight ball actually works, having the ball shake with the answer appearing slowly on the triangle.

In order to accomplish this, I need to know how to have user interact by type. I will also  have to figure out how to shake the ball when the user inserts enter. If I am trying to accomplish more, it would be nice to figure out how to make the answers appear slowly. I already figured out how to make the user type in the question, but I am not sure how to make the ball shake when the user presses enter. One problem I faced when I uploaded on open processing is that when I type, it prints out numbers instead of the actual letters I am typing. I did not face this when I was working on it on Processing. I will have to figure out the solution by research. This will be something fun and interactive once it is finished.

Here is a link to my sketch on open processing: https://www.openprocessing.org/sketch/512867 

Research Project- Casey Reas

Casey calls himself an educator and an artist. As an educator, he is a professor at UCLA in the Department of Design Media Arts. He also co-created the Processing language with Ben Fry, which can be considered as one his biggest accomplishments.

He has a lot of accomplishments as an artist as well, having his work shown in various major museums like the Whitney Museum. Casey explores with various different forms of art, such as prints, installations, software.. etc.

This is one of his recent works, called Still Life (2016). This is a custom created software, that was then installed in a gallery in New York City. The images change throughout the time, and it gives off a very trippy yet peaceful vibe. To watch how this installation looks like when it’s active, here is a link to the video that was captured of the actual installation in the gallery: http://reas.com/still_life_rgb_av_a/
There are three different types in his Still Life series, one having sound, and the others being silent. I believe that two silent Still Life installations were projected next to each other, while the one with sound was projected independently, and larger, for emphasis.

This is one of his prints, called RGB-056-006-080-823-715. This is similar to his installation showed earlier, using different color dashes. I think the name of this work is very interesting, he probably has many different versions that are slightly different with different numbers in their names. There is something very similar to this on his website with colors being black and white.

This is one of his physical installations, that was showed in the gallery in New York. It is calledPrimitives (This Could be an Extraordinary Find). I personally enjoy this one a lot, it blinks and lights up in blue. This is the link to the video to see installation in action: http://reas.com/primitives/
Casey collaborated with Aranda\Lasch for this project, for help in creating the physical form of his works.
I find Casey’s works very fascinating, and I love how he explores with different forms of art.

Animation Assignment

For my animation assignment, I decided to make a ball drop. In order to do this, I decided to take what we learned before and apply it. I made my ball drop with almost like a shadow behind it- to make the drop look more realistic. When we see things drop in real life, we do not see the objects as it is while it is dropping. We usually see a fast blur, and that is what I tried to do with my code. I also made the ball bounce, like how it would in real life.
This is the squash and stretch principle from the video, especially the stretch.

I think I could’ve made my ball bounce few more times for more of a realistic animation, but that became a challenge to me. I couldn’t really figure out in time how to make the ball bounce multiple times, so I stayed with one. Having only one bounce makes the animation more timid and unnatural.

Interaction Week 2 (Jei & Leah)

Going into this assignment, the interaction I knew how to use was when mouse is pressed and having an object follow around the mouse. Jei and I talked about what more we can do, and we decided to make something that represents a simple puzzle. In order to do this, we needed to teach ourselves how to drag and drop certain shapes. We were able to find plenty of examples of this online. Our second component was the key pressed. When the up key is pressed, the colors of the rectangles and the background changes, and when the down key is pressed, the file gets saved.

The most difficult part was managing all the different size rectangles with the correct dimensions. We have 8 different rectangles, and all of them are different in size and color. We also came across with a problem with dragging the rectangles, that if one rectangle got too close to another one, they would combine. We weren’t able to fix this problem.
Although this was one of the most difficult assignments yet, I was able to learn many other interactive components of processing.

Here is the link to our sketch:
https://www.openprocessing.org/sketch/506727