Thursday, December 17, 2009

Goldie The Robot


My first term project at École Polytechnique was programming a robot cappable of traversing an obstacle course for which my team won the "Philippe et Lilly Malouf" given to the best project (which I think is mostly due to the fact that I painted the rims gold haha). The robot was powered by an Atmel AVR, it had two wheels, an LCD screen, a distance sensor, 3 light sensors and a speaker.
I was the project lead and software architect during this project and on top of having created the best robot of our semester, I feel as though the software design was top notch! I designed a task oriented architecture with a generic task runner and task scheduler on the Atmel AVR. During this project I felt abstraction was the key to success and since the Atmel AVR only supported a dwarfed version of C++, this was easier said than done. The first thing I programmed was an abstraction layer for the ports of our microcontroller so we wouldn`t have to bother doing bitwise operations, queries and pwm generation in higher levels of our architecture. This let my team focus on the important parts of our robots AI and not get bogged downed by repetitively writing the same code over and over again (which is very error prone).

All this fuss about architecture was really worth it because in the end, we came out on top, and the teams who condensed their entire code in the main() function (slight exaggeration on my part haha), well most of them didn`t have a working project in the end.



Thursday, June 11, 2009

FnMouche


FnMouche is the first game that came out of Poly{GAMES}; Polytechnique’s game development society. I am very proud of this project considering this is my very first game and that we submitted it to the IGF. It was coded using the XNA Framework and managed DirectX. We were two programmers and we created this game in 2 months. We were lucky enough to find two 3D artists, one film buff, and two musicians to help us out with this project.
This first game taught me important aspects of HLSL Shaders (for the drunken variable blur effect), Screen Management, and basic object oriented architecture design.

The 3D artists that made our models were Charles Étienne-Gouin and Laurent Gignac. The film buff was Antoine Bergevin Richer who helped us with the décor and the editing. The two musicians who wrote an original score for our game were Antoine Pelegrin and Maxime Tremblay Rheault. And last but not least Jean-Rémi Desjardins was the brave soul programming at my sides during a pretty intense two month period.

I thought of this quirky idea thanks to the grotesque apartment my buddies lived in at the time. The same one that’s at the heart of our game, and I’m not sure if you’re going to believe me but, we pretty much photographed it in its natural state.


Saturday, January 3, 2009

Mame Box


There's nothing more effective at putting a smile on my face than a game of Metal Slug. That's why I set out to build my very own MAME box, that and the fact that I had too much time on my hands before starting my Bachelor's degree in Software Engineering.
I started out by demolishing an old Thinkpad laptop that could barely run Windows NT (which I bought a decade ago) and making it boot KnoppixMame, a standalone MAME emulator.

What I am most proud of is the custom built joystick I made. After seeing that commercially made joysticks could run you north of 100$, I decided to go the Hack A Day way. With a couple micro switches, a bolt, a spring, an old diskette case and a 5$ USB controller, I worked out a plan on Autocad and built myself an awesome 4 way joystick capable of satisfying any man's Metal Slug needs.