Hi there!

I'm James Watton, a senior software developer who loves to design and build everything from mobile apps using Flutter, to Unreal Engine plugins and console-exclusive video games.

BACKGROUND

I was a self-taught programmer who grew up with BASIC on an old Commodore64. After discovering Microsoft's XNA framework and delving into the world of C# and dotNet, I rekindled my love for programming by releasing indie games for the Xbox 360 console.

After the early-years of bedroom coding, I gained full-time employment at a great software house in Shropshire near where I am currently based. Through that employment I have enjoyed working in the broadcast industry for nearly a decade, specialising in broadcast graphics automation and operation. It has been an incredibly varied role involving working alongside top-tier broadcasters such as the BBC, live-events for BMW and the first ever PUBG live tournament, amongst others.

My primary role involved building graphics automation systems for live television. Some of these systems also had to obtain, aggregate, transform and output huge amounts of live data from multiple sources. This data was then used to populate the broadcast graphics using renderers such as Viz RT, which are then composited down-stream over live video feeds.

One common event for us was the BBC Election specials programmes for which our system had to consume massive amounts of data over several days. The system also featured many user-friendly control interfaces which allowed editorial staff to control and drive the graphics on-air, instead of hiring dedicated trained operators. 9 years of election programmes is a great way to learn about building great user-interfaces and experiences.

Alongside these events, I got involved in similar projects for eSports - specifically the PUBG Global Invitation 2018 event held in the Mercedes Benz arena, Berlin. Following the huge success of the project our software was commissioned for use for the PUBG North American 2019 and 2020 leagues weekly live shows.

SKILLS

Over the years I've worked in a wide-variety of roles and have accumulated many skills, including (but no limited to) the following.

LANGUAGES

  • C#
  • C++
  • Python
  • Lua
  • JavaScript (ES6)
  • Dart
  • Powershell
  • HTML5
  • CSS
  • Visual Basic
  • VizScript

ENGINES / FRAMEWORKS

  • Unity
  • Unreal Engine 4/5
  • XNA / FNA / Monogame
  • Flutter
  • Defold
  • Godot
  • WPF / WinForms
  • Electron
  • Vue / Nuxt / Vuetify
  • Knockout.JS
  • ReactJS
  • Angular
  • Node.js

GRAPHICS RENDERERS

  • Zero Density
  • VizRT
  • ROSS XPression
  • ROSS Voyager
  • ROSS Dashboard
  • Aximmetry
  • Disguise D3
  • CasparCG
  • Adobe Suite
  • Affinity Suite

TOOLS

  • WPF / WinForms
  • Spine2D
  • Blender
  • FMOD
  • Wwise
  • Git / Github / GitLab / BitBucket
  • Plastic SCM
  • OBS
  • Jenkins
  • Microsoft Azure
  • Amazon Web Services
  • Google Cloud Platform

FIELDS

  • Planning
  • Design
  • Development
  • Gameplay
  • Business Logic
  • Tools
  • Scripting
  • Engine
  • UI / UX
  • QA Testing
  • Support

PRESENT

In more recent years I've been heavily involved in the revolution that Epic Games and Unreal Engine has had in the broadcast graphics industry. Products such as Ross Voyager and Zero Density Reality have merged the games and broadcast industry like never before, and I've had the pleasure of working on many projects, demos and prototypes utilizing all these flavours of Unreal Engine and native Unreal Engine itself. I have created graphics in Blender, animated them in Blueprints, and developed plugins for UE, Zero Density, Voyager and Aximmetry that allow beautiful 3D charts to be created, animated, and linked with live data within in minutes using a simple JSON interface. I have been part of a team which created zero-training software that has given broadcast producers the ability to choreograph and edit their Unreal Engine graphics sequences without the need for designers or operators.

In between all this I've been creating video-games and software under the company Rising Sun Studios Ltd in my spare-time. I am always working on something, whether it is a free board-game related mobile app built in Flutter for the community over at BoardGameGeek.com, a Nintendo Switch exclusive video game made in Unity, or setting up an automated build pipeline in Jenkins for a personal project.

FEATURED PROJECTS

I've worked on some pretty cool stuff over the last decade. Here's some of the highlights.

PUBG GLOBAL INVITATIONAL 2018

This week-long event featured a suite of graphics that me and my colleagues had to build using Ross XPression. The graphics ranged from live in-game ranking scoreboards, to winning team lower-thirds and prize pool fullform graphics.

Me and my colleagues also had to build the control software to pull live in-game data, and post-match analysis data, which was then aggregated and transformed for use in the live on-air graphics.

There was a very short turnaround for all this work, with changing requirements. While the hours were long, everyone involved worked extremely hard to make the event an unforgettable experience that was seen by millions of people around the world.

UE CHARTING PLUGINS

These are a series of chart plugins for Unreal Engine that allow you to drag and drop beautiful 3D charts into your scenes, configure them to any style and layout you can imagine, and then hook them up to live data within minutes.

Featuring highly-configurable Column charts, Pie charts, Line charts and Screens capable of streaming NDI or image sources from any url.

These plugins were built in C++ and had to overcome some interesting problems as they were intended to be used in a way not typical of the standard UE developer workflow.

DZC UNIT CARDS

A free web-app used to hold reference information for units used in the tabletop game Dropzone Commander by Hawk Wargames.

Built using Vue and the Vuetify framework, features an intuitive, clean layout for displaying lots of information.

Originally packaged using Cordova for mobile devices and published on the Google Play Store, the app is now hosted free on risingsunstudios.co.uk.

SENTRY

SENTRY is a stylish minimalistic twin-stick shooter with silky smooth controls where your only goal is to eliminate the hostile invaders.

Built in Unity, the game was used to test and develop the workflow and deployment process for Nintendo Switch consoles. The mechanics were designed to be as easy to play as possible, with as little chrome as possible, keeping only the core of the twin-stick shooter genre.

Nowadays, you might call this a hyper-casual game..

RSS ACCOUNTS

After failing to find an affordable and suitable accounting software for Rising Sun Studios, I decided to roll my own.

Built using Electron and Vue.js, RSS Accounts features everything from standard accounts packages, plus a flat-file backend, the ability to set up products for sale including profit share agreements, integration with Hack n' Plan time logging for profit reports, importing of sales reports direct from sales platforms like Nintendo, and common recurring payments.

PROTOTYPES

Ideas that have come far, but not yet complete. Projects I thought were pretty cool and worth showing.

EX-ODUS

An online turn-based tactical fleet-combat game with a WeGo gameplay system.

Built using Unity using the Photon online framework, targeted at Desktop and Nintendo Switch, allowing for cross-platform multiplayer.

DAWN OF THE RONIN

Dawn of the Ronin places you in control of an unnamed Ronin warrior right in the heart of 16th Century Japan. Your only companion cut down by Tokugawa's soldiers, you become one of the thousands of warriors that Toyotomi calls to defend Osaka and stand against the Tokugawa regime.

Built using MonoGame, the tools included an in-game live level editor and 8 external WPF editors including an animation transitions editor, behaviour tree editor and a non-linear cutscene scripting editor.

Dawn of the Ronin was one of the top-voted games to be accepted through the Steam Greenlight system, being accepted onto the Steam platform within just 2 weeks.

EX-CELESTIUM

A Gibson-inspired space-opera where you take on the role of an Operator remote piloting a craft around the galaxy, taking on jobs for the Corporations.

The game features a huge, living procedurally generated galaxy with ATB-style RPG combat. The game is built with Unity and utilizes Lua scripting and an external universe-generation tool.