## Tuesday, June 4, 2013

### A Small Study on Genetic Algorithm

Recently, I have a chance to visit a new technique in problem solving algorithm called Genetic Algorithm. I'm sure it's been around for quite some time, but it never occurred to me before. The problem with this algorithm is it doesn't seem to have a mathematical proof that it can solve a problem, or at least that what I thought. However, after a few days struggling  and coding, I finally understand how it works and why it will work. This is a co-joint work with Martin Nelly for her undergraduate thesis.

## Tuesday, October 16, 2012

### Simulating Laser: Line-Circle Intersection

Recently, I tried to apply a new kind of enemy which use laser. At first it seems so simple until I realise that laser-object intersection is not something that I know right away. The laser is a line and the object that I need to intersect, which is the player, is circle. So I need to figure out how to find an intersection point between a line and a circle.

## Tuesday, October 9, 2012

### The Expensive Cost of Updating Xcode

Recently I tried to update my Xcode, a 1.6 GB program with a 1.6 GB Update. Yes, you read it right. So apparently Apple have no idea how to give user a proper patch. And to make it worse, I have to re-download the whole plugins (iOS Simulator, Compiler) that I've already downloaded. Yes I live in a town where Internet is a luxury thing, but it doesn't give them an excuse to implement a stupid patch, right?

## Tuesday, July 31, 2012

### Installing Mountain Lion: Is Apple trolling me?

After two failed 3GB download, I noticed that Mountain Lion Download Progress can't be Paused/Resumed. Well... kinda! Here's the trick: You can Pause/Resume the download, disconnect your Mac from the internet, and even put your Mac to sleep mode, but do NOT ever shut it down! Apparently, the downloaded file removed when you shut down the Mighty Mac.

### Programming: AI for Following a Target

Recently, I changed my code used in an enemy that follows the player. Apparently I did a huge mistake by using cross and dot products. There are simpler way to do it by using angle values. Here is how it works.