experience
2007-2011 senior software developer at NDS Denmark
2 months in Staines, UK working on a set-top box front end (Java, threading)
2 weeks in India for a project handover
7 trips to Paris and one to Germany for project coordination
1 developer conference internal in NDS, presenting a project
2005 volunteer programmer on the project - Twilight - in cooperation with Aalborg University
education
2005 participated in one month of game programming in "Det Danske Akademi for Digital, Interaktiv Underholdning (DADIU)"2000-2005 Cand. Scient, Computer Science in Aalborg University
It is a classic side-scrolling platform game combined with free building of platforms. The hero can build platform on all tiles that are not solid. These tiles can be jumped on and destroyed to create a rain of magic. The magic reveals hidden objects and can destroy enemies below. There are 4 scrolls on each level. Collecting all 4 will make the hero enter the spirit world, where the master (exit) is revealed.
The target platform is very slow so much of the development time was spend optimizing the code. One of my tasks on this game was to develop a system for updating a full screen mpeg i-frame that represents the level. This left only the hero, enemies, HUD, and items for the OSD layer.
The game has three different gameplay modes: Classic side-scrolling platform, scrolling racing (like Micro Machines), and side-scrolling flying (balloon). At each mode the goal is to collect enough coins to pass the level. An advanced multiplier system rewards faster players with a higher score allowing competitive gameplay.
My part in this project was game programmer, i.e. coding logic for each level. Besides coding allot of technical level editing and even level design was required, making the overall job description fluent.
See review at about.com
A typical platformer with the twist that Ben 10 can change form into different creatures. Each creature has its own unique talents, e.g. one can jump higher and run fast, but cannot take as much damage, whereas another is slow, but efficient against enemies. Killing an enemy reveals a diamond and when all diamonds on the level is found, the level is completed.
With a team of two I have developed much of the game logic as well as the engine. Engine work consists of everything from collision systems to level creation and transitions to menu, etc.
Basically BomberBlaster is a modern clone of Bomberman 95, a fast paced multiplayer game. The gameplay is the exact same, but the graphics is 3D and the network code improved. The goal was to create the same game but improved for modern computers and operating systems.
My parts in this project has been mostly on graphics, sound, and finish but also game programming and network components. I've created all graphics in 3D Studio Max, including intro logo and character animations.
Conflict is basically a squad based strategy game emphasizing destructible environment. Character evolution and management also plays a big part. The background story is about a future war between USA and the countries in EU.
The semester's theme was Artificial Intelligence so one of the tasks in focus was to develop a game that had strategical elements. Some of the work i did on this game involved the AI and creating influence maps for strategical decisions and use fuzzy logic for reactional decisions. Other tasks involved shooting models, graphics and sound.
Based on an already established code base in c, the focus on this project was to make it easily re-skinnable. This involved text files for setting up placement of graphics and making robust code that could handle new and different data. My main responsibility was to handled the design of the game.
I was not on the original team making the game, that for some reason never finished it. My task was to completely update the look of the game and make it work. This was a challenge because it was a work in progress for many years with different developers.
The work involved everything from pushing pixels to find bugs in the module loading system.
The game is pretty straightforward and most of the work went into making the controls feel correct given the bulky controls of the remote control.
With a team of four (one graphics artist, one game designer, and two programmers) this game was done in a few months.
Paradise City was the main focus of Sirius Games with about 20 in-house developers. While the company was on the edge of bankruptcy a handful of people pushed to finish the game. I volunteered to switch from making a Nintendo DS title to work on the game.
Because of low staff and sickness there was a shortage in 3D animators, so I worked about two month on fixing motion capture data for all the characters in the game. Though I'm a programmer I earlier worked with 3D as a hobby, so I could quickly contribute to the process.
The game was finished and published as the company went bankrupt, but it never became a success.
Using the graphics and pre-rendered models from the PC version most of the work was on getting some gameplay. We tried to make a hybrid between the old games Syndicate and Cannon Fodder, resulting in a somewhat violent but also fun game.
As this was i quick prototype I spend some time on level editing and the rest of the time on implementing gameplay elements as controls, player movement, and enemy AI.
The goal of the game is to keep Sabrina's cat happy and well fit, this will ensure better scores at the pet competitions. Money can be earned at the platform game which worked in harmony with the level music. The gameplay and ideas for the game changed throughout the development, and eventually it never was finished. Everything from music editors to petting the cat was tried.
I did both game design documents and game programming for this game.
The game is a part adventure, part First Person Shooter (FPS) with a twist of humor. Eric is a scientist which has to fight giant mutated crabs which is attacking the Danish city Aalborg to save his love Aase.
The game is created in Virtools, a Unity like prototyping application that supplies some of the ground work. I contributed by coding the adventure game part, interface, and partly one of the first person levels.
location: NDS
work: Portal for selling and buying video content: asp.NET MVC 2, C#, JavaScript, HTML
One of the biggest projects the Danish department of NDS has ever been involved in is the Infinite Tv Exchange (ITX). Starting as a concept for easier allowing content providers to sell their products without the hassle of legal document, it soon became a big prototype. A prototype that later turned into a demo for the Consumer Electronic Show (CES).
I came into the project late and the first task i got was to investigate scheduling programs. We eventually made a prototype that was web based like YouTube's Video Editor. After the prototype I worked on the main web page with the rest of the team. ITX promotional web page
location: NDS - denmark, france, india
work: Video on Demand service for German KabelBW Set-top boxes using html and JavaScript
For about a year I worked in collaboration with the French department of NDS on a Video on Demand service for a german customer. My job was to be architect, team lead and handle the communication with the French. This involved traveling to Paris, France several times, for coordination meetings and on location debugging. Finally in june 2010 i traveled to india for two weeks for a handover to the Indian department. I was promoted to Senior Software developer on this project.
See video preview (scroll down to "3. Film aussuchen"):
work: Editor for maps and sprite positions, written in Python
The Mapster project started because several employees independently expressed the need for a map editor. Many of the games where made either in code, custom editors, or a very old freeware editor. My experience from Sirius Games told me that an editor of higher quality could really increase productivity, especially because we made many small games.
The project was already started by a colleague in Python, so we continues with it using wxPython. Unfortunately the editor reached a mature state at a point where set-top box games where loosing market. I was taken off the project to go to England on another project.
work: Server based game engines for Set-top boxes: Windows Services, C#, JavaScript
Salient was an ongoing investigation for making a kind of games store/portal for Set-top boxes. The concept covered everything from discovering new games to hosting multiplayer games. Because set-top boxes are very different regarding performance, we came up with the idea of trying to, make the server host the games and only update the client with graphic positions. In this way a message to a client could be: update sprite 034 with new position (43, 52), etc.
The system remained in prototype, but had potential for playing high performance games on low performing set-top boxes. In April 2010 I went to Berlin for an internal developer conference to present the project to hundreds of NDS co-workers.
location: NDS - staines, england
work: Electronic Program Guide (EPG) interface using concurrent java
In october 2008 the english department of NDS needed some help developing an EPG for internal testing. Two and my colleagues and I went to Staines to work on the EPG. It involved creating the user interface directly in Java. First task was handling conflict pop-ups that could pop up anywhere in the application, triggered by and thread. Other tasks involved other screens as the "now on" banner, etc.