Index: src/com/example/helloandroid/Game.java
===================================================================
--- src/com/example/helloandroid/Game.java	(revision 5a03a06f69e7d96e46c10b9ff7cc7f11be435bd7)
+++ src/com/example/helloandroid/Game.java	(revision b6a9b5f04771a141224e9fb6a56ffe9b8099efb9)
@@ -112,5 +112,5 @@
         if (savedInstanceState == null) {
             // we were just launched: set up a new game
-        	mThread.setState(DrawingThread.STATE_READY);
+        	mThread.setState(DrawingThread.STATE_RUNNING);
             Log.w(this.getClass().getName(), "SIS is null");
         } else {
Index: src/com/example/helloandroid/GameView.java
===================================================================
--- src/com/example/helloandroid/GameView.java	(revision 5a03a06f69e7d96e46c10b9ff7cc7f11be435bd7)
+++ src/com/example/helloandroid/GameView.java	(revision b6a9b5f04771a141224e9fb6a56ffe9b8099efb9)
@@ -202,5 +202,5 @@
             mTextPaint = new Paint();
             mTextPaint.setAntiAlias(true);
-            mTextPaint.setARGB(255, 255, 0, 0);
+            mTextPaint.setARGB(255, 255, 255, 255);
 
             mWinsInARow = 0;
@@ -310,8 +310,12 @@
         public void run() {
             while (mRun) {
+            	//Log.i("Gencon", "run called");
+            	
                 Canvas c = null;
                 try {
                     c = mSurfaceHolder.lockCanvas(null);
                     synchronized (mSurfaceHolder) {
+                    	//Log.i("Gencon", "about to call stuff: mode is "+mMode);
+                    	
                         if (mMode == STATE_RUNNING) updatePhysics();
                         doDraw(c);
@@ -418,7 +422,4 @@
              * thread, which updates the user-text View.
              */
-        	boolean test = true;
-        	if(test)
-        		return;
             synchronized (mSurfaceHolder) {
                 mMode = mode;
@@ -470,11 +471,10 @@
                 mCanvasHeight = height;
                 
-                Log.i(this.getClass().getName(), "width: "+mCanvasWidth+", height: "+mCanvasHeight);
+                Log.i("Gencon", "width: "+mCanvasWidth+", height: "+mCanvasHeight);
                 
                 Random rand = new Random();
 
-                for(int x=0; x<10; x++) {
+                for(int x=0; x<15; x++) {
                 	Planet p = new Planet(rand.nextInt(45)+5, rand.nextInt(mCanvasWidth), rand.nextInt(mCanvasHeight));
-                	p.setNumShips(rand.nextInt(150));
                 	
                 	if(Planet.collisionDetected(p, planets)) {
@@ -484,4 +484,6 @@
                 		x--;
                 	}else {
+                		p.setNumShips(rand.nextInt(150));
+                		p.setFaction(rand.nextInt(5));
                 		planets.add(p);
                 	}
@@ -569,9 +571,10 @@
             // Draw the background image. Operations on the Canvas accumulate
             // so this is like clearing the screen.
-            canvas.drawBitmap(mBackgroundImage, 0, 0, null);
             
+        	//Log.i("Gencon", "doDraw called");
+        	
+        	canvas.drawBitmap(mBackgroundImage, 0, 0, null);
             for(Planet p : planets) {
-            	canvas.drawCircle(p.getX(), p.getY(), p.getRadius(), mLinePaint);
-            	canvas.drawText(Integer.toString(p.getNumShips()), p.getX(), p.getY(), mTextPaint);
+            	p.draw(canvas, mLinePaint, mTextPaint);
             }
             
@@ -601,4 +604,6 @@
          */
         private void updatePhysics() {
+        	//Log.i("Gencon", "updatePhysics called");
+        	
             long now = System.currentTimeMillis();
 
@@ -702,5 +707,5 @@
                 }
 
-                setState(result, message);
+                //setState(result, message);
             }
         }
Index: src/com/example/helloandroid/Planet.java
===================================================================
--- src/com/example/helloandroid/Planet.java	(revision 5a03a06f69e7d96e46c10b9ff7cc7f11be435bd7)
+++ src/com/example/helloandroid/Planet.java	(revision b6a9b5f04771a141224e9fb6a56ffe9b8099efb9)
@@ -2,4 +2,10 @@
 
 import java.util.ArrayList;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Paint.FontMetrics;
+import android.util.Log;
 
 public class Planet {
@@ -40,12 +46,46 @@
 		numShips = num;
 	}
-	
+
 	public void setFaction(int faction) {
 		this.faction = faction;
 	}
 	
+	public void draw(Canvas canvas, Paint linePaint, Paint textPaint) {
+		FontMetrics metrics = textPaint.getFontMetrics();
+		
+		int c, prevC = linePaint.getColor();
+		
+		switch(faction) {
+		case 0:
+			c = Color.argb(255, 100, 100, 100);
+			break;
+		case 1:
+			c = Color.argb(255, 255, 0, 0);
+			break;
+		case 2:
+			c = Color.argb(255, 0, 255, 0);
+			break;
+		case 3:
+			c = Color.argb(255, 0, 0, 255);
+			break;
+		case 4:
+			c = Color.argb(255, 255, 255, 0);
+			break;
+		default:
+			c = prevC;
+		}
+		
+		linePaint.setColor(c);
+		
+		canvas.drawCircle(x, y, getRadius(), linePaint);
+    	canvas.drawText(Integer.toString(numShips), x-textPaint.measureText(Integer.toString(numShips))/2, y-(metrics.ascent+metrics.descent)/2, textPaint);
+	
+    	linePaint.setColor(prevC);
+	}
+	
 	public void update() {
-		//regen ships if not owned by faction 0
-		numShips++;
+		if(faction != 0)
+			numShips++;
+		
 	}
 	
