31/01/2008

Did You Know...

Did you know, the next version of Flash Player (Version 10) is codenamed 'Astro'?

public class AstroJamBounce {}


The next version is going to be motion activated with a webcam... Stay tuned.






29/01/2008

Daily Jam

No movie clips today. Just some code.


package {
import Math;

public class JamBounce {

public function JamBounce () {
var welcomeMessage = "JamBounce Class written by Joshua Russell-Hobson.\nVersion 0.1\n";
trace(welcomeMessage);
}

public function calcAdj( angle:int, distance:int ):Number {
return ( Math.sin( angle / (180 / Math.PI) ) * distance );
}

public function calcOpp( distance:int, adj:Number ):Number {
return Math.sqrt(Math.pow(distance,2) - Math.pow(adj, 2));
}

// Angle Math
public function angleMath( myX:int, myY:int, angle:int, distance:int ):GridLocation {

var newX:Number;
var newY:Number;
var opp:Number;
var adj:Number;


/* I think that Opp and Adj might be the wrong way round.
*/
if ( angle <= 90 ) { adj = calcAdj( angle, distance ); opp = calcOpp( distance, adj ); newX = myX + adj; newY = myY - opp; } else if ( angle <= 180 ) { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX + opp; newY = myY + adj; } else if ( angle <= 270 ) { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX - opp; newY = myY + adj; } else { adj = calcAdj( angle - 90, distance ); opp = calcOpp( distance, adj ); newX = myX - opp; newY = myY + adj; } return new GridLocation( newX, newY ) ; } } }

28/01/2008

Matt's Jamifesto

I believe AstroJam! should strive to demonstrate the potential of digital and interactive artwork. Through an effective combination of innovation and design its creations must be thought provoking yet accessible.

The internet brings to light many possibilities to exhibit and interact with art as well as a means of communication and information. The critical gap is in the distinct lack of a solely internet art based sector. AstroJam! has the potential to redefine the experience as a viewer.

Alternative methods of control for the viewer can in hindsight release the viewer from his static position and emphasise the need to fully engage with a piece.

My personal aims:

  • Progress the conceptual basis of AstroJam!
  • Search for possible applications of Programming
  • Collaborate in finding new contexts that ideas can be established within
  • Experiment!!
  • To have one more or more developed ideas ready for degree show.

25/01/2008

My Jam Today

Today I've been playing with CSS and pimping up the Blogg...how you likes!

Idea Update : Another idea is to have a couple of desktop flash files which interactive with your music...like a digital dancing flower that remind me of childhood lol!

Fixed!







Hopefully this new version will work a lot more efficiently than the previous version. Heres the source.


// Get Microphone
var mic:Microphone = Microphone.getMicrophone();
if (mic != null) {
mic.setUseEchoSuppression(true);
mic.setLoopBack(true);
}

// Microphone level update timer
var myTimer:Timer = new Timer(10, 0);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();

function timerHandler(event:TimerEvent):void {
vUBar.scaleX = mic.activityLevel / 100;
updateBlocks();
}

var myBlocks:Array = [];
function registerBlock( block:MovieClip ):void {
myBlocks.push(block);
}

function updateBlocks():void {
for each (block in myBlocks) {

if ( block.hitTestObject(vUBar) ) {
if ( block.alpha < alpha =" block.alpha"> -1 ) {
block.alpha = block.alpha - 0.05;

}
}
}
}

Daily Jam

Because I've not had time for a completly new Jam I've improved the code on yesterdays. Here it is, along with source.
[Adam, can you add a CSS class for script. Nice console font and in a box would be awesome. cheers.]

[REVISION 25th Jan 2008 12:58]
It appears that I haven't actually solved the problem, I've created another one. The movie clip that corrisponds to the source below can be found at http://www.the-root.co.uk/_GAD/jam/Microphone%20Test%2003.html

I'll be posting a propper soluction soon.


// This big goes in the main movie.
// Get Microphone
var mic:Microphone = Microphone.getMicrophone();
if (mic != null) {
mic.setUseEchoSuppression(true);
mic.setLoopBack(true);
}

// Microphone level update timer
var myTimer:Timer = new Timer(10, 0);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();

function timerHandler(event:TimerEvent):void {
vUBar.scaleX = mic.activityLevel / 100;
}

function getVUBar():MovieClip {
if (vUBar != null) {
return vUBar;
}
else
{
return new MovieClip();
}
}


// This big goes inside the Sprite
var vUBar:MovieClip = parent.getVUBar();

var myTimer:Timer = new Timer(10, 0);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();

function timerHandler(event:TimerEvent):void {
if ( this.hitTestObject(vUBar) ) {
if ( this.alpha < 0.7 ) {
this.alpha = this.alpha + 0.1;
}
} else {
if ( this.alpha > -1 ) {
this.alpha = this.alpha - 0.05;
}
}
}

24/01/2008

Learning Agreement

Sorry, I'm going to have to delay todays Jam because Ive cought up with the world of learning agreements. I may manage one later this evening but right now I'm in literature mode... Sorry

22/01/2008

Daily Jam

I'm aiming to come up with a Jam every day or to, here goes...






Josh's Jamifesto

Jamifesto for the Astro-Jam Collective



Primary Objectives


  • AJ is a collective of Jammers (Designers) who have come together to create experimental interactive media.
  • It is AJ's goal to produce interactive media that has broken away from the common methods of interaction: Clicking, Typing and Button Bashing. A showcase for alternative methods of control.
  • AJ is a showcase, not only for alternative contorl but for alternative media design.
  • AJ produces media for the sake of its [the work] self and user rather than for an organisation [AJ excepted] or product.

Adam's Jamifesto...

What I think we should be about and what we should be aiming to create:

  • Anything we create shouldn't just be a unique experience that you can only have in one place (i.e it shouldn't just be an insulation), it needs to be aimed towards anyone with a computer (and webcam and mic if required)
  • I think AstroJam should be here to show how the internet and interactive designs can be used as a creative art medium, and allows users to appreciate this. It's something that's not really done much (and successfully) and I think with the talent we have we'd be perfect at producing some unique interactive works of art.
  • AstroJam! is a brilliant way for us to experiment with techniques and combining them with well thought out and planned designs (something that I need to start improving)
What should our outcomes be?

  • I unsure whether we need one focus or whether it should just be aimed towards promoting the internet as a brilliant interactive art form. Who is our audience?
  • I don't think it always needs to involve motion and sound detection but at the moment I think it's something thats not really been experimented with well and is a perfect starting point and also aim for creating for the exhibition.
  • I'm adamant that this piece has got to be mainly aimed towards computers and the reason for having a large piece at the exhibition is merely to get it noticed and seen in big. I think the reason for this is because the internet is a mass of information and data that is accessible by many. Our work should take this into consideration and maybe we would consider a website displaying out final outcomes and experiments, not just our blogg...?
So...I see us as a sort of campaign aimed at promoting digital, interactive web based art. I think it'd be interesting to experiment with what we create and love the idea of a Jam Virus that spreads on the internet, but also around Uni. An sort of enigma where we don't give too much away and people want to find out what we do and who we are.

A Virus...A Viral...A Jamtastic Force to be reckoned with MWAHAHAHAHAHA!

VIVA LA JAM!!!!

Meeting 22nd January

  • Microphone ping pong- two mikes at opposite sides of a room, one moves bat right one moves it left
  • Maze concept whereby you got to use motion to escape
  • Narrative controlled by motion- motion acts as a cut device - reorders story
  • Motion controls speed of playback
  • Jam tennis tournament- interactive events 
  • Jam manifesto
  • Jam viral- movement triggers adverts or animation like pop up window
  • MOTION AND AMPLITUDE are main two variables
  • Pressure pad possiblities 
  • Motion triggers recording- sound triggers playback (CCTV, Voyeurism, Big Brother) How many cameras are we recorded on a day without even knowing????  
*ALL IDEAS NEED TO BE TRANSLATABLE IN EVERY USER'S WEBCAM*

20/01/2008

Audio-Jam


The first experimental work to come from Astro-Jam. Simple test using a microphone to make a sprite spin. The louder you sing the faster it spins.
A simple yet sweet game is the next test.

15/01/2008



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++