School of fish

May 20, 2010

Separation, Alignment, Cohesion. These are the simple rules that dictate how a school of fish (or a flock) behaves. My good friend and classmate Thomas Komair wrote the AI that simulates the flocking behavior. I took care of the framework, the basic tools and routines that he would need in order to implement and debug the project. Thomas did a great job and it is my belief that this video is a modest tribute to the incredible beauty and complexity of our natural world.

This video demos various methods for quaternion interpolation. The tip of the spaceship travels along the surface of the unit quaternion hypersphere and defines a 3D curve that is drawn in yellow. For more information, I can provide the application with explanations on the various interpolation methods. But simply put, this demo shows the quaternion equivalent of a bezier curve or cubic spline for a 3D vector.

Deferred Lighting

May 7, 2010

This video demos deferred lighting. It is a very common technique nowadays. I have 14 lights in the scene. It is a small number compared to what the technique can actually handle. However in my case since I wanted a light rotating around each column 14 was enough. I do see the appeal of DL and the benefits on the long run.

Path Finding

May 7, 2010

This was a project for an AI class. The goal was to implement A* with path smoothing, simplification, heuristics, and rubber banding. The Instructor gave us a framework and took care of the rendering, the input and the animation. The focus of the project was on A*.

Parallax Mapping

May 7, 2010

This is a simple demo of parallax mapping. It shows how using a depth and normal map one can emulate the illusion of parallax and therefore depth on a flat geometry. The depth factor variable controls how deep the ground goes. When it is zero, the technique becomes normal mapping

This is the current state of my rigid body simulation. As I previously mentioned it uses MPR for the narrow phase of collision detection and Iterative Dynamics with Temporal Coherence for the resolution. I did not put friction in just yet, but I plan on adding it later along with Rag doll style bodies with joint constraints since IDTC allows it for it is a constraint based solver.

Week End project

November 7, 2009

Here is a video that demonstrate dynamic environment mapping. Not too terrible to implement, I did it his morning, but I think it looks cool. Refraction takes into account chromatic dispersion. The models are exported using my FBX exporter that exports to a binary format my framework can load.

Project Run

October 23, 2009

This is a video of the game that I and my team worked on last year. I did the graphics, the graphics asset loading and management, I also took care of the animation system (not the game logic attached to it). I did the art pipeline (yes we had artist!), made a 3DSMax material exporter I also worked on the rendering part of the level editor (I am working on getting some footage). This game had a lot of neat cool features like asynchronous loading, shaders dynamic data binding, it was LUA driven, it had a powerful messaging system an nice level editor and a memory manager. We had a tweak manager that used antTweakBar. We could register delegates accessible by LUA, or via messages. Working on a game of this size allowed me to have an exposure to pretty much all the aspects of making a game. From the tools to game play, graphics, physics and how to communicated between the various elements of the game. It tough me a lot about team work, time management, meeting the deadlines and how it is critical even for a small game. I think a came out of that experience a better programmer.

Resumes

October 22, 2009

Feel free to download them.

Thank you.

Gfx Resume

Resume

PS:  The first one is more graphics oriented and exhibits my capabilities in that area. The second one is more of a regular CS Major resume with emphasis on game projects. Feel free to download both.

Wii Game project

October 20, 2009

This is a project I worked on over the summer. The game runs on a Wii dev Kit. I use the Wii Remote to aim and the trigger to shoot. The Nunchuck is used to move in screen space. The controller vibrates when you get hit and it vibrates softer when you shoot. Developing on the Wii was not too hard (mainly because I did not have to deal with localization, options, control remapping, fun factor, play testing, and all the other things that AAA games have to deal with). I cannot go too much in depth about the code because I signed an NDA and I do not know what I am allowed to say. It was a very rich, fun, and humbling experience to develop on that platform.

Follow

Get every new post delivered to your Inbox.