Welcome...
James is a games developer currently working for IUGO Mobile Entertainment. His collection of work includes:
- The Walking Dead: Road to Survival
- Edge Extended
- Cut The Rope:Experiments
- Star Chart
Before working in the games industry he also worked on various products in the financial, pharmaceutical and retail sectors.
Out of work he enjoys running, rock climbing, skiing and alpine mountaineering.
About...
Skills
Programming Languages
Assembly (Intel x86), C, C#, C++, Intel SSE, Java (J2SE, J2EE), Objective C, occam, OpenMP
Graphics Libraries
DirectX, Ogre, OpenGL, OpenGLES, SDL, SFML, XNA
Web Development
Ajax, ASP, CSS, HTML, Javascript, jQuery, PHP, XML
Graphic Design
Adobe Photoshop, GIMP, Jasc Animation Shop, Jasc Paint Shop Pro
Databases
Access, MSSQL, MySQL, Oracle
Operating Systems
Apple Macintosh OSX, Linux, Microsoft Windows, UNIX
Platforms
Android, Blackberry (Playbook/BB10), iOS, Microsoft Windows Phone 7/8, Nintendo GameCube (with Tuner), PC
Game Engines
Cocos2d-X, Phaser, Unity3D, Unreal (UT3 and UDK)
Frameworks
CodeIgniter (PHP), Struts (Java)
Design
(E)ER, EXPRESS, UML, Z
Testing
Acceptance, Module, System, Unit/Component (JUnit)
Version Control Systems
CVS, IBM Rational Clearcase, Subversion
Other technologies
(S)ML, Cruise Control, LaTeX, log4j, PROLOG
Career
IUGO Mobile Entertainment, 2018 - Present
Senior Software Engineer, 2018 - Present
I joined IUGO as a client engineer working on The Walking Dead: Road to Survival, maintaining the quality of the build and introducing new features.
Blue Beck Ltd., 2013 - 2018
Senior Developer, 2015 - 2018
After proving myself as a capable developer working on a variety of platforms with a range of different technologies I was asked to be the principal developer for a series of projects with various US state lottery projects. I also worked on a various other projects including Last Day of Work's Virtual Families products, PixOwl's The Sandbox Evolution for PC and a Scavenger Hunt feature for San Francisco Zoo. I also worked on numerous 1st party prototypes, researched new development techniques and educated the studio on introductory analytics.
Developer, 2013 - 2015
After a previous 3 month contract porting Edge Extended from iOS to the emerging Blackberry 10 and Playbook platforms, I joined Blue Beck as a Developer. Since starting I have worked on a variety of projects including a multi-platform engine written in C++, a couple of game prototypes (using this engine and Unity3D), provided last minute porting support for Cut The Rope: Experiments and worked with Three Mobile on a variety of features for their mobile application.
Escapist Games Ltd., 2010 - 2012
Programmer, 2012
Worked on an unannounced title for iOS, principally working on the company's bespoke engine. Provided iOS and Android support on other projects when needed.
Junior Programmer, 2010 - 2012
Became entirely responsible for Star Chart on Android, releasing 5 variants on Google Play, Amazon, Samsung Apps, Vodafone App Store and others. Ported and advanced features, provided customer support, handled submissions. Mentored another Junior Programmer until he was ready to take over in early 2012. Set up development server and provided web support when needed.
Pre-Games
Reed Managed Services, 2008
Junior Java Programmer
CMC Markets, 2008
Junior Web Developer
Renovo PLC, 2006 - 2008
Java Programmer/Tester
Aria Technology Ltd., 2005 - 2006
Web Assistant
Education
MSc Games Software Development
With Distinction, Sheffield Hallam University, 2009 - 2010
BSc (Hons) Artificial Intelligence
University of Manchester, 2002 - 2005
A Level: Mathematics, Physics, Spanish
AS Level: English Language
Haileybury & Imperial Service College, 2000 - 2002
Portfolio...
The Walking Dead: Road to Survival
I joined IUGO in late 2018 as a client engineer on their hugely successful mobile role playing game, fixing bugs and introducing new features.
Edge Extended
Without prior experience of using Blackberry devices I was requested to port the successful game Edge Extended from iOS to both the the Blackberry Playbook and the then upcoming Blackberry 10 platform, most notably on its flagship device the Z10 which was still in its prototype stage.
Not only was I able to port it to run exceptionally well on these devices I also integrated Scoreloop into the game, providing custom leaderboards and achievements. I was also able to introduce a feature of watching other players' gameplay via Scoreloop by recording their progress on Scoreloop's cloud servers.
Cut The Rope: Experiments
With minimal notice I was requested to provide additional support porting Cut The Rope:Experiments to Blackberry's Playbook due to my previous experience with Edge Extended. The game had already been largely ported to the Blackberry 10 platform but there were subtle differences which needed attention, particularly in its usage of Scoreloop.
Deep Space Defense
During my time at Escapist Games we took a week off from our normal duties and had what was called App Week where each of the programmers was tasked with creating a game and shipping it on any platform we chose (much like Google's 20% initiative and Facebook's Hackathons). After attempting one idea I switched to making Deep Space Defense, a game I had come up with in the pub months beforehand.
Taking inspiration from Ridley Scott's film Alien, the setting is that the player is a lone gunman defending himself from hordes of aliens approaching him from all sides. Using the in-built gyroscope of a mobile phone the player is required to spin around in order to point the phone at these aliens upon which it would automatically shoot and kill the aliens. Players have to last as long as possible until they are eventually overwhelmed.
Star Chart
Upon joining Escapist Games I was almost immediately given the task of porting their flagship product Star Chart, an augmented reality star gazing app, from iOS to Android, despite having never seen an Android phone before! Within a couple of months I had three versions uploaded to the Samsung App Store, followed soon by another version onto Google Play (then known as Android Market).
It wasn't long before we had over a million installations worldwide and I ended up being the lead developer, customer and product manager for Star Chart on Android. I continued to provide support, add new features (such as its transition from 2D to a fully interactive 3D experience) and release additional versions on the Amazon and Vodafone App Stores.
Idaho State Lottery
Working in partnership with Milestone Entertainment and Miracle Gaming, Blue Beck was tasked with making a collection of games for the state lottery of Idaho in the US. The first of these games was Treasure Hunt which was tied to a lottery ticket promotion running during the latter half of 2015. They wanted a game that was accessible from their own website and also via mobile application stores. The players were to enter a "second chance" code in the game and play for prizes in a game similar to Deal or No Deal.
Treasure Hunt turned out to be very successful with many positive reviews - in fact Idaho reported a substantial increase in customers requesting renewed passwords for their otherwise dormant Idaho Lottery profiles in order to play! Its success was observed by other states in the US and soon others were requesting our services for similar products. It was at this point I took on a lead role for these projects by acting as the principal developer and training new employees in the technology required to produce the games.
Three
Throughout 2014 I worked closely with Three providing features and research for their mobile billing applications on Android, iOS and Windows Phone 8.
Home Projects
I tend to have a number of home projects going on at the same time but they all run on a core engine which I have developed called Pebble. Its core purpose is to provide a barebones native framework capable of running on multiple platforms. It helps to keep my game development skills sharp whilst also allowing me to freely experiment with any game ideas I have.
So far its main features include:
- Runs on multiple platforms with many more in mind for the future including:
- Android
- Blackberry 10
- Linux
- iOS & MacOSX
- Windows (7 and before)
- Is capable of running OpenGL or OpenGLES (2.0 and above), depending on the underlying platform. I intend to implement Direct3D in the future as an additional rendering option.
- Has Box2D integrated as its 2D physics engine. I intend to implement NVIDIA's PhysX as its 3D alternative.
- Accepts input from mouse, keyboard, gamepad and touchscreen.
- Uses OpenAL for audio processing (except for Android where it uses OpenSLES).
University Work
Ark!
Midway through the course I heard of the Dare to be Digital competition and encouraged the others on the course that we should submit a team to compete. This ultimately led to Sheffield Hallam University submitting 5 teams, 3 of which got through to the panel stage and unfortunately my team was denied entry to the final round due to a limitation on entrants from the Midlands. Nevertheless we propsed to our course leader that we should continue to work on the game as our final group project since we had already down the groundwork.
In the game the player fends of flocks of animals trying to reach a spaceship escaping from incoming global floods - if too many animals board the spaceship within the given time then the player loses. The game ran on the Ogre3D engine and I provided gameplay features such as the weapon management and the artificial intelligence for the animals by providing a flocking alogorithm.
Flocking
By using Steven Woodcock's examples in Game Programming Gems (1 and 2) which are based on Craig Reynolds' boids my intention was to manipulate and observe different flocking behaviours on the fly as it were and see if any conclusions can be drawn from it.
I decided to use DirectX for the graphics framework for this project and based my applications from Steven Woodcock's example in Game Programming Gems 1 (Flocking: A Simple Technique for Simulating Group Behavior).
In the end I wrote two applications: one to observe the boids behaviour that was fully customizable and another to represent a predator-prey situation but fixed in terms of the rules governing the world.
The rules I could manipulate included the following:
- Alignment
- Cohesion
- Separation
- Avoidance
- Cruising
- Pitch control
- the number of flocks present
- warping or bounding box world