James is a games developer currently working for Blue Beck. His collection of work includes Edge Extended, Cut The Rope:Experiments, and 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 is an experienced runner, rock climber, skier and has recently undertaken alpine mountaineering.
Assembly (Intel x86), C, C#, C++, Intel SSE, Java (J2SE, J2EE), Objective C, occam, OpenMP
DirectX, Ogre, OpenGL, OpenGLES, SDL, SFML, XNA
Adobe Photoshop, GIMP, Jasc Animation Shop, Jasc Paint Shop Pro
Access, MSSQL, MySQL, Oracle
Apple Macintosh OSX, Linux, Microsoft Windows, UNIX
Android, Blackberry (Playbook/BB10), iOS, Microsoft Windows Phone 7/8, Nintendo GameCube (with Tuner), PC
Unity3D, Unreal (UT3 and UDK)
CodeIgniter (PHP), Struts (Java)
(E)ER, EXPRESS, UML, Z
Acceptance, Module, System, Unit/Component (JUnit)
Version Control Systems
CVS, IBM Rational Clearcase, Subversion
(S)ML, Cruise Control, LaTeX, log4j, PROLOG
Blue Beck Ltd., 2013 - Present
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
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.
Reed Managed Services, 2008
Junior Java Programmer
CMC Markets, 2008
Junior Web Developer
Renovo PLC, 2006 - 2008
Aria Technology Ltd., 2005 - 2006
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
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.
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.
Throughout 2014 I have been working closely with Three providing features and research for their mobile billing applications on Android, iOS and Windows Phone 8.
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:
- Blackberry 10
- 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).
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.
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:
- Pitch control
- the number of flocks present
- warping or bounding box world