Skip to content

Programming Projects

This page contain my portfolio for some of my programming projects.
All projects are done using C++ unless otherwise stated.

Cloth Simulation
Oct-Tree Implementation
GJK Collision Detection
AI
Shadow (Graphics)
Bump Mapping(Graphics)
Physics Engine

2D Picking and Collision
Texture Mapping

FeeBee(Side Scroller Game)

Simple Asteroid Game
Ball Collision with Ball/Wall
Simple aircraft carrier 3D



Cloth Simulation

This is a Cloth Simulation I made for my class. It uses verlet integrator.

Back to top


Oct-Tree Implementation

This is a generic Oct-Tree Implementation that only grows deeper when needed. A more ideal and efficient one could of course be made when we know the size of the objects in the game.

Back to top


GJK Collision Detection

This is an implementation of GJK Algorithm, it basically detects collision or any randomly shaped objects that has faces, however I only showed up to cube to cube collision in this implementation.

Back to top


Game AI

Game AI implementation. (A* with smoothing) (A* with Terrain Analysis) (A* with Fog Of War) (Automated Nav Mesh Generation)

Back to top

Shadow

Shadow Implementation

Back to top

Bump Mapping

Bump Mapping Implementation

Back to top

Physics Engine
I was researching on a face to face and obb collision that would be generic enough for all kind of 3d rotational until I ran out of time. Nevertheless I had learnt alot in trying to get to that implementation.

Eventually, I had to rely on a source to get my Physics Engine up quick, the source file that I followed to add into my framework for the physics to work came from Ben Kenwright, and the url is at http://www.xbdev.net/physics/RigidBodyImpulseCubes/index.php. Special thanks to Ben for the helpful tutorial he has provided.

The source uses face to face collision and uses quaternion as orientation. I had no time to figure out how quaternion works, however I would after this semester after taking my Mat classes that teaches quaternions.

Back to top



2D Picking and Collision

Created as an assignment at Digipen Institute of Technology Singapore.
Implemented 2D bounding rectangle,circle,polygon picking.
Collision checks are also implemented between these different shapes.
Other 2D related graphics implementation includes line/ellipse drawing, and triangle rasterizer, which are highly optimized.

Back to top


Texture Mapping

Created as an assignment at Digipen Institute of Technology Singapore.
Implemented texture mapping with different colour blending mode.
Able to implement it using both linear and bi-linear interpolation, the final output is done using linear interpolation.

Back to top


FeeBee(Side Scroller Game)(Click here to download)
If the link above fail, download the file here and change the extension from .doc to .zip

Created as an assignment at Digipen Institute of Technology Singapore.
Implemented the creation of instances of enemies and bullets.
Implemented movement of FeeBee and enemies.
Created game logic.(Reaction when hit by bullet or by enemy).

Back to top


Simple Asteroid Game

Created as an assignment at Digipen Institute of Technology Singapore.
Implemented movement of spaceship and asteroid, as well as bounding rectangle collision check between objects.

Back to top


Ball Collision with Ball/Wall

Created as an assignment at Digipen Institute of Technology Singapore.
Implemented Ball-Line and Ball-Ball collision with collision response.

Back to top


Simple aircraft carrier 3D(Click here to download)
If the link above fail, download the file here and change the extension from .doc to .zip

Implemented using DarkBasic Pro.
Configured the enviroment.
Implemented plane to fly off the carrier, and fly back to the carrier.
Implemented plane movement.

Back to top

%d bloggers like this: