• Danger Goat

    Danger Goat

    November 2016 (Google Daydream)

    Danger Goat is a launch title for Google’s Daydream VR headset built in Unity 5.

    My contributions:

    • Early game prototyping, building 3D grid path-finding and initial character movement

    • Bug fixing when team was short on staff

    • Integrated the in-house nDreams Analytics service into the project

    • Build machine setup and maintenance

  • The Assembly

    The Assembly

    July 2016 (Steam and Oculus) | October 2016 (PlayStation 4) | December 2016 (Motion Controller Update) | January 2017 (XboxOne)

    The Assembly is an adventure game set in an morally ambiguous scientific organization.

    This game was created in Unreal Engine 4.5, upgraded through each release during development to 4.13. Game initially released in Unreal Engine 4.11, then updated to 4.13 through patches to add motion controller support for all VR platforms, and to support the XBoxOne as a 2D title.

    My contributions:

    • Early game prototyping in Unity and Unreal Engine 4

    • Key Game Mechanics and Framework

      • Base player setup

      • Interactive objects

        • Core framework for objects to receive interaction from players, optionally overridden per-object or per-instance in Unreal

        • Openable objects - doors, drawers, fridges etc.

        • Outline effect material for highlighted objects

      • Save game system - reflects against Design-chosen propeties to save and restore

      • Dialogue system

        • Multiple channels of dialogue, allowing overlapping background speech to drop in volume when characters are speaking

        • Broadcast dialogue from multiple sources for 3D audio effects

        • Interupt actors based on priority settings

        • Integrated into localisation system to support subtitles and custom audio localisation system (audio localisation unsupported in Unreal Engine 4 at the time)

      • “The Box Puzzle”, Chapter 3 - taken from Design prototype to Code-based playable level. Dynamically creates puzzles from Unreal Engine 4 data assets

      • The game’s lift - created in pure Blueprint

      • Prototyping various forms of the microscope mechanic

      • Configuring the NPC animation layouts and navigation Blueprint libraries

      • Achievements integration

      • Credits screen

      • Custom analytics solution - created reusable Unreal plugin for our in-house nDreams Analytics service

      • Added motion controller support post-launch, requiring redevelopment of many of the core game systems

    • Build Tools

      • Over-night in-house build farm (Jenkins)

      • Daily automated performance run-throughs with custom report web interface (NodeJS) to identify areas for improvement

      • Console patch support for Unreal Engine 4

      • Automated localisation updates in Unreal Engine 4 (in-house custom integration with LocalizeDirect)

      • Configuration tools for creating multiple SKUs of the game ready for shipping (NodeJS)

    • Game and Engine optimisations

      • Studying daily performance reports to find framerate issues

      • Identifying performance issues and debugging expensive scenes in Unreal Engine 4

      • Working with Epic Games to patch Unreal Engine 4 for our use

  • nDreams Analytics

    March 2015

    I created the nDreams Analytics service, which is used across all nDreams VR projects and third-party projects published by nDreams.

    The event receiver is written in NodeJS and is scaled across our AWS infrastructure. Events are stored on AWS and served to our reporting frontend via ElasticSearch.

    The service holds millions of events, allowing immediate access to how users are playing nDreams games.

    I built plugins for both Unreal Engine and Unity to allow any of our projects to easily integrate our Analytics Service. I also work with third-party projects published by nDreams to integrate our analytics service into their project if they require it.

  • Gossip Column

    Gossip Column

    November 2013

    This was part of nDreams’ second wave of mobile games, that sadly never got released outside of a few select trial countries.

    This game was made in Unity 4, and was a word scrabble-style game where you must make words from the random assortment of letters given to you.

    Gossip Column featured significant Facebook integration, allowing highscore tables and jaunts against friends.

    My Contributions:

    • Primary coder on Gossip Column

    • Advanced use of Unity UI plugin NGUI

    • Facebook social integration and IAPs

    • Dynamic main menu that pulled content from nDreams.com to promote IAP sales or other nDreams titles

  • SkyDIEving


    August 2013 (PC Oculus Rift DK1)

    SkyDIEving is nDreams’ first VR tech demo. It was released for free in August 2013, shortly after the Oculus Rift DK1 kits were available.

    An artist at nDreams put together the initial artwork, and I was then responsible for implementing the game itself. During development, I also added multiplayer support so people could skydive together.

    Later on when the Oculus Rift DK2 was released, I updated the codebase to work with the newer headset and re-released the tech demo.

  • PubPlay: Drinking Games

    PubPlay: Drinking Games

    August 2013 (iOS)

    Developed various mini-game with staff at nDreams.

    My Contributions:

    • Developed Smashed! - Balance bottles on a tray using the phone’s gyroscope

    • Setup user interface using NGUI

    • Created front-end menu interface

    • Integrated In-App Purchases (IAP) into Unity for iOS

      • Wrote IAP verification server scripts (written in PHP with MySQL) to validate purchases
    • Setup Facebook integration

  • Loricum


    MED Theatre
    Summer 2010

    “[…] sweet adventure with a distinctive art style and an intriguing, very personal storyline with three very different possible conclusions.” - adventuregamers.com

    Loricum is a point-and-click style adventure game based on a play called “Loricum”. I lead mentoring on this project, teaching programming skills to the young people involved, and assisting with game design.

    Loricum is written in Adventure Game Studio (AGS), and was written over the summer holidays of 2010 with local young people aged 13-18.

    The game is available free on the MED Theatre website, and also as a hard-copy at MED Theatre.

    My Contributions:

    • Lead consultant and mentor to youth theatre group in Game Design and Computer programming

    • Created initial game template and assisted resolving bugs, but ensured the young people wrote the vast majority themselves

    • Created installer software for CD-ROM distribution

    • Consulted with art and audio direction from early development through to importing into game engine

  • Lost Roots

    Lost Roots

    MED Theatre

    Lost Roots is a short drama/educational film discussing the issue of “alien” beech trees on Dartmoor.

    Lost Roots won an award at the MotionPlymouth Film Festival.

    My Contributions:

    • Director and Editor

    • Video Colourist and Audio Tidy-Up/Cleaning

    • Planned daily filming schedules (mainly studying weather maps to predict the constant Devon rain)

    • Contributed to project from initial conception through to final production

    • Accepted award at MotionPlymouth Film Festival