OpenGL 3D Game Penguin vs Alien

Alexander Chen, Jack Zhou

Date: April, 2, 2011


This project was inspired by CSC418 Introduction to Computer Graphics offered by the University of Toronto. It utilized computer graphics technique such as key frame estimation, collision detection, texture mapping and so on. This is the first time I was introduced to OpenGL and 3D graphics programming. It is also the first game I have ever developed in my life. Some part of this project utilize code from this website:


This project allows the user to control the penguin in order to eliminate the maximum amount of alien in a short period of time. The program takes four input from the user, which control the moving direction of the penguin. Techniques such as keyframe estimation, collision detection, texture mapping, model loading are used in this projects.

Texture Mapping & KeyFrame Estimation

In this project, the user is also able to change the texture mapping of the penguin. The texture mapping includes metallic, wireframe, and special lighting condition. In addition, while the penguin is moving around, it will always repeats one single motion which is implemented using keyframe estimation.

Terrain & Alien

In order to produce the alien, we use a m2d model loader code referenced from which allowed as to load m2d model (the aliens) into the game. As for the terrain and the sea, is also referenced from the same website. What I did is modifying the alien coordinates from 2D to 3D. Therefore, the aliens and the penguin can walk around on the Terrain.

Collision Detection & Penguin Killing Aliens

Collision detection and penguin killing aliens are basically implemented the same way. Each alien and penguin objects has its own 3D coordinates. If the 3D coordinate overlaps, that means either a collision between alien has occurred or a penguin killing alien action has occurred.

Show your support

Clapping shows how much you appreciated Alex Chen’s story.