Ian Chan

tsb_news ( at ) hotmail
647-404-6223
Welcome, I am a 4th year Computer Science student studying at the University of Toronto. I am highly interested in user interface design, usability and user centered design.
Selected Project Summary
Ray Tracer
2008 - University of Toronto : Dept. Computer Science

Technology:C++
I implemented, with the help of some started code, a nice little ray tracer. I support simple shapdes like spheres, and planes. For the refractive shading model, I used the following formula which I tweaked while debugging: color = a*local + b*refractive + c*reflective (Where a+b+c = 1) I included the following features:
  • 4 x antialiasing with Monte Carlo sampling.
  • Full Phong Shading
  • Hard shadows
  • 4 x Recursion for reflection
  • Refraction with 5 max bounces
  • Motion blur by averaging n exposures
 
3D Penguin
2008 - University of Toronto : Dept. Computer Science

Technology:C++, openGL
Here I implemented a simple penguin in 3d using openGL. With some simple keyframing and Catmull-Rom interpolation for animation, the penguin could move around smoothly. I implemented several shading models including toon shading and a full phong shading model. To smooth the corners of my primitive 3d blocks, I implemented a beveling algorithm which added and extended the corners of each polygon based on a exponential function. The limbs were all controllable, I used glUI to allow a user to move the: arms, hands, neck, beak, legs, feet. The light source was movable, and the size of the light cone was also adjustable. My subsurface beveling algorithm raised each subsurface away from the surface along the normal placing the vertex at (x, y, z) times:
ti - was how many subsurfaces I wanted
i - current depth of recursion
unitNorm - a unit normal of 3 of the 4 (assumed) planer coordinates
bevelCoeff - a multiplying factor for how exaggerated the bevel was
 
Quanticom Systems
2008 - Video Game

Team:Chris Semoff
Technology: Flash, AS2.0
For the 2008 UofT Game Making Deathmatch, my team decided to make a "tower defense" tribute game. This year's theme was: "Deadly Viruses from Dimension N+1". This game included writing a light-weight path finding algorithm which had mindless scientists wandering around a lab. The goal of the game was to prevent them from exiting the room. Our team was runner up for both Sound/Music and Adherence to Theme. Another great contest!

Official Game Review
Game link up soon..
 
Choon : TOJam 2008
2008 - Video Game

Team:Andrej Karpathy, Daniel Lister, Jonathan Doda
Technology: Adobe Photoshop, Adobe Flash
I took a break from my usual programming duties and was the artist for some friends out who entered the TOJam 2008 game development contest. TOJam is a 3 day game dev. cram session which packed 30+ game developers in a room for an entire weekend as they slaved away at their entries. Based on their requirements I drew animations and sprites for the simple but very addicting side scrolling adventure.

http://www.tojam.ca/games_2008/choon.asp
 
Rigid Body Dynamics
2008 - Experimental

Technology: Flash, AS2.0
I was curious about the idea of RBD's and wanted to try implementing it in Flash. I made a simple 3 joint structure and allowed users to swing the top joint. The graph below it displays the angle, angular momentum and acceleration about the first joint. Though the experiment didn't fully obey real world physics, it looked pretty cool.
 
Ketsueki
2007 - Video Game

Graphic Designers: Mike Chan, Nick Papdapolous
Music:Scott Hansen (Tycho)
Technology: Flash, AS2.0
A fun puzzle game made for a UofT video game contest. The theme for the contest was "blood cells" so this is what my imagination came up with. This game was intended to be played on a Nintendo Wii and is a featured game on http://www.wiicade.com. This game won 2nd place at the UofT game development contest, and won 2nd place at the IADT video game development contest. I made a brief appearance on the popular television show Electric Playground where I was presented the 2nd place award from famous, and extremely friendly Victor Lucas.

http://www.wiicade.com/playGame.aspx?gameID=87
 
investMate
2007 - University of Toronto : Dept. Computer Science

Group: Flo Xhabija, Amish Patel, George Foncea, Rokham Sadeghnezhadfard, Mike Chiussi
Technology: Flash, AS2.0
Created a prototype for a proof of concept demo of our investment software. This prototype was used to demo the story of a few simple use cases. Our investment solution allowed novice investors to have generated portfolios based on basic market analysis and financial models.
 
STAX: Calendar System
2007 - Experimental

Technology: FLEX, AS3.0, PHP, mySQL
A research project at school required me to use the new Adobe Flex platform for a prototype. I created "STAX" an experimental "stack based" calendar system to learn the system. This applications allows users to make accounts, login, add/edit events and manage their time. This was mostly a proof of concept, and chance to learn FLEX and a bit of AS3.0. The prototype is fully functional and was implemented casually over a 1 week period.
 
Razors Rollerblades
2007 - Freelance Development

Graphic Designer: Miguel Vega
Technology: Flash, AS2.0, HTML, CSS, PHP, mySQL
The corporate website for RAZORS rollerblading company. This is one of the largest rollerblading companies in the world. The website was designed to be highly visual and interactive to suit the demographic. The site has rider profiles, blog updates and also a administration section that allows various content providers to make updates.
 
Wiimote Research Paper
2006 - University of Toronto : Dept. Computer Science

Advisor: Ravin Balakrishnan
Technology: C++, openGL, VICON Motion Capture System
For a 4th year research course, we were asked to create a novell means of interfacing with a video game. With the Nintendo Wii coming out soon, I wanted to create my own version of the WiiMote. I presented this project at the 2007 undergrad research showcase for University of Toronto : Dept. COmputer Science and was awarded best research presentation. This project is currently featured on the DCS website.

http://www.gotoandstop.com/csc490/
 
Flash 3D Engine
2006 - Experimental

Technology: Flash, AS2.0
Interested in the basic principles of 3D rendering, I attempted to write a simple 3D renderer in Flash. I wrote a fully object oriented rendering engine that would display simple models with up to 30 vertices. I used flat shading, and have some simple options toggling, outlines, shading, culling and normals. The two default models are an hour glass, and basic cube. I plan on loading more complex models, though the performance may be an issue.

http://www.gotoandstop.com/polyTest2.html
 
FLINUX : Web Terminal
2006 - Experimental

Technology: Flash, AS2.0, PHP, mySQL
Becoming more comfortable with the Unix environment, and becoming frustrated with bloated CMS tools I created a simple and lightweight shell for my website. I used Flash + PHP to write a quick command based interface into my webserver for basic content management. Though I made it as a pet project, I use this shell at least twice a week when looking for files on my server. I implemented basic functionality such as: ls, cwd, cd, cat and fortune. I also implemented a lightweight editor "fedit", and a SQL tunneling interface.
 
RFCC Allstars
2006 - Freelance Development

Graphic Designer: Miguel Vega
Technology: Flash, AS1.0, HTML, CSS, PHP, mySQL
A company website for a circuit of agressive rollerblading competitions. This website included a gallery, calendar and profile page for all the top competitors. This included an interactive front end and also a content management system in the back. The admin section allowed all the content to be fully customizable and controlled by the client.
 
Dimensional Disturbances
2006 - Video Game

Technology: Flash, AS1.0
Using this years theme for the UofT video game contest ("Dimensional Disturbances"), I wanted to have the player jump into various scenes in famous video games. This game contains 20 mini-games which all feature a brief 10 second snippet from a well know game (some of my child-hood favs). The graphics and music were all highly inspired by "Feel The Magic" for the Nintendo DS and also gameplay like "Wario-Ware". The games emulated include: Mario 1, Pong, Tetris, Donkey Kong Country, Punch Out, Minesweeper, Sonic, Rivercity Ransom, Space Invaders, Duck Hunt and more.. This game won 2nd prize.
 
Poker Simulator
2005 - Experimental

Technology: Flash, AS2.0
As an experiment to get more familiar with AS2.0, I designed a fully object oriented poker system that could simulate the trendy and popular varient "texas holdem". To test the system, I created a simple test suite which played 2 people against each other. This demonstrates a test runner which plays about 35 hands per second and dumps the game data. The demo was also used to gather some basic emperical data as at the time, I was facsinated with probability, statistics and Poker. The poker system is opensource and will be available soon.

http://www.gotoandstop.com/poker.swf
 
Flash 3D Engine
2005 - Experimental

Technology: Flash, AS1.0
Interested in pseduo 3d renderings, I had the idea of rendering a flat 2d matrix, drawing it isometrically, then raising each node in the y direction slightly to simulate height. I then filled each square and colored it accordingly based on the angle between the normal and the simulated camera. I also ensured that my 4-pixel polygons always made a single plane. I moved the matrix along 2 different sin waves to create a water like effect. This prototype has some basic controlls which allow you to play with those waves.

http://www.gotoandstop.com/3dTerrain.swf
 
GTA-Style 2D camera angle
2005 - Experimental

Technology: Flash, AS1.0
I was interested in the camera angle used in Grand Theft Auto 1-2, and was curious to see if I could mimic this in Flash. This experiement was a very quick, implementation of what I thought was going on. I had a stationary object (my blue car) and the world moving around it. Each building was presented by a randomly drawn box. A generate an artifical height of that building and then rendered another box ontop of that, connecting and then shading. The shading was hard coded (1 shade for each North, South, East, West) and the angle were calculated based on their height, and their distance to the center. I did simple collision detection against the car and the base of the building. This was my first experiementation with 3d. You can drive the car with the arrow keys.

http://www.gotoandstop.com/3dEngine.swf
 
Art On The Go
2005 - University of Toronto : Dept. Computer Science

Team: Mike Glueck, David Chang, Mark Cautillo, Daniel Steger
Technology: Flash, AS1.0
A prototype of our touch application for airplane computer terminals. Our goal was create an interactive applications for young children travelling on airplanes. The touch screens would offer entertainment to children during long flights. The project included requirements gathering, user studies, paper prototypes and user studies on the final prototype. The prototype here includes basic functionality, a coloring book feature, a connect the dots feature and some simple animations like page turning effect. This project was entered in the Interaction Design contest judged by IBM. Our project placed 2nd place.

http://www.gotoandstop.com/prototype3.html
 
Project 247 : Ghost of the Alpha Sector
2005 - Video Game

Level Design: Daniel Padhina
Technology: Flash, AS1.0
For a UofT video game contest, I created this fun Lost Viking like platform game. This was one of the first platform games I created and designed the game engine and level designer from scratch. The story of the game was slightly based of the sci-fi movie "CUBE". This game won 3rd place in the 2005 UofT game development contest.

http://www.gotoandstop.com/newGame/
 
Mario Hopskotch
2004 - Video Game

Technology: Flash, AS1.0
A platform game that simulates the classic Super Mario Brother 3 for the NES. The tile engine was designed from scratch and the images and sounds were pulled from ROMS and the net. The premise of the game originated from the famous video of someone beating Mario3 in 11 minutes. I tested and compared this against the re-released version of SMB3 for the GameBoy Advanced. This game was submitted to the http://www.kirupa.com game contest and placed 2nd place.

http://www.gotoandstop.com/game/game.swf
 
MacOS Tsunami Bar
2004 - Experimental

Technology: Flash, AS1.0
Though I am a Windows user, I was impressed with the MacOS dock. In particular, the cool wave effect or "tsumani" effect that occurs when you move your mouse near an item. I wanted to replicate this effect in Flash, so I created a simple demo that displays 5 icons. The second link provided is a sample effect that was eventually used on the JUG Shoe Company website. On the latter example, you can press CTRL to disable the wave, and space again to enable it.

http://www.gotoandstop.com/swfs/macOS.html
http://www.gotoandstop.com/swfs/jugBar.swf
 
Flash Content Manager
2003 - Experimental

Technology: Flash, AS1.0, PHP, Javascript
Seeing more Content Management Systems appear for HTML content, I wanted to try to make something similar for Flash. One of the biggest issues I find with Flash websites is the static nature of their content. Quite often, the person authoring the Flash page is not the same person authoring the content. As a result, I see many nice Flash websites whose content is clearly old. As a light-weight solution, I created a Flash GUI that interfaces with PHP and a flat txt file for content. This application included a basic content manager, and simple WYSIWYG editor for the html-rendered text.

This solution pre-dated my mySQL and XML usage, which I would later use for my CMS projects.

(URL Currently unavailable)