During my BSc (Computer Science) and MSc (Game and Media Technology) programmes at Utrecht University, I have learned to use programming languages such as C++, Java and PHP to achieve practical goals.

Below is a list of my most interesting programming projects so far. If a project has a corresponding blog article, you can click on its title or preview image to read more.


Stample (2014)

With Stample on your Android device, you can collect virtual stamps by visiting interesting real-world locations. View your collection on an interactive map, trade stamps with friends, and collect achievements! I was a programmer and the artist in our two-man team Orange Gears.

Keywords: Android, Java, location-based game, stamp art

Multi-Layered Density-Based Crowd Simulation

Multi-Layered Density-Based Crowd Simulation (2011)

The C++ program for my MSc thesis. It builds a navigation mesh of a multi-layered environment, and it allows tens of thousands of autonomous characters to walk through this environment in real-time.

Keywords: path planning, crowd simulation, medial axis, computational geometry, navigation mesh, C++

Peat Lake Web Game

Peat Lake Web Game (2010)

A web-based quiz game, combining questions about Dutch peat lakes (i.e. "veenplassen") and Rich Internet Applications (RIAs).

Keywords: JavaScript, DOM scripting, HTML, CSS

3D Physics Simulation with ODE

3D Physics Simulation with ODE (2010)

A C++ framework in which 3D objects can be launched, which will then move around according to the laws of physics.

Keywords: C++, Ogre, ODE, physics, motion prediction, dead-reckoning

Mario-Themed First-Person Pacman

Mario-Themed First-Person Pacman (2010)

C++ exercise. A 3D version of the famous Pacman game, with visual elements from that other famous game. Collect coins and stars while being chased by ghosts.

Keywords: C++, Ogre, 3D graphics, first-person perspective, file handling

Computer Vision: Panorama Photo Stitcher

Computer Vision: Panorama Photo Stitcher (2010)

Given a set of separate photographs of the same environment, this program attempts to stitch them together into one image, based on the so-called SIFT image features they have in common.

Keywords: computer vision, image feature detection, SIFT, OpenCV, image stitching

Dragon Slayer, Chapter I: Quest for the Burger

Dragon Slayer, Chapter I: Quest for the Burger (2010)

A text adventure game (parody) in C++, as a game engine programming exercise.

Keywords: text adventure, C++, game engine programming, file handling

GlobeBlog: PHP-Based Blog Website

GlobeBlog: PHP-Based Blog Website (2009)

A fictional website where visitors can create an account, write blog articles labelled with their current location on the planet, and comment on other people's blogs.

Keywords: PHP, JavaScript, cookies, web security, HTML, CSS

Line Detection: Hough Transform

Line Detection: Hough Transform (2009)

Read greyscale images, apply pre-processing operations and then look for edges in the image, by applying the Hough transform.

Keywords: Java, image processing, edge detection

Ray Tracing in Java

Ray Tracing in Java (2008)

Given a set of 3D objects and camera settings, this program renders a fancy 2D image by using ray tracing techniques.

Keywords: Java, graphics rendering, ray tracing, 3D geometry

Reversi/Othello in Java

Reversi/Othello in Java (2006)

A very early Java exercise: play the famous Reversi/Othello board game with a friend. Enclose gems of your opponent's colour (in a straight line) to make them yours. In the end, the player with the most gems wins.

Keywords: Java, applet, mouse interaction

latest articles

Take a look at the latest articles on this topic:

... or view them all in the Words section.