Euan MacDougall


MSc/PGDip Computer Games Technology
University of Abertay, Dundee


BSc (Hons) Computer Science
Heriot-Watt University, Edinburgh

Resolution Games (Nov 2021 – Present)

Demeo Battles

Multiplayer competitive turn-based strategy game made with Unity for both VR and non-VR platforms.

I joined this project after the core game mechanics were already in place, and as such my contributions were mostly around meta game functionality - backend, progression, cosmetics, matchmaking, match setup flow, UI.

Ultimechs

Multiplayer VR game made with Unity, C#, and Rust.

I worked on this project for a year leading up to and including release. I contributed towards almost all features of the game due to the small team size. I also developed a simple spectator client for PC by myself.

Vision (Aug 2019 – May 2021)

Vision Appointments

A new appointments scheduling system for use in GP practices. Currently in use by the NHS throughout the UK.

My contributions included client development as well as prototyping of database and service changes.

Elk Studios (Jan 2019 – Aug 2019)

Cygnus

Slot machine game with vertically falling symbols.

I developed the initial client prototype for new mechanics - symbols fall in a hexagonal grid pattern, matching symbols are removed and the remaining symbols roll down from right to left.

Win Win

Simple slot machine game with vertically spinning reels.

I was the sole client developer, implementing all game specific functionality.

Chi

Slot machine game with horizontally spinning reels and multiple bonus scenarios.

I was the sole client developer, implementing all game specific functionality.

Starbreeze Studios (Oct 2016 – Dec 2018)

OVERKILL's The Walking Dead
(Steam)

I implemented two core gameplay features, maintaining them throughout development.

Grapple system - Multiple characters perform synchronous animations through various states. This system is used when any character is grabbed by a zombie, or when a player performs a takedown on an enemy.

Player defeat system - Handling the various states a player can enter when they are defeated: bleedout/last stand, struggling against zombies, reviving, and spectate.

Climax Studios (Feb 2013 – Feb 2016)

Bandit Six
(Gear VR, Google Cardboard)

My contribution:

  • Entire UI.
  • AI system.
  • Some gameplay.
  • Ported game from GearVR to Google Cardboard.

Bandit Six: Salvo
(Gear VR)

My contribution, helping to finish off the project:

  • Gameplay.
  • Bug fixing.
  • Optimisation.

Dead Nation: Apocalypse Edition
(PS4)

My contribution:

  • Ported from PS3 to PS4.
  • UI work for new PS4 social features.
  • Some gameplay and updated input.

Sudeki
(Steam)

My contribution:

  • Ported to Steam from original Windows XP build. 

University (2012)

Zombie Shooter

A first person shooter game set in a zombie infested city at night. The objective of the game is to escape the city before being eaten.

Developed as university coursework - grade A (90%).

The game was written in C++ using Direct3D. The following features were implemented:

  • Shader effects for lighting and fog.
  • Sound effects for zombies, shooting and getting hurt.
  • Menu system.
  • Heads up display showing player HP and ammo.
  • Procedurally generated city.
  • Collision detection for buildings.
  • Zombie AI to chase the player.

Procedural City Generator

This application was developed as the software solution for my Master's dissertation project. Through the use of procedural algorithms, the software will generate and render the 3D model of a city's road network and buildings.

This project received grade B (85%).

It was created using C++ and Direct3D, with the following features:

  • Road network generation using L-systems which form realistic patterns.
  • Building generation using a combination of floor plan extrusion and shape grammars.
  • City layout through the definition of city zones which control the road and building types in an area.
  • Settings file for customisation of the generation process.

Skateboarding Gorilla

This game features a skateboarding gorilla which the player must control as he makes his daring escape from the circus. They must reach the end of the level without losing all energy, while avoiding clowns and collecting bananas.

It was written in C# and XNA 3.1 as part of a group project for which I was awarded grade A (88%).

My role in the group was lead programmer and my responsibilities included assigning tasks to other programmers and integrating their work into the main project.

Personal Projects

Whakman (2016)

A Pacman-like game, made in around 22 hours using JavaScript.

Planet Game (2016)

A puzzle game made with friends over 2 days using Unity, I was the sole coder.

The player controls a vehicle moving around the surface of a small planet and must open the portal to the next level. The planet has a short day cycle and items are destroyed in the dark, meaning timing and strategy are required.

Due to time constraints, only 1 simple level was made.

Let's Go Moon (2012)

An arcade style game in which the player controls the moon, smashing into other planets and objects in space to grow bigger, with the objective of becoming big enough to smash through the Earth.

It was developed as a group project over three days for the Ludum Dare competition with the theme "tiny world". We were a two person group, I was responsible for most of the programming.

The game was developed using ActionScript 3 with the Flixel engine.

Multiplayer Game (2009)

My attempt at creating an MMORPG style game while learning basic network programming. It features familiar RPG elements such as fighting monsters and can support many players at once through a client-server networking structure.

The game is developed in C++, using the Irrlicht 3D engine and RakNet networking engine.

Robot Battle (2009)

A 2D robot fighting game for the Android platform, it has the following features:

  • Customise robots by changing their body, weapons, propulsion and head parts to change how they perform in combat.
  • Each robot part has its own graphic. The parts act as links in a kinematic chain, allowing for animations to be created by rotating and translating (such as the robot aiming towards its target in the screen-shot).
  • Turn based combat, similar to 2D Final Fantasy games.

The game was developed in Java using the Android SDK.

2D Shooter (2009)

A 2D side-scrolling game in which the player must shoot their way through a variety of levels, killing enemies and collecting items.

This game was developed as a summer project using C++ and Simple DirectMedia Layer.