Tuesday, 29 May 2012

Creative Coding, Project Three, Blog Eight

After not having a lot of ideas of how to progress my application further I decided to have another brainstorm, which this time was successful and gave me somethings to achieve, I found going back to the application progress I showed during the interim presentation useful to remember what was fun about it, so I could reintroduce it to my current progress.

I previously had it that when the snowflakes are within a certain range of the mouse they disappear, I decided to change this so that when within this certain range instead of this I have it so they spin, while the other snowflakes remain stationary. I also further added to this by having it so the spinning snowflakes  shapes spread out also as seen in the image below...
However I didn't like it how once a snowflake was out of the mouse area it just stopped rotating instantly reseting to the default position as seen in the above image. Instead I wanted it so that as they move out of the mouse area their rotational velocity eases down to zero. To fix this problem required the use of more arrays as I needed each snowflake to have its own set of rotational data as well as velocity data. So I created an array for both of these variables with a capacity of 100 as there are 100 snowflakes. I then made it so the snowflakes are always able to rotate however they only speed up when they are in the mouse area otherwise they slow down and eventually stop. 
Here are my array set up variables with the 100 capacity.
This is the result of using the arrays for individual snowflake rotation values.
I then looked at continuing to play with the spec between the shapes for each snowflake and thought it could be interesting that instead of having the this space go back to the original space gap once the mouse moves away from a particular snowflake, to have it stay the same instead, this was the result...
This was pretty fun to play with in terms of the way the shapes interacted with the mouse movement, it's hard to explain but it was quite cool....Here's the link....
http://www.openprocessing.org/sketch/63596
However it didn't lend much opportunity for the direction I was heading in so I removed the function of the shape space increasing when the mouse comes near. I instead looked at having explosions again like I had before. I currently have it so that now if the mouse does not come close enough to a snowflake for long enough it will begin to wobble, if it is still not attended to it will then explode, meaning the shape space will increase rapidly until the shapes of the snowflake are no longer visible on screen. This feature is working awesomely, the screen shot below shows a few snowflakes exploding...
Doing this meant creating more arrays, as I needed separate wobble values and other data for each of the 100 snowflakes to make this possible.

I then added another feature to add even more fun interaction. This time I thought it would be cool that if the mouse position was in a close enough proximity to a snowflake for a long enough time at a fast enough speed the snowflakes x,y position would change to the mouse x,y position. I managed to pull this off as you can see in the image below...
I think this is a really fun little interactive feature which I will definitely keep and perhaps develop on. I think what makes it successful is that it is quite hard to do interns of the interaction not the coding.
I have now also looked at making the shapes of the snowflakes grow as the mouse passes over them, as seen in the image below...
I think this is a fun interactive feature as it brings more diversity to the overall image, however it didn't work so well when the shape size kept infinitely increasing, so I put a cap on how much it could grow...
As you can see above the shapes cannot go past that size, also when the mouse moves away from them they shrink back down to the original size.

So this is where I am currently at, I think I will continue to further develop these features, then I will look at polishing up the applications appearance.

No comments:

Post a Comment