Personal Projects

These are some of my project I made because I was interested in learning more about them.


Coded in: Processing (Java)

Using Brownian motion to create snowflakes. Just like real snowflakes, each snowflake generated is random.

To read more:

Flocking Algorithm

Coded in: Unity, C#

This project started because I wanted to study the movement of a school of fish. Once I had nailed down the flocking I implemented them on fireflies for aesthetic reasons.

There are three basic steps for any flock:

  1. A group of animals are going to tend towards the center of a group. So we calculate the group and slowly turn the animal towards the center.
  2. The flock turns towards the average heading of the entire group.
  3. Each animal has to avoid other ones.

Here’s the final video:


Procedural Maze Generator

Coded in: Unity, C#

After generating terrain procedurally, I wanted to see if I can generate a maze.

I used DFS algorithm to make sure that every node could be visited.

Here’s a video of it working.

After this, I wanted to see how optimized Unity’s Navmesh algorithm is. Since I had the code to generate any size of maze, it was easy for me to slowly increment the size.

After some tweaking, I found it’s breaking point.