Wednesday 25 May 2011

Project 3 Ideas and development

The idea that I have gone with for Project 3 - The Exhibition is my third one...

I will build a model to metaphorically show Encapsulation. The model will be in 'two parts' split down the middle.

I want an input - a ping pong ball and an output - other holes which the ping pong ball will drop out of. Inside the box will be some paths that determine where the ball comes out of...

The way to show encapsulation through this is that the paths are hidden from the 'user'. The side that the person will drop the ball into will be wood/tape so that the inside of the box will not be able to be seen from that side.

On the other side people can look into the box and see the inside and therefore see how it works.

----------------------------------Development----------------------------------

I had a thought that with encapsulation the handy thing is that the programmer can jump in and fiddle with the program without the user knowing.. To show this in my metaphor the side that is open to viewing I will have a few paths there that can be changed by people. but still on the otherside the 'user' has no clue that something has been changed therefore the output can randomly change without them knowing how.

Wednesday 13 April 2011

Sorted

Got the sound to work properly now. The problem was the gain and the reduceAmp method.

Here it is:

http://www.openprocessing.org/visuals/?visualID=26891

hold down left mouse button to create balls.
right click on a ball to explode it.

More Problems and More Development

Problems:

-Hooray, I got the sound to turn off. But now it rarely turns on. It turns on on the first bounce but seldom after that. No idea why this is happening. Will have to quickly work it out.
-The program is only moderately entertaining and, much worse, is not really transforming anything but the screen. This is solved further down the post.
-The Arrays were annoying me so I made them ArrayLists. Easier to add things and can remove things at will. Brilliant.
-Too many sounds. Solution, reduce the number of possible sounds from 100 to 8.

Developments:

-Big Balls. We need larger balls on the screen. The current ones are too small and boring. So I made the balls bigger.
- Color, increased the range of possible colors and reduced the overall 'blueness'. some of the balls were getting too dark to see well against the black background.
-Interactivity. The program lacks more advanced interactivity and transformation. Cue my great(ish) idea:

My Idea:

-To add more fun and pure awesomeness to my program I now have larger balls. (But they were being added to the screen so fast it was ridiculous. So I created a delay to when they should be added to the screen. But now when you right click on them they explode into smaller balls. This adds not only more interactivity to the program but adds more transformation, which is what the project is all about.

Where to now?

-Fixing the sound problem. Then we are all done.

Saturday 9 April 2011

Another session down. This one was filled with me trying to get the sound added to the program. Ran into a few bumps along the way. I have got the sound being created but i can't get it to stop. So once about 10 balls have bounced it just sounds awful. Ben said I should look at making an array of Oscillators rather then having the program create a new sound every time a ball bounces. This is an excellent idea and will begin to look into this.

Also chatted to Luke about the color and we both agree that a muted palette of colors looks nicer then just random colors.

Tuesday 5 April 2011

Further Developments

After another chat with Ben, Ive thought about the following things

-Adding color: I want some neutral colors for the balls, maybe blue or something similar. I don't want to use random number generator for each color as it would look awful. I'm thinking along the lines of connecting the color choice to either the changeY variable or the changeX variable. Maybe not the changeY as that changes over time.

-Adding sound: When the balls bounce on the bottom of the screen I want a generated sound to occur. Having the same sound each time could get boring and repetitive, not to mention that if there are lots of balls bouncing at the same time it would sound bad. Ben suggested maybe looking at connecting the pitch to the velocity that the balls is travelling at that time. I shall look into this more.