Software Engineer & Game Developer


Me

Hi, I'm Charlie, and I'm a programmer that focuses on building video games and related tools.

I've worked for multiple games/software companies, where the products I have worked on have been played by millions of people across the world.

I am currently working as a Senior/Lead Programmer at Wushu Studios on an unannounced project.

Experience

  • Wushu Studios (2022-Current) - Senior/Lead Programmer
  • Ninja Kiwi Europe (2019-2022) - Intermediate C++ Programmer
  • Hyper Luminal Games (2018-2018) - Junior Unity3D C# Programmer
  • deltaDNA (2016-2016) - Junior Unity3D C# Programmer

Core Skills

  • C/C++, C#, Python
  • Unity Engine, Unreal Engine, Custom Engines
  • Visual Studio, Rider, XCode, CMake
  • Git, Perforce, PlasticSCM
  • Technical Recruitment
  • Project Management

Portfolio


Fall Guys: Creative Construction

Bloons TD Battles 2

Bloons TD Battles 1

Bloons TD Monkey City

The Lost Colony

Lost Myths: Sons of Ragnar

Strategic Depth

Big Crown: Showdown

deltaCrunch

The Box

Split

Caravan To The End

deltaCrunch


Journey through the isles, unlocking new locations, taking part in exciting challenges to test your skills.

Key Responsibilities

  • Implemented gameplay as designed by the game designers at deltaDNA.
  • Integrated the deltaDNA analytics SDK into the game and provided impartial feedback to them on the quality of the SDK and the available product features.
  • Designed and built tools for the game designers to make their own levels and game level progression path.

Engine

Unity & C#

Development

1 Year

Links

Close Project

Pepper Wars


Command your army of pixel troops to fight your friends in this local or online multiplayer game!

Pepper Wars was my second year college project, and a throwback to Advance Wars. It is a turn based multiplayer strategy game, in which two players can command different units and fight to destroy each others army or castle. Armies are made up of different unit types, each with their own unique abilities.

Key Responsibilities

  • Implemented gameplay within the MonoGame & XNA programming environment.
  • Implemented my own UDP packet manager for online gameplay (across the same local network).
  • Implemented turn-based combat, unique character classes and abilities.
  • Designed and implemented five playable maps.

Engine

MonoGame & C#

Custom tools and networking library

Development

4 Months

Links

Never released

Close Project

Unstable Elements


Follow your way through a science experiment by playing eight fun minigames!

Unstable Elements was created for the Abertay serious game jam, sponsored by the University of St. Andrews to create games with a chemistry theme.

Key Responsibilities

  • Implemented a few of the different minigames along with the other programmer on the game jam team.

Engine

Unity Engine

Development

3 Days / 20 Hours

Links

Never released

Close Project

Caravan To The End


Escort the VIP out from the underworld, fight in turn based combat, develop your characters relationships and make story choices that may have dire consequences.

Caravan To The End was my third year professional project. The game involves travelling the underworld, recruiting characters into your party, surviving random encounters (combat, dialogue), handling resources (food, oil, gold) and turn based combat that changes based on character relationships, traits and class types.

Key Responsibilities

  • Implemented gameplay and built custom tools within Unity3D as the only programmer on the team.
  • Implemented a simple turn-based combat system that the designers could use to introduce new abilities to characters.
  • Implemented a character generation and relationship system where individual characters would have personality traits that would cause them to like or dislike one another if they spent time together.
  • Implemented custom tooling for the designers to use that allowed them to create dialogue trees and random encounters as the caravan moved, such as combat, dialogue and more.
  • Implemented a character creation system, where players could swap out their character clothes and various ligaments. This included a palette swapping shader that allowed players to customise their outfits colours.

Engine

Unity Engine

Custom tools for dialogue, character creation and world editing

Development

2 Months

Links

Never released

Close Project

Cardinal Editor


Cardinal Editor was developed as a set of tools, including a game framework and an editor for building the next version of Pepper Wars.

Key Responsibilities

  • Implemented a custom editor using the Dear ImGui C++ library, consisting a Tilesheet Importer, Tilemap Editor, Actor/Prefab Editor, Level/Scenario Designer and Animation Editor.
  • Implemented a game framework that integrated with my editor, consisting of barebones framework features such as a screen manager, event manager, entity-component system, etc.

Technology

C++

SFML

Dear ImGUI

Development

4-6 Months (part time)

Links

Never released

Close Project

The Box


The Box was made as part of the 2019 Global Game Jam. The theme of the jam was 'what home means to you'. For this project, we created a series of isometric perspective mini-games, involving a time puzzle, memory puzzle and shoot 'em up.

The Box attempts to capture the imagination of youth, where a simple cardboard box and your imagination could allow you to become an astronaut, a pirate - or live in the wilderness.

Key Responsibilities

  • Implemented the pirate box-defense mini-game, where the player uses the keyboard or controller input to move the 'pirate ship' around the island and shoot incoming pirates.
  • Implemented the memory puzzle star game, where the player jumps from one star to another to make them shine in a specific order.

Technology

Unity & C#

Development

40 Hours

Links

Close Project

Strategic Depth


Strategic Depth is a tower defence war game, where structures have a realistic line of sight and limited ammunition. The game map presents different terrain challenges to you and your enemies, as they will react and attempt to perform coordinated attacks, retreat and flank your defences. Use the features of the terrain to create the ultimate defence against the incoming invaders.

Key Responsibilities

  • Joined the project as a support programmer to help Strategic Depth's designer (Nikita Kotter) with getting the game ready for release. Part of those duties included helping improve, debug and optimize the game code.
  • I also helped build some of the games 3d-world UI, screen space UI, scenes, transitions, controller mapping for multiple players and more.
  • We continued to release updates of the game together with bugfixes and improvements, until eventually stopping when we both entered fulltime employment.

Technology

Unity & C#

Development

1 Year

Links

Close Project

Lost Myths: Sons of Ragnar


Ragnar's Sons is an interactive museum experience, where the player can experience the viking history of Ragnar and his sons by navigating and interacting with a 3d world in virtual reality.

Achievements

  • Sons of Ragnar won the 'Peoples Choice Award' at the Abertay 2019 Graduate Show.
  • Sons of Ragnar was showcased at the Perth museums Viking exhibit opening in May 2019.

Key Responsibilities

  • Implemented gameplay within Unreal Engine 4 blueprints. I decided to use blueprints instead of C++ as I was the only programmer on this project at the time, but the artists and designers needed to be able to make changes.
  • Identified artists and designers needs, and quickly came up with solutions to address them. This includes helping them iterate on any ideas that they had, and building executables with their suggested changes that they could test in VR.
  • Implemented shaders, effects and custom materials for the artists.
  • Ran the booth at all of the events we attended, which included showing players how to use the VR headset, controllers, and talking them through the mechanics with our in-game tutorial.

Technology

Unreal Engine 4

C++ & Blueprints

Acer Mixed Reality Dev Kit

HTC Vive

Development

January - May (2019)

Links

Close Project

Big Crown: Showdown


Big Crown: Showdown sees friends become foes as they compete in 4-player local and online multiplayer combat, set over 3 wacky worlds full of medieval shenanigans. Avoid perilous hazards and engage in frantic fights as you attempt to knock your opponents off 15 crazy courses in the ultimate royal battle!

Key Responsibilities

  • My time at Hyper Luminal Games was primarily spent working on other contract work, but I did get to spend time helping with Big Crown: Showdown for both QA and community purposes.
  • I was one of the team members who took Big Crown: Showdown to EGX London prior to the games release, for three days of demo-ing and community interaction with players at the Sold Out publisher booth.

Technology

Unity3D & C#

Development

Released 2018

Links

Close Project

Fall Guys: Creative Construction


Fall Guys: Creative Construction is a major feature within Fall Guys that allows players to create their own fall guys levels. Players can then publish their levels, and other people can play them!

I joined this project as a Gameplay Programmer, later promoted to Senior Programmer. Once my lead left the project, I was asked to step into the lead programmer role of Fall Guys: Creative Construction for Wushu Studios.

Note that I have signed a non-disclosure agreement, meaning I am unable to go into a lot of detail about the work I have done on this project.

Key Responsibilities

  • Implemented fixes for many different types of bugs: UI, networking, gameplay, performance and more.
  • Completed features as designed by a given specification, which included working with varying disciplines across Wushu, Mediatonic & Epic Games.
  • Regularly volunteered to handle any high priority issues that were raised, often diagnosing the issue.
  • Worked closely with Mediatonic in order to plan technical aspects of the product.
  • Designed and implemented branching strategies for releases and features. Performed large file merges for feature integration, and assisted with large code reviews.
  • Worked closely with production to break work into tasks, assign that work to sprints and delegate it out to the rest of the code team.
  • Performed 1:1s with the code team, and executed team feedback to improve on existing processes.

Technology

Unity3D & C#

Role

Senior/Lead Programmer (Promoted)

Gameplay Programmer

Links

Close Project

Bloons TD Battles 2


From the creators of Bloons TD6... Bloons TD Battles 2 is a brand new installment of the top-rated head-to-head tower defense game. Gather your Hero, choose your team of powerful Monkey Towers, and prepare to battle one on one against other players and relentless waves of Bloons!

Key Responsibilities

  • Client-side implementation of user account management, including (but not limited to) persistent profile data, sign in flow, account management and other account tasks. Also consulted, designed and helped build the server infrastructure for the same task.
  • Python tools used to generate C++ code from a given JSON schema. Used for generating client code which can be used to call server endpoints.
  • Maintained and added custom C++ editor tooling for designing user interfaces, validating data assets (which is run through a build machine), implementing cosmetic animations and more.
  • Worked on and implemented gameplay systems such as towers, effects, equippable cosmetics, in-game user interfaces for different devices (phone, tablet, desktop) and more.

Technology

Custom C++ Framework & Editor

C & C++

Python

Development

18 months (personally)

Links

Close Project

Bloons TD Battles 1


Go head to head with other players in a Bloon-popping battle for victory. From the creators of best-selling Bloons TD 5, this all new Battles game is specially designed for multiplayer combat, featuring the ability to control bloons directly and send them charging past your opponent's defenses.

Key Responsibilities

  • Implemented a new map, balance changes, game mode, and quality of life features for update 6.7.
  • Worked closely with design and quality assurance teams to ensure the update was ready and working on time.

Technology

Custom C++ Framework

C & C++

Development

2 months (personally)

Links

Close Project

Bloons TD Monkey City


Create, upgrade, and customize your very own Bloons Monkey City in this groundbreaking blend of city building and tower defense awesomeness!

Key Responsibilities

  • Updated the games code and architecture to work on 64-bit android devices. This included moving the legacy game into a newer gradle android pipeline.
  • Updated the games code and architecture so we could bring the game to the Steam store for OSX and Windows.
  • Rebuilt the game user interface so it would reposition correctly on devices with widescreen aspect ratios.
  • Implemented new gameplay features and fixed legacy gameplay bugs for the update.

Technology

Custom C++ Framework

C & C++

Development

6 months

Links

Close Project

The Lost Colony


The Lost Colony is a strategy, building and survival game about discovering what happened to a famed lost colony of Vikings. As Jarl, the player must try to command their people and try to survive on a cursed island where vengeful gods are trying to kill them.

I was the solo developer on this project, building it in my spare time while working on my dissertation and completing my final semester at University.

Key Responsibilities

  • Designed and implemented the project as a solo developer within Unreal Engine 4.
  • Implementation of villager AI using a combination of Utility AI for decision making, and Hierarchical Task Network Planning for planning and task execution.
  • Implementation of gameplay elements such as placing buildings, commanding villagers, dynamic events, weather, a needs system for villagers (eating & sleeping) and more.
  • Hired and worked with contractors to deliver work such as 3d prop art, character modelling, rigging and animations - including directing them with feedback and appropriate references - on time. Any art that wasn't commissioned, such as the environment art or icons, came from related asset packs.

Technology

Unreal Engine 4

C++ & Blueprints

Development

May - August (2019)

Links

Close Project

Split


Split was my Global Game Jam 2020 submission, working with the same team who made The Box in the previous 2019 Game Jam.

Two players work co-operatively to repair their broken island by solving puzzle mechanics together, but apart.

Key Responsibilities

  • Implemented the puzzle gameplay and built simple tools within Unity3D for our teams game designer.

Technology

Unity3D & C#

Development

31st of January - 2nd of February

Links

GGJ Website
Close Project