Christopher Ball

Game Programmer

About Me

Profile pic

I'm a game programmer living in Cornwall. I have completed a City & Guilds Level 7 Diploma in Game Development for Computer Games. I create games that have polish, engross the player and inspire other developers. When I'm not programming games you'll find me producing electronic music, painting miniatures or walking the Cornish coastline and beaches.

Portfolio

Lotus Reverie is a visual novel developed by Kienart Lobre. Taking on a project that had already started, my task was to improve the 2D, turn based, battle system and write complex AI, giving each level unique enemies and map gimmicks. The player has lots of fighting styles and magic abilities to choose from, allowing them to approach each level from many angles. I also helped expand the visual novel engine to allow my client to tell their story exactly how they invisioned.

"Since the very beginning communication was quick and professional. He managed to take the project despite being faulty and with many issues, understand what I wanted to accomplish, and then fix it and improve it faster than I ever expected. I've never met a professional with a better work ethic and I would love to work with him again in the future." Kienart Lobre

www.lotusreverie.com www.patreon.com/keinart

Maze Roller was my final assignment for my City & Guilds Diploma. It was made using C++ and the DirectX API. It demonstrates advanced AI using A* pathfinding and attack behaviours. I used a 3rd person camera and added a collision rebound effect whenever the player hits an enemy object. I created a health bar with lives in an onscreen UI. The 3D graphics were programmed using HLSL, displaying diffuse, ambient and specular lighting effects using the Blinn-Phong technique. I included a post processing blur effect whenever the player takes damage. I generated particle effects for sparks, explosions, fire and smoke. Shadow mapping was used for the shadows.

Source Code

Deep Sea Diver was an assignment for my City & Guilds Diploma. I was given the source code for a working game and had to add more features to improve it. I added a demo mode, where I programmed the player character to act with artificial intelligence. I included a mission brief to explain how to play before the game starts. A high score table can be displayed from the menu and is updated when the player reaches a new high score. I updated the enemy with new behavior, such as a squid attack and fleeing, following and roaming behaviours. There is an added 'hard mode', increasing the difficulty level. To balance the game, the player has access to collectable power ups. These include heat-seeking missiles, smart lock missiles, rapid fire, three-way harpoon, explosive harpoons and an invulnerability shield.

Jungle Warrior was made with Unity. I was given a game design document with the requirements to produce the game for a City & Guilds assignment. The player is timed on each level and given a score depending on how quickly they finish and how many enemies are killed on the way. The music track can be skipped with the in-game menu and the starting level can be chosen from the main menu. The enemy AI follow waypoints using a nav mesh and start to track and then shoot at the player when they are within a certain range. There are health and ammo pick-ups for the player to find.

Download

Pixel Pairs is a personal project I made in my own spare time. I love pixel art and retro gaming so I thought it would be cool to include some old game characters on the cards in a card matching game. The cards are randomly placed in new positions everytime a new game is played. When a match is found more time is added to the timer, if the timer runs out before all the matches are found then it's game over.

Source Code

This maze game, Robot Attack, was my first assignment for the City & Guilds Diploma. It is a mobile game in early development, hence the large on-screen UI to represent touch controls. The enemy robot moves in random directions and emits a beeping noise. When the enemy has line of sight of the player it will move towards the player. If the enemy can no longer see the player because they have moved around a corner, the enemy will move to the player's last known tracking position. The player can only shoot when the gun has charged but there are some power-ups to help, such as quicker charge-up and double damage.

Source Code

CV

download cv

Contact