<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Hua Chen</title>
      <link>http://interactive.usc.edu/members/hchen/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2009</copyright>
      <lastBuildDate>Sun, 15 Nov 2009 13:32:21 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Eyez: Lingering Images trailer</title>
         <description><![CDATA["Eyez: Lingering Images" is a top-down action/puzzle game where you explore D's twisted soul. Use your right eye to traverse the borders of his shattered reality, and open your left eye to expel his nightmares. Eyez present spatial logic in gameplay like you've never seen before.

<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/7lV9Li5rYf4&hl=zh_CN&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7lV9Li5rYf4&hl=zh_CN&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/11/eyez_lingering_images_trailer.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/11/eyez_lingering_images_trailer.html</guid>
        
        
         <pubDate>Sun, 15 Nov 2009 13:32:21 -0800</pubDate>
      </item>
            <item>
         <title>GDC Pic Diary</title>
         <description><![CDATA[My 1st GDC, my 1st SF trip.

<strong>Day 1</strong>

<img alt="P1040796.JPG" src="http://interactive.usc.edu/members/hchen/P1040796.JPG" width="480" height="360" />
Welcome to GDC!!

]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/03/gdc_pic_diary.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/03/gdc_pic_diary.html</guid>
        
        
         <pubDate>Sun, 29 Mar 2009 22:38:53 -0800</pubDate>
      </item>
            <item>
         <title>Kid the World Saver videos!!</title>
         <description><![CDATA[Teaser:
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/hBoAGmgIKOg&hl=zh_CN&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hBoAGmgIKOg&hl=zh_CN&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object>

Postmortem Build Progress:
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/WThGJm6iILI&hl=zh_CN&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WThGJm6iILI&hl=zh_CN&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object>]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/03/kid_the_world_saver_videos.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/03/kid_the_world_saver_videos.html</guid>
        
        
         <pubDate>Sat, 21 Mar 2009 15:21:57 -0800</pubDate>
      </item>
            <item>
         <title>The Linear RPG</title>
         <description><![CDATA[A very interesting one. Strongly recommended.
<a href="http://www.sophiehoulden.com/games/thelinearrpg/">http://www.sophiehoulden.com/games/thelinearrpg/</a>]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/03/the_linear_rpg.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/03/the_linear_rpg.html</guid>
        
        
         <pubDate>Thu, 05 Mar 2009 00:56:13 -0800</pubDate>
      </item>
            <item>
         <title>The Road to Hokusai’s Waterfall</title>
         <description><![CDATA[An NTT docomo concept video about what the near future would be with the developed mobile technology. Strongly recommended.

<a href="http://www.nttdocomo.co.jp/english/corporate/future/hokusai/index.html">http://www.nttdocomo.co.jp/english/corporate/future/hokusai/index.html</a>]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/03/the_road_to_hokusais_waterfall.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/03/the_road_to_hokusais_waterfall.html</guid>
        
        
         <pubDate>Tue, 03 Mar 2009 22:20:18 -0800</pubDate>
      </item>
            <item>
         <title>CTIN544 assignment4: narrative - your own Luffy</title>
         <description><![CDATA[//in order to understand this play, watch this clip:
//http://www.youtube.com/watch?v=cQGi1hXNcMM
//See? Luffy is a rubber man, rubber man, happy rubber man~~
import traer.physics.*;
import traer.animation.*;

final float NODE_SIZE = 20;
final float EDGE_LENGTH = 1;
final float EDGE_STRENGTH = 0.2;
final float SPACER_STRENGTH = 2000;

boolean token = true;
int tag = 0;

ParticleSystem physics;
Smoother3D centroid;

Particle head, body, rShoulder, rArm, rHand, lShoulder, lArm,
lHand, waist, rKnee, rLeg, lKnee, lLeg;

//float space = 10000;
//float space2 = 200;


void setup()
{
  size( 800, 600 );
  smooth();
  frameRate( 24 );
  strokeWeight( 2 );
  ellipseMode( CENTER );
  cursor(CROSS);

  physics = new ParticleSystem( 0, 1 );
  centroid = new Smoother3D( 0.8 );
  centroid.setValue( 0, 0, 1.0 );
  makeChar();
  //addSpacersToNode();
}  

void draw()
{
  physics.tick( 1.0 );
  if (mousePressed)
  {
    if (token == true)
    {
      tag = checkPoint();
    }
    move(tag);
  }

  if ( physics.numberOfParticles() > 1 )
    updateCentroid();
  background( 255 );
  //translate( width/2 , height/2 );
  scale( centroid.z() );
  //translate( -centroid.x(), -centroid.y() );

  drawNetwork();

}

void drawNetwork()
{      
  // draw edges 
  stroke( 0 );
  beginShape( LINES );
  for ( int i = 0; i < physics.numberOfSprings(); ++i )
  {
    Spring e = physics.getSpring( i );
    Particle a = e.getOneEnd();
    Particle b = e.getTheOtherEnd();
    vertex( a.position().x(), a.position().y() );
    vertex( b.position().x(), b.position().y() );
  }
  endShape();

  // draw vertices
  fill( 160 );
  noStroke();
  /*for ( int i = 1; i < physics.numberOfParticles(); ++i )
   {
   Particle v = physics.getParticle( i );
   ellipse( v.position().x(), v.position().y(), NODE_SIZE, NODE_SIZE );
   }*/
  ellipse( body.position().x(), body.position().y(), 1.5*NODE_SIZE, 1.5*NODE_SIZE );
  ellipse( waist.position().x(), waist.position().y(), NODE_SIZE, NODE_SIZE );

  fill(100);
  ellipse( rArm.position().x(), rArm.position().y(), NODE_SIZE, NODE_SIZE );
  ellipse( lArm.position().x(), lArm.position().y(), NODE_SIZE, NODE_SIZE );  

  fill(0);
  ellipse( rLeg.position().x(), rLeg.position().y(), NODE_SIZE, NODE_SIZE );
  ellipse( lLeg.position().x(), lLeg.position().y(), NODE_SIZE, NODE_SIZE );
  ellipse( rShoulder.position().x(), rShoulder.position().y(), NODE_SIZE/3, NODE_SIZE/3 );
  ellipse( lShoulder.position().x(), lShoulder.position().y(), NODE_SIZE/3, NODE_SIZE/3 );
  ellipse( rKnee.position().x(), rKnee.position().y(), NODE_SIZE/3, NODE_SIZE/3 );
  ellipse( lKnee.position().x(), lKnee.position().y(), NODE_SIZE/3, NODE_SIZE/3 );

  fill(255);
  stroke(0);
  ellipse(head.position().x(), head.position().y(),2*NODE_SIZE, 2*NODE_SIZE);
  //ellipse(head.position().x(), head.position().y(), NODE_SIZE, NODE_SIZE);
}


void updateCentroid()
{
  float 
    xMax = Float.NEGATIVE_INFINITY, 
  xMin = Float.POSITIVE_INFINITY, 
  yMin = Float.POSITIVE_INFINITY, 
  yMax = Float.NEGATIVE_INFINITY;

  for ( int i = 0; i < physics.numberOfParticles(); ++i )
  {
    Particle p = physics.getParticle( i );
    xMax = max( xMax, p.position().x() );
    xMin = min( xMin, p.position().x() );
    yMin = min( yMin, p.position().y() );
    yMax = max( yMax, p.position().y() );
  }
  float deltaX = xMax-xMin;
  float deltaY = yMax-yMin;
  if ( deltaY > deltaX )
    centroid.setTarget( xMin + 0.5*deltaX, yMin +0.5*deltaY, height/(deltaY+50) );
  else
    centroid.setTarget( xMin + 0.5*deltaX, yMin +0.5*deltaY, width/(deltaX+50) );
}

void addSpacersToNode()
{
  for ( int i = 0; i < physics.numberOfParticles()-1; ++i )
  {
    for (int j=i;j<physics.numberOfParticles();++j)
    {
      Particle q = physics.getParticle( i );
      Particle p = physics.getParticle( j );
      physics.makeAttraction( p, q, -1.5*SPACER_STRENGTH, 2 );
    }
  }
}

void makeChar()
{
  head = physics.makeParticle(1,width/2,height/2,0);
  //head.makeFixed();

  //make the other parts of the body
  body = physics.makeParticle(1,width/2,height/2,0);
  rShoulder = physics.makeParticle(1,width/2,height/2,0);
  rArm = physics.makeParticle(1,width/2,height/2,0);
  //rHand = physics.makeParticle();
  lShoulder = physics.makeParticle(1,width/2,height/2,0);
  lArm = physics.makeParticle(1,width/2,height/2,0);
  //lHand = physics.makeParticle();
  waist = physics.makeParticle(1,width/2,height/2,0);
  rKnee = physics.makeParticle(1,width/2,height/2,0);
  rLeg = physics.makeParticle(1,width/2,height/2,0);
  lKnee = physics.makeParticle(1,width/2,height/2,0);
  lLeg = physics.makeParticle(1,width/2,height/2,0);

  addSpacersToNode();

  //make connections between parts
  physics.makeSpring(head, body, 1.2*EDGE_STRENGTH, 1.2*EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(body, rShoulder, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH/3);
  physics.makeSpring(body, lShoulder, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH/3);
  physics.makeSpring(rShoulder, rArm, EDGE_STRENGTH, EDGE_STRENGTH/10, EDGE_LENGTH);
  //physics.makeSpring(rArm, rHand, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(lShoulder, lArm, EDGE_STRENGTH, EDGE_STRENGTH/10, EDGE_LENGTH);
  //physics.makeSpring(lArm, lHand, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(body, waist, 2*EDGE_STRENGTH, 2*EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(waist, rKnee, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(rKnee, rLeg, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(waist, lKnee, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);
  physics.makeSpring(lKnee, lLeg, EDGE_STRENGTH, EDGE_STRENGTH, EDGE_LENGTH);

  //move parts
  body.moveTo(head.position().x()+random(-1,1), head.position().y()+random(-1,1),0);
  rShoulder.moveTo(body.position().x()+random(-1,1), body.position().y()+random(-1,1),0);
  rArm.moveTo(rShoulder.position().x()+random(-1,1), rShoulder.position().y()+random(-1,1),0);
  //rHand.moveTo(rArm.position().x()+random(-1,1), rArm.position().y()+random(-1,1),0);
  lShoulder.moveTo(body.position().x()+random(-1,1), body.position().y()+random(-1,1),0);
  lArm.moveTo(lShoulder.position().x()+random(-1,1), lShoulder.position().y()+random(-1,1),0);
  //lHand.moveTo(lArm.position().x()+random(-1,1), lArm.position().y()+random(-1,1),0);
  waist.moveTo(body.position().x()+random(-1,1), body.position().y()+random(-1,1),0);
  rKnee.moveTo(waist.position().x()+random(-1,1), waist.position().y()+random(-1,1),0);
  rLeg.moveTo(rKnee.position().x()+random(-1,1), rKnee.position().y()+random(-1,1),0);
  lKnee.moveTo(waist.position().x()+random(-1,1), waist.position().y()+random(-1,1),0);
  lLeg.moveTo(lKnee.position().x()+random(-1,1), lKnee.position().y()+random(-1,1),0);

}

//collisiton detection on border
void handleBoundaryCollisions( Particle p )
{
  if ( p.position().x() < 0 || p.position().x() > width )
    p.setVelocity( -2*p.velocity().x(), p.velocity().y(), 0 );
  if ( p.position().y() < 0 || p.position().y() > height )
    p.setVelocity( p.velocity().x(), -2*p.velocity().y(), 0 );
  p.moveTo( constrain( p.position().x(), 0, width ), constrain( p.position().y(), 0, height ), 0 ); 
}

//check the body part
int checkPoint(){
  //float N2 = NODE_SIZE * NODE_SIZE;


  //println(NODE_SIZE+"+"+distance+",");

  for ( int i = 0; i < physics.numberOfParticles(); ++i )
  {    
    Particle p = physics.getParticle( i);
    float distance = sqrt(sq(p.position().x()-mouseX)+sq(p.position().y()-mouseY));
    if (distance < NODE_SIZE){
      token = false;
      return i;
      //print(i);
    }

    //float c = p.position().x();
    //print(c);
  }
  return 3;
  //rArm.moveTo(mouseX-400, mouseY-200, 0);
  //
}

//drag the char
void move(int tag)
{
  Particle p = physics.getParticle(tag);
  p.moveTo(mouseX, mouseY, 0);
  //println(NODE_SIZE+"+"+distance+",");
  //rArm.velocity().clear();
}  

//reset the tag
void mouseReleased()
{
  Particle p = physics.getParticle(tag);
  p.setVelocity((mouseX - pmouseX), (mouseY - pmouseY), 0 );
  token = true;
}


void keyPressed()
{
  switch (key)
  {
    case ' ':
    physics.setGravity(0);
    case '=':
    physics.setGravity(1);
    case '-':
    physics.setGravity(-1);
  }
}
    
  ]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/02/ctin544_assignment4_narrative.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/02/ctin544_assignment4_narrative.html</guid>
        
        
         <pubDate>Sat, 21 Feb 2009 00:07:16 -0800</pubDate>
      </item>
            <item>
         <title>CTIN544 assignment3: economy</title>
         <description><![CDATA[import traer.physics.*;
//import processing.video.*;

//Movie myMovie;

Particle mouse, b, c;
Particle[] others;
ParticleSystem physics;

int counter = 0;//count the number of dollar signs acquired
int number = 500;//the number of particles
int maxDistance = 30;
Attraction[] attr;
int timer = 0;
int maxTime = 300;

PImage img;
PImage img2;
PImage bg;
int pwidth = 114;
int pheight = 114;

boolean handsome = true;

void setup()
{
  size(640, 480);
  frameRate(24);
  //cursor( CROSS );
  noCursor();

  /* myMovie = new Movie(this, "P1040237.mov");
   // Prints the duration of the movie
   println(myMovie.duration());
   myMovie.play();
   myMovie.loop();*/

  img = new PImage( 32, 32 );
  img = loadImage("dollar.gif");
  imageMode(CENTER);
  tint( 255, 50 );
  img2 = loadImage("bushhandsome.gif");
  bg = loadImage("George_Bush_Economic_Recession.jpg");

  physics = new ParticleSystem( 0, 0.1 );
  mouse = physics.makeParticle();
  mouse.makeFixed();
  attr = new Attraction [number];

  others = new Particle[number];
  for ( int i = 0; i < others.length; i++ )
  {
    others[i] = physics.makeParticle( 1.0, random( 0, width ), random( 0, height ), 0 );
    attr[i] = physics.makeAttraction( mouse, others[i], 5000, 50 ); 
  }
}

void draw()
{
  mouse.moveTo( mouseX, mouseY, 0 );
  physics.tick();

  //background( 0 );

  //play movie
  /*if(myMovie.available()) {
   myMovie.read();
   }
   image(myMovie, 0, 0);*/
  image(bg, 320,240);
  blend(img2, 0, 0, pwidth, pheight, mouseX-pwidth/2, mouseY-pheight+32, pwidth, pheight, SOFT_LIGHT);
  //image(img2, mouseX, mouseY);
  for ( int i = 0; i < others.length; i++ )
  {
    Particle p = others[i];
    handleBoundaryCollisions(p);
    if (timer==0){
      //img2 = loadImage("bushhandsome.gif");
      distance(p);      
    }
    image(img,p.position().x(),p.position().y());
  }

  checkTime();
  counter = 0;
}

//bounce back at sides
void handleBoundaryCollisions( Particle p )
{
  if ( p.position().x() < 0 || p.position().x() > width )
    p.setVelocity( -0.9*p.velocity().x(), p.velocity().y(), 0 );
  if ( p.position().y() < 0 || p.position().y() > height )
    p.setVelocity( p.velocity().x(), -0.9*p.velocity().y(), 0 );
  p.moveTo( constrain( p.position().x(), 0, width ), constrain( p.position().y(), 0, height ), 0 ); 
}

//calculate distance between p and mouse
void distance(Particle p)
{
  float distance = (p.position().x()-mouseX)*(p.position().x()-mouseX) + (p.position().y()-mouseY)*(p.position().y()-mouseY);
  if (distance <= maxDistance*0.9){
    counter++;
  }
  if(counter >= number){
    for ( int i = 0; i < others.length; i++ )
    {
      attr[i].setStrength(-5000); 
    }

    img2 = loadImage("bushfinger.gif");
    bg = loadImage("homeless.jpg");
    handsome = false;
    timer = maxTime;
  }
}

void checkTime (){
  if (timer>0){
    timer--;
  }
  else if (handsome == false){
    for ( int i = 0; i < others.length; i++ )
    {
      attr[i].setStrength(5000); 
    }
    img2 = loadImage("bushhandsome.gif");
    bg = loadImage("George_Bush_Economic_Recession.jpg");
    handsome = true;
  }
}










]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/02/ctin544_assignment3_economy.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/02/ctin544_assignment3_economy.html</guid>
        
        
         <pubDate>Sat, 21 Feb 2009 00:03:10 -0800</pubDate>
      </item>
            <item>
         <title>Monster Hunter Dominates Japan&apos;s Top Sellers For 2008</title>
         <description><![CDATA[//Again, the so-called cultural gap took place in the market?
//I just wanna point out that Monster Hunter is not Pokemon, at all!!!
<a href="http://www.gamasutra.com/php-bin/news_index.php?story=22340">http://www.gamasutra.com/php-bin/news_index.php?story=22340</a>
<img alt="mhp2g.jpg" src="http://interactive.usc.edu/members/hchen/mhp2g.jpg" width="540" height="360" />

Enterbrain, publisher of weekly Japanese gaming magazine Famitsu, revealed the 100 best-selling video game software in the region in 2008.

Capcom's PSP action role-playing game Monster Hunter Portable 2nd G, coming to the States as Monster Hunter Freedom Unite this spring, was the top-selling title for the year, with over 2,452,111 units sold since its release in March 2008.

<img alt="mhp02.jpg" src="http://interactive.usc.edu/members/hchen/mhp02.jpg" width="480" height="272" />
]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/02/monster_hunter_dominate_japans.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/02/monster_hunter_dominate_japans.html</guid>
        
        
         <pubDate>Tue, 17 Feb 2009 22:21:46 -0800</pubDate>
      </item>
            <item>
         <title>Key Chinese Govt Agencies Endorsing GDC China 2009</title>
         <description><![CDATA[// I post this simply because it's a significant event for the game industry in China...
<a href="http://www.gamasutra.com/php-bin/news_index.php?story=22147">http://www.gamasutra.com/php-bin/news_index.php?story=22147</a>

The 2009 Game Developers Conference in China is enjoying the support of two key groups. Event organizer Think Services Game Group (also owners of Gamasutra) announced that two Chinese government agencies within the country's Ministries of Industry/IT and Culture fully endorsed GDC China 2009, taking place in Shanghai from October 11th-13th.]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/02/key_chinese_govt_agencies_endo.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/02/key_chinese_govt_agencies_endo.html</guid>
        
        
         <pubDate>Tue, 03 Feb 2009 23:19:11 -0800</pubDate>
      </item>
            <item>
         <title>CTIN544 - processing script 2</title>
         <description><![CDATA[//download the image to the data folder, and choose a movieclip for viewing
<img alt="kid.png" src="http://interactive.usc.edu/members/hchen/kid.png" width="194" height="246" />


import processing.video.*;
Movie myMovie;
PImage img;
int pwidth = 194;
int pheight = 246;

void setup() {
  size(640, 480);
  frameRate(30);
  
  //choose a movieclip, replace the string below with its name
  myMovie = new Movie(this, "P1040237.mov");
  // Prints the duration of the movie
  println(myMovie.duration());
  myMovie.play();
  myMovie.loop();
  
  img = loadImage("kid.png"); 
}

void draw() {
  if(myMovie.available()) {
    myMovie.read();
  }
  image(myMovie, 0, 0);
  blend(img, 0, 0, pwidth, pheight, mouseX-pwidth/2, mouseY-pheight/2, pwidth, pheight, EXCLUSION);
  //stroke(255);
  //fill(255);
  //ellipse(mouseX,mouseY,150,150);
}


]]></description>
         <link>http://interactive.usc.edu/members/hchen/2009/01/ctin544_processing_script_2.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/01/ctin544_processing_script_2.html</guid>
        
        
         <pubDate>Thu, 29 Jan 2009 17:14:25 -0800</pubDate>
      </item>
            <item>
         <title>CTIN544 - processing script 1</title>
         <description>class Cell {
  float x,y;   // x,y location
  float w,h;   // 2 parameters for the ellipse
  float angle; // angle for oscillating brightness

  // Cell Constructor
  Cell(float tempX, float tempY, float tempW, float tempH, float tempAngle) {
    x = tempX;
    y = tempY;
    w = tempW;
    h = tempH;
    angle = tempAngle;
  } 

  void oscillate() {
    if (count &gt;= da){
      count = 0;
      angle = 90;
    }
    else if ((count &gt; xiao) &amp;&amp; (count &lt; da)){
      angle += 0.05; 
    }
    count++;
  }

  void display() {
    stroke(255);
    // Color calculated using sine wave
    fill(127+127*tan(angle));
    ellipse(x+w/2,y+w/2,w,h); 
  }
}

// 2D Array of objects
Cell[][] grid;

// Number of columns and rows in the grid
int cols = 10;
int rows = 10;
int count = 0;
int xiao= 1000;
int da = 1100;

void setup() {
  size(600,600);
  grid = new Cell[cols][rows];
  for (int i = 0; i &lt; cols; i++) {
    for (int j = 0; j &lt; rows; j++) {
      // Initialize each object
      grid[i][j] = new Cell(i*60,j*60,60,60,i+j);
    }
  }
}

void draw() {
  background(0);
  // The counter variables i and j are also the column and row numbers and 
  // are used as arguments to the constructor for each object in the grid.  
  for (int i = 0; i &lt; cols; i++) {
    for (int j = 0; j &lt; rows; j++) {
      // Oscillate and display each object
      grid[i][j].oscillate();
      grid[i][j].display();
    }
  }
}</description>
         <link>http://interactive.usc.edu/members/hchen/2009/01/ctin544_processing_script_1.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2009/01/ctin544_processing_script_1.html</guid>
        
        
         <pubDate>Thu, 29 Jan 2009 17:10:41 -0800</pubDate>
      </item>
            <item>
         <title>The Best Recombinant Narrative Ever?</title>
         <description><![CDATA[In this week's Famitsu(the top game magazine in Japan), a new game to be on sale on Wii on Dec. 4th has gained a full-mark score.(40-points. about the scoring system: <a href="http://interactive.usc.edu/members/hchen/2008/10/kosoge_how_terrible_can_a_game.html">http://interactive.usc.edu/members/hchen/2008/10/kosoge_how_terrible_can_a_game.html</a>) It's name is <em>428 ~ Fuusasareta Shibuya</em>(428〜封鎖された渋谷で〜, in English: In the sealed Shibuya), which is a suspense text adventure game and has several characters whose stories will interact with each other at the stage of Shibuya. It is the first text adventure game ever that has gained such "perfect" critical acclaim. Though there is no English version yet, we can still wait to see some info about it in the coming week.

Here are the official website and the JP version wikipedia page of this game:

<a href="http://chun.sega.jp/428/">http://chun.sega.jp/428/</a>

<a href="http://ja.wikipedia.org/wiki/428%E3%80%9C%E5%B0%81%E9%8E%96%E3%81%95%E3%82%8C%E3%81%9F%E6%B8%8B%E8%B0%B7%E3%81%A7%E3%80%9C">http://ja.wikipedia.org/wiki/428%E3%80%9C%E5%B0%81%E9%8E%96%E3%81%95%E3%82%8C%E3%81%9F%E6%B8%8B%E8%B0%B7%E3%81%A7%E3%80%9C</a>

<img alt="02.jpg" src="http://interactive.usc.edu/members/hchen/02.jpg" width="400" height="400" />]]></description>
         <link>http://interactive.usc.edu/members/hchen/2008/11/the_best_recombinante_narrativ.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2008/11/the_best_recombinante_narrativ.html</guid>
        
        
         <pubDate>Wed, 26 Nov 2008 12:39:14 -0800</pubDate>
      </item>
            <item>
         <title>Wii Music: A Waterloo for Shigeru Miyamoto?</title>
         <description><![CDATA[<em>Wii Music</em> is an upcoming music video game for the Wii that simulates playing musical instruments using the Wii Remote. The game is part of Nintendo's Wii Series, which includes <em>Wii Sports</em>, <em>Wii Play </em>, <em>Wii Fit</em> and <em>Wii Chess</em>. <em>Wii Music </em>was originally suggested as a launch title, but no new information regarding the game or a release date had been given, except for an unspecific 2008 release for Japan. Shigeru Miyamoto also re-confirmed in July 2007 that <em>Wii Music</em> would be released in 2008, preferring to currently focus on <em>Super Mario Galaxy </em>and <em>Wii Fit </em>instead of trying to develop all three games at once.
]]></description>
         <link>http://interactive.usc.edu/members/hchen/2008/10/wii_music_a_waterloo_for_shige.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2008/10/wii_music_a_waterloo_for_shige.html</guid>
        
        
         <pubDate>Fri, 17 Oct 2008 21:34:24 -0800</pubDate>
      </item>
            <item>
         <title>Scoop! Japan Game Awards 2008 Future Division Determined!</title>
         <description><![CDATA[Several days after the TGS 2008, the result of the Japan Game Awards 2008 Future Division was finally released. How many of them have you ever heard of?
<a href="http://awards.cesa.or.jp/prize02.html">http://awards.cesa.or.jp/prize02.html</a>

[Titel, Platform, Company]

<strong>Idol Master SP Perfect Sun/Wondering Star/Missing Moon</strong>, PSP, BANDAI・NAMCO
<a href="http://namco-ch.net/idolmaster_portal/index.php">http://namco-ch.net/idolmaster_portal/index.php</a>]]></description>
         <link>http://interactive.usc.edu/members/hchen/2008/10/scoop_japan_game_awards_2008_f.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2008/10/scoop_japan_game_awards_2008_f.html</guid>
        
        
         <pubDate>Thu, 16 Oct 2008 21:26:27 -0800</pubDate>
      </item>
            <item>
         <title>Kosoge: how terrible can a game be?</title>
         <description><![CDATA[<em>Famitsu</em>, the most influential game magazine in Japan, has an official scoring system for video games. Video games are graded in <em>Famitsu</em> by a panel of four video game reviewers. Each reviewer gives a score from one to ten (ten being best). The scores of the four reviewers are then added up with a possible score of forty.

Today, <em>Famitsu</em> has just released next week's new games scoring. With one of the historicly lowest scores of 12 (3 3 3 3), <em>Pro Golfer Saru</em>(プロゴルファー猿)has become a new member of the Kosuge family("Kusoge" is the Japanese-style abbr. for  Kuso Game, which means "crap games").]]></description>
         <link>http://interactive.usc.edu/members/hchen/2008/10/kosoge_how_terrible_can_a_game.html</link>
         <guid>http://interactive.usc.edu/members/hchen/2008/10/kosoge_how_terrible_can_a_game.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">crap game</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">famitsu</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">garbage game</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">kusoge</category>
        
         <pubDate>Wed, 15 Oct 2008 14:16:03 -0800</pubDate>
      </item>
      
   </channel>
</rss>
