Assignment due December 20

Concept:

For our final project Russell and I were a bit lost as to what to do. Because the idea of space is so huge and encompassing, we weren’t sure what we could do that would serve the purpose of the name of the class, to be interactive, as well as to be theme appropriate i.e. space-y. Russell suggested a simple idea of maybe just making a space invaders game. We liked the idea and so we started to work with it. Later on however as we prototyped, we decided maybe we wanted to still stay in the same idea but maybe drift a little bit to create something not entirely new but at the same time new for us. We started to make a prototype with simple boxes falling and the user would control another box and ensure it doesn’t explode. Soon afterwards I remembered watching something and the question they asked was if we would be destined to be extinct in the same way the dinosaurs did. I thought it was pretty similar to the prototype we currently had and thought maybe if we had gone back in time we could have protected the earth and the dinosaurs from the asteroids that in the end killed them. Afterwards Russell and I began working on adding images to the boxes to distinguish between the spaceship and the asteroids. 

Robert and I were at first working with just our mousepads to control the spaceship but we thought it wasn’t really as interactive as we want it to be. I decided maybe we could use what we have learnt so far and not so long ago, in our project to make the user feel like they are playing in real space, in a 3D environment rather than on a small laptop. I suggested that  we could create a controller and use brightness tracking or color tracking to track the location of the player and then map it to screen. Robert agreed with this and we fiddled around with brightness tracking, color tracking and even an accelerometer in the off-case that our final location would be too bright to use either color or brightness tracking. In the end color tracking was the most stable and so we decided to work with that. 

Russell and I got a cheap plastic toy gun and we removed the insides and added a small circuit for a button and a led. We placed the led at the tip of the toy gun (where the muzzle is located) so that the user could aim it just like any normal gun as well as Russell attached the trigger of the gun to the button so that when the user pulled the trigger they would be able to press the button and fire bullets in the game. We decided on using a toy pistol as our controller because we thought of its signifiers and its applications. Guns are rather everywhere (sadly) and as such are known by most if not all people and there are very few things to interact with, which in turn makes it very simple and easy to use. We did not label the gun because as aforementioned it is rather straightforward to use. We did however place an ‘x’ on the floor at our booth so as to instruct users where to stand to aim the pistol. 

Prototype Images: 

Continue reading “Assignment due December 20”

Final Project Assignment

Background:

Russell (Coke) and I decided to make an interactive game that allowed the user to play with a controller. The controller (toy gun) would allow them to point at the screen and pull the trigger and shoot at the asteroids. Our game had three levels, 1: Protect the Earth / Save the Dinosaurs, Save the Moon and Chaos Mode. In each level there was one simple aim, protect the earth (and its sattelite) from destruction from a bombardment of asteroids by shooting them before they exploded on earth as well as to keep your spaceship alive. 

Code:

A snippet of our code can be seen here. For the full game you can visit our github

 

Images:

Assignment Due Novemeber 27

Background:

So I wanted to recreate a picture and make it feel a bit natural to the human viewpoint. I made my picture similarly to how Dan Schiffman did in his tutorials but instead I decided to make it a bit more authentic for the human perspective. I decided to instead of using circles of fixed widths to use rectangles of random widths and heights. The rectangles were there to represent a human painter going over a canvas and adding paint to recreate the image. The random heights and widths of the rectangles are representative of brushstrokes and how humanly impossible it is to make the same consistent perfect brush stroke every time. Sometimes the painter gets too little paint on their brush and it creates a very thin and weak brush stroke and sometimes they get a perfect amount of paint and so they get the entire length and width of the brush hairs and so creates a “perfect” brushstroke. This as can be seen is entirely random and so I tried to recreate this effect.  I also used a fill alpha such that the colours would not be as vibrant and would give the runny water paint effect of some paintings. This once again in an attempt to seem more ‘authentic’.

Code:

Images: 

Original Image:

Recreated Image:

 

Assignment Due November 22: What is computing to me?

The meaning of computing has significantly changed for me over the last seven years of my life. A lot of the people that know me are surprised when they ask me when was my first time coding and I tell them I hadn’t even known how to send an email until I was about ten maybe even eleven years old. They are shocked because of my apparent passion for computer science and computing in general. They expect me to have started from much younger, to be coding at maybe 7 or 8 but that is not so. A simple act such as sending an email truly opened my eyes to a new world a world that I have not been able to separate myself from since. Computing is more than the nerdy aspects that is normally portrayed in the media. 

I got involved because my first laptop would always contract viruses and it intrigued me as to how they were made so I started creating my own at the age of 13. Computing has become my go to form of relaxation and work and I have grown from my years if destruction to a man of creation. Computing includes coding which for me involves the ability to invent and see your idea and invention come to life. You transform something so static and plain such as a few lines of text into something moving, responsive and interactive. I love to learn more and more about computers. Computing is a field that is filled with so much knowledge, knowledge that I can never consume too much of. I never feel bored when I am learning, I always feel like there is something more for me to learn and something to create. 

Assignment Due November 6: 2 Player Game

Background:

So for this assignment I thought it would be fun to create a two player game. Each player uses a push button to fire an attack and a potentiometer to move the player’s character up and down the y axis. If the player is able to hit their opponent a certain amount of times in a row, they activate a special powerup attack that takes a random amount of points from their opponent. 

Challenges:

I had a very tough time getting a lot of what I wanted done because of the simplicity of the Processing tools. Processing is very powerful, but is mostly an artists tool and so it was very hard to implement a lot of the ideas I had in mind. Coming from using Python in Pygame, I was expecting a lot more flexibility but in the end I was left unable to completely do as much as I could because for certain things such as collisions and image with rectangle objects, I had to create all of those from scratch and that limited what I could do. I was able to make a few tweaks here and there and get an okay enough project. 

Code:

Processing:

Arduino: 

 

Images:

Fighting Screen:

Combo Special Attack:

Game Over Screen:

Assignment Due Nov. 1: Servo Dimmer / On-Off Rectangles

Background:

This assignment asked to create a control for the servo using a servo sketch. The servo was to move based on the mouse position on the sketch, the servo moves to one side when the mouse is positioned to the left of the sketch and to an opposite side when the mouse pointer is on the right. 

The second part of the assignment asked to turn on a LED by clicking on a rectangle and to turn it off when another is clicked. 

Code:

Part 1: Processing

Part 1: Arduino

 

Part 2: Processing

 

Part 2: Arduino

 

Images:

Image of the Processing Sketch
Image of the Processing Sketch

Assignment Due October 30: Recreation of Computer Graphics using Processing

Background: 

I recreated Edvard Zajec and Matjaz Hmeljak’s sketch in the Computer Art and Graphics. I really liked this piece because it seemed random but somehow with purpose. I also tend to like abstract contemporary art and it reminded me of those types of scultures/art pieces. I also hand an idea about how to create it. I was also intrigued because of the pieces exact notion of “randomness”. This was made in 1977 and today I can simply use a random function to make random shapes like they did, but back then they probably had to use more clever means. I truly wanted to see if I could probably come up with a different method than just using random, but it felt almost impossible. I hope to maybe learn a new way to recreate this “randomness” without using just a few functions. 

I also wanted to experiment to see if I could create more cards than Edvard and Matjaz had without having to change the code alot. This turned out to be rather easy because of the pushMatrix(),  translate(x,y) , and popMatrix()  functions. I have a compilation of pictures of other cards. 

Code:

 

Images:

      Original:

     Recreation:

       

Compilation of Cards and Shapes: 

 

Assignment Due Monday October 16: Selfie with Processing

Background:

This assignment required only to create a self portrait using basic geometric shapes and lines. The self portrait I created wasn’t extremely accurate but I did try my best. Hopefully my artistic skills will improve in the future. 

The second assignment just required creating several random rectangles using a for loop. 

What I learned: 

I was able to learn and get a further understanding of how to use the triangle()  , rect()  and  arch() functions to create simple polygons. It was quite fun to learn and use them.

Continue reading “Assignment Due Monday October 16: Selfie with Processing”

Assignment Due October 11, 2017: Handshake by Servo

Background:

A handshake is one of the most universal human gestures there is. It allows previously distant strangers to get to know each other and become friends or maybe even just acquaintances. It therefore allows people to bridge worlds and cultures and history and therefore is one of my favorite human motions. This uses two servo motors connected to cutouts of hands and a joint to mimic the motion of the hands being shaken. 

Challenges:

The major challenges I encountered with making this project was trying to coordinate the servo motors. In order to get the hands to motion towards each other, I had to find out the direction each motor turned as well as the angles that corresponded to the direction that I wanted the hands to move. This is as a result of the servo motor not having any indication of direction (i.e. what direction does 0 point in versus 90 degrees, etc.) nor does it reset to a “zero” position after writing an angle to the servo. 

Code:

 

Schematic:

Video:

Assignment Due: October 9, 2017 | RandomBox

Background: 

This project is for the persons that are easily bored or just generally lose interest really quickly, like me. This box does something random every time you use it. However in order to use it, the user has to be, as Travis Scott said, “Flex’n Flex’n” (tryna exercise) the flex sensor. While the user is flexing the sensor, they can press the push button. This allows the user to choose a random event and change the current event. If, however, the user does not flex the sensor and tries to push the button, an alarm will sound. In order to produce a better sounding tone for R2D2’s sounds in the program, I used an external library called MelodyUtils. It is a very handy library that produces smoother sounds, that also sound a lot more natural. 

Continue reading “Assignment Due: October 9, 2017 | RandomBox”