Games Programming

I studied Visual Basic and C++ in college, then went on to study Assembler, C++, Java, C#, both OpenGL and DirectX in University.

Here are a few projects from my University modules;

[XNA // C# // Project: Brotherhood MMO]

The aim was to create an engine for a Massively Multilayer Online Game. I created a windows form / xna combination, with a concept game (based of Graal 2001) to show the functions of my game engine. This included collision detection, real-time chat, tcp/ip connections from over 200 players on local or remote servers.


—-development report.
—-windows binary.

(Please note the in-game graphics of the Brotherhood MMO were not created by myself, they are for proof of concept only. This project was purely programming based).

[C# // Project: Tic Tac Toe / Naughts and Crosses]

For this project I created two programs, a server and a client. When the server was running, a client could either connect to a two-player game (via the server), or play a single player local game against AI.
I’ll upload screenshots, binaries and source code at a later date.

[iPhone SDK Concept // Project: Tantrix]

—-development strategy.
—-windows binary.
—-demo play instructions.

[DirectX // C++ // Project: Untitled RTS]

This is a Object Oriented DirectX project. It’s in deep development, but basically it’s a Real Time Strategy game. The player will control an on-screen character with mouse and keyboard.
I’ll upload screenshots, binaries and source code at a later date.

Here’s some of my 1st year material:

[OpenGL // C++ // Project: Dinosaurs]

This was a fun project – I enjoy coding in OpenGL, far more than DirectX.

Objective 1; Create a dinosaur with moving neck (up & down), and changeable lighting (brighten/dim) with an option to reset all.

Objective 2; Create a sketched natural environment using code only (no importing of bitmaps). The mountains had to render randomly on each launch of the game. I also added functionality for the mountains to render differently on each press of the reset button.

Objective 3; Put it all together. Here it is;

y = rotate dinosaur
t = raise neck
r = lower neck
s = dim light
l = brighten light
c = clear all / reset


/image expired.

[OpenGL // C++ // Project: Truck]

This was my very first OpenGL coding project at Uni. The task was to create a truck with opening/closing windows and doors, that will scale off a platform with automatic animation, when the user right clicks. As you can see I added a few little functions. This was the start of my love for OpenGL.

x,y,z = rotate the truck on their respective axis
o = open/close door
u = headlights on and off
p = open/close windows
s = scale truck smaller
f = move truck forward
b = move truck backwards
e = turn exhaust smoke on/off
c = clear all / reset
Clicking the Right Mouse Button will start an animation where the truck will drive off the platform, falling and scaling in size.

—-ubuntu binary.

[Object Oriented // Java // Project: Calendar]

The brief:

Implement classes DisplayManager (abstract class), CalendarManager. CalendarManager dis-
plays in text format one month at a time.
The CalendarManager class should provide a method which displays a text menu, giving
the user the capability of selecting the calendar of a month for a specific year to display. For
example, when the user enters October and 2005, the following should be displayed:
October 2005
Su Mo Tu We Th Fr Sa
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
To find out, the day of the week for a specific date, you might find useful the GregorianCalendar
class (and its related classes), located in the Java library package java.util.
The displayed text menu, should also give the user the possibility to store information (in
terms of a long string) for an appointment set at some specific date (day, month and year).
For example, by selecting option c (create appointment), the user should be prompted for a
day, month and year to set an appointment. Following that, the user should be asked for the
appointment’s description (e.g. Meeting with supervisor to discuss project progress).
The menu should also give the user the capability of retrieving all the information about
appointments on a specific date.
Implement a test class which creates instances of all the implemented classes and tests their

/image expire

To run the program open a console window and type Java TestCalendar (you will need Java installed).

[Object Oriented // Java // Project: Employee DB]

This was my first look at Object Oriented programming. It really opened my eyes to the wonders of coding with Objects! The assignment:

Write a program named Personnel that maintains salary information for the employees of a
company. The program should display a text based menu, giving the user a choice of selecting
a command.
The commands that the program should support are: n (create new employee by pressing
the n button), l (list all employees), p (compute all paychecks), r (raise wages), and q (exit the
The n command creates a new employee and prompts the user for the name of the employee,
and whether the employee is an hourly paid, or has an annual salary. If the user selects to create
an hourly paid employee, he/should be prompted for the hourly rate, otherwise he/should be
prompted for the annual salary of the employee.
The p command calculates and displays on the screen the amount that it should be paid
to each individual employee who already exists in the system. Assuming that hourly paid
employees have been created, the p command should ask the user for the number of hours that
each individual hourly paid employee has worked for.
The r command should prompt the user for a percentage rate. All salaries (annual and
hourly) should be increased by this rate.
Additionally, the user should be able to display all the employees with an annual salary in
ascending order, according to their salaries. I.e. the employee with the smallest salary should
be displayed first, the employee with the second smallest salary should be displayed next, etc.
The program should implement the classes Employee (abstract class), HourlyEmployee,
SalariedEmployee with appropriate methods.
Implement a test class which creates instances of all the implemented classes and tests their

[Object Oriented // Java // Project: Guinness Results]

Shortly after doing my first Java project (see above), I quickly whipped up this program for my friend.
He needed a program to read the football results from a source, check them against the previous week’s and show the league fixtures.
It had to display how a team had improved or not, how many matches they had played, and the results.

  • Outsourcing Copenhagen

    I'd be lost without Programming


      Follow me on Spotify

Page optimized by WP Minify WordPress Plugin