Robocalypse: Beaver Defense

In the middle of 2008, I was a little bit tired of the computer clusters, industrial robots, and applied math. And, after the 2 years I’ve spent on my previous job I no longer liked the lunch menu of the restaurants around the office.

That’s why I’ve decided to change a job, and make one more try in the video games industry.

So I lazily initiated job seeking. A bit later, I found myself leaving the Align Technology, Inc., and moving to Vogster Entertainment, L.L.C., to work on some WiiWare project.

The title was “Robocalypse: Beaver Defense”.

Here’s the video:

Press "Play", then from the dropdown switch to the "480p" ASAP. Sorry I was unable to set 480p mode as default: damn Google broke it months ago, still no fix.

Frankly, I prepared myself for the crazy working style that is traditionally associated with the video games industry: deadlines, absence of the project management, requirements changing every day, etc… See the 2006 Grandma's Boy movie for details.

The reality was much better.

Due to the expertise of my boss Elena the project was managed smoothly. She usually mentions herself as the lead developer in that project; however she had lots of project management tasks and responsibilities.

It was my first experience developing complex software that does not run on Windows.

Just as I expected, the Nintendo Wii toolset is awful.

They use the 10 years old IDE. They only support Windows XP 32-bit for their tools. They extensively use cygwin environment: I could understand if they ported something from *nix, but no, they intentionally use it on Windows platform from the very beginning, instead of more suitable technologies like WSH or PowerShell. Their API is under-engineered: I could name several large components that were re-implemented by every team in the world developing for the WII, and their implementations are practically the same. And at last, Nintendo’s very expensive dev.kit needs 3 USB cables to connect to PC (see the video showcasing a dev.kit), while they obviously have enough space inside to incorporate a USB hub.

Fortunately, I was able to somewhat improve the situation. For example, I set up Visual Studio IDE for the project, and I developed several HTA GUI applications and CMD scripts to simplify that cygwin command-line mess. As for the USB cables, we used the USB hubs integrated into the display connected to the development kit.

Our team was small. While the credits list dozens of programmers, there were actually only 3 of us. So, besides working on the game itself, I often found myself developing various tools to assist in the project, like a build server.

But of course, I programmed the game too. For example, if you played the game, and noticed how enemy units avoid the turrets coverage areas, sometimes they even choose longer but safer path — I'm the person responsible for that. Here's my article about the pathfinding.

I can name only one downside: our office was closed in the end of 2009, and we were all laid off. The game passed the Nintendo’s lot checks and eventually shipped months after that.

Written August, 2010; last update June 2011.