In December 2015 I saw an ad on Facebook, advertising a competition organised and sponsored by Microsoft, called Microsoft ImagineCup Earth. The goal of the competition was simple - create a web application which in some creative way uses datasets provided by NASA on algae concentration in the Bay of Bengal. The competition was supposed to raise awareness about the negative consequences of algal blooms.

I initially planned to start working on the project at the beginning of 2016, but because of the lack of ideas I only got round to developing it in March. My idea was based on a game created by a contestant from Venezuela in the first round of the competition. My goal was to create a strategy game, in which the player becomes a manager at a biofuel production company, whose role is to deploy ships and harvest algae in the Bay of Bengal. The simple concept quickly transformed into quite a complex game, with upgrades and trading. I created the whole game in less than two weeks, where one week of the time I was working remotely from London.

After around two months the results were announced - I was awarded second place, and received 2000 dollars. Not bad.

Peter created AlgaeRush - a fast-paced strategy game that puts the player in the shoes of a manager at a biofuel production company. As the manager, players control and maintain a fleet of ships to harvest algae blooms in the Bay of Bengal to make biofuel.
~ Microsoft Imagine judges

So, what did I learn from this project? I think one of the most important things I learned is to never use jQuery for constant DOM updates. My game would update the DOM every 100ms, which was quite a performance issue, especially when it was updating loads of HTML. When constant DOM updates are needed, it is worth using React, which maintains a virtual DOM and only updates the webpage when it needs to.

Because of the lack of time, I didn't work too hard on the graphical design of the game, which I think was quite a big mistake.

You can check out the project here.