Sunday, October 31, 2010

Replica Island project setup

I was trying to run the Replica Island in the Android emulator, but I needed to setup the project correctly before I could proceed. Well, here's what I did.

Before everything else, make sure you've installed the Android SDK, Eclipse ADT, installed the relevant Android packages (install all if you're unsure), created the AVD and installed a subversion client (I'm using Subclipse).

Check out code
From trunk from http://replicaisland.googlecode.com/svn
Minimally, you will need to check out the "res" and "src" folders seperately.

Fix the xml in the "res" project.
Turns out there's some problem with apostrophes here.
This may be fixed in the future versions of the code, if so, just skip this step.
First, find "mustn't" in strings.xml in the values folder. Replace with "mustn\'t".
Second, find "I'll" in wanda.xml. Replace with "I\'ll".

Create a new Android project.
For project name, you can put anything. (I used "ReplicaIsland")
Check the "Create new project in workspace" radio button.
Check the "Use default location" checkbox. Else, specify your project location.
Select the Build Target. I checked Android 1.6.
Specify the application name as "Replica Island".
Specify the package name as "com.replica.replicaisland".
Click the "Finish" button.

Move the files to correct folders
Delete folders in the "res" in the "ReplicaIsland" project.
Copy all the folders inthe "res" folder checked out from SVN into the "res" folder in the "ReplicaIsland" project.
Copy all the Java files in the "src" folder checked out from SVN into the "com.replica.replicaisland" package in the "ReplicaIsland" project.

Replace the contents of AndroidManifest.xml
From http://replicaisland.googlecode.com/svn/trunk/AndroidManifest.xml

Finally run the project as an Android application.

And there you have it! The emulator should start up and Replica Island will start to run.

Sunday, October 17, 2010

Links dump 11-Oct-2010 to 17-Oct-2010

The Seven Wastes of Software Development

This talks about reducing the costs of developing software from a process-driven perspective. The seven wastes highlighted are:

  1. Partially Done Work

  2. Extra Features

  3. Relearning

  4. Handoffs

  5. Delays

  6. Task Switching

  7. Defects


As a programming grunt, I can readily identify with the problems highlighted. Basically the series talks about delivering value to customers and eliminating overheads while delivering software to the customer. These overheads are what constantly pisses off programmers. Unchecked-in, untested codes. Lost of domain knowledge. Unexplainable design decisions. Customer requests not correctly captured. Multi-tasking. Long-standing bugs that are just uncovered. The list goes on.

This is a must read for all involved in the business of building software.

Replica Island

Replica Island is a free, open-source game for Android.  I'm interested in designing some simple games but I've no experience doing such things. This website is great as source codes are provided for people to use some reference. The developer notes are also enlightening, tracing the design decisions and problems faced by Google developer, Chris Pruett. One of the most important sources of knowledge on Android game development.

chmod -x chmod

A puzzler for system administrators, what can you do if you remove the execute permission for the program that changes file permissions, aka chmod? Assume a data center environment and no Internet connection. Very interesting solutions provided.
Partially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

DefectsPartially Done Work

Extra Features

Relearning

Handoffs

Delays

Task Switching

Defec