Experienced PC/console games programmer with extensive knowledge of current-generation hardware and modern graphics techniques. Proven ability to work with development teams, publishers and other stakeholders to drive projects from initial design, through development, bug-fixing and certification, to release and beyond. Adept at learning new APIs and techniques. Experience of several development methodologies. Good code optimisation skills. Deep
Experienced PC/console games programmer with extensive knowledge of current-generation hardware and modern graphics techniques. Proven ability to work with development teams, publishers and other stakeholders to drive projects from initial design, through development, bug-fixing and certification, to release and beyond. Adept at learning new APIs and techniques. Experience of several development methodologies. Good code optimisation skills. Deep understanding of the complexity, and importance, of first-class interface and system design.
Key technology areas:
- Over 10 years of C++ development including STL and C++11.
- 3 years of C# experience including native/managed interop.
- .Net debugging experience using WinDbg.
- Experience with vectorisation (e.g. VMX).
- DirectX, OpenGL, HLSL.
- PS3 and XBox 360 development including Xenon CPU and GPU, CellGCM and RSX knowledge.
- Scripting languages including Perl and Python.
- Use of profiling tools such as console performance analysers, Visual Studio profiling tools, and Intel VTune Amplifier.
- Use of Source control systems including Git, SVN and Perforce.
Senior Software Developer @ This role involves C++, C# and HLSL coding at a variety of levels from shader maintenance to engine optimisation, tools development and frontend GUI-related tasks. I have also taken on planning and project management roles where necessary, and worked on a variety of projects related to infrastructure and build-system improvements.
Notable achievements include:
• Developing PixelMapper component.
• Design, code and ongoing maintenance of the Output Manager component.
• Shader development for a variety of techniques and effects.
• Research and development of a new projection mapping feature. From December 2011 to Present (4 years 1 month) London, United KingdomSenior Programmer @ Working as a rendering and systems programmer, this role involved design and implementation of new systems, and optimisation of existing code, at all levels from complete re-design to low-level CPU and GPU performance analysis. I also worked on the first stages of porting an existing X360/PS3 game to a new, unreleased console platform. Prior to this I was working on the game “Bodycount”, in which role my achievements included:
• Maintenance of Immediate Mode renderer...
Upgraded and extended the IM renderer API. This system was used by many clients including the frontend and in-game GUI, dynamic cables, tracer fire, decals, lens flares, rain, glass, and several others.
• Design and implementation of dynamic cables system...
Created a time-corrected Verlet integrator to simulate cables as a sequence of points hanging between sockets, affected by various forces. Coded the cable simulation and rendering modules.
• Design and implementation of Ocean Renderer...
Researched, prototyped and coded a system capable of displaying an ocean surface from camera to horizon, with high quality irrespective of camera orientation. The surface was distorted using the Gerstner wave equation, with up to eight waves active at any point, and high-frequency ripples, refraction and reflection, colour and reflectivity that changed over distance, etc.
• Additional ocean-related tasks...
- Worked with a junior rendering programmer to implement improvements to the ocean.
- Created an “ocean foam” system which allowed artists to place volumes in the level, within which the ocean surface would receive foam.
• Ocean optimisation...
- Re-wrote the vertex calculations in VMX, plus additional optimisations.
- This allowed us to more than double the number of vertices in both directions, while reducing CPU load.
• HDR system additions...
Upgraded the HDR and Bloom systems to support “explosive shock”, which desaturated and blurred the screen when the player took damage. From May 2010 to November 2011 (1 year 7 months) Senior Technical Account Manager @ Geomerics’ main product is Enlighten, a real-time radiosity solver for Xbox 360, PC and PS3. As a Field Application Engineer I understood both the internal workings of Enlighten, and how to build it into client rendering engines. The role required me to have a good working knowledge of current graphics techniques and the ability to work closely with clients to integrate Enlighten into their engine code. Clients included CCP Iceland, CCP Newcastle, Funcom and a range of evaluators in Europe, Asia and the USA.
• Working on-site with clients to integrate Enlighten into their game engines.
• Supporting graphics engineers and artists during their SDK evaluations.
• Working internally with artists and programmers to create the SDK samples.
• Fixing bugs and maintaining the SDK sample code.
• Defining and driving improvement to the core product and the surrounding SDK.
• Providing feedback and results from customer integration trips. From October 2008 to May 2010 (1 year 8 months) Cambridge, United KingdomSenior Developer Relations Engineer @ This multi-faceted role combined game engine programming and internal API development with project management, communication with project stakeholders, and acting as an ambassador for amBX while embedded at developers and at events. I drove concurrent projects, developing the amBX interfaces used by games developers, while working with studios and publishers to build amBX support into their games. This involved not only coding but also creation and communication of testing plans, progress reports, schedules, integration white papers, etc. I also worked on projects related to the development of the first iteration of the amBX hardware. From July 2006 to October 2008 (2 years 4 months) Redhill, United KingdomProgrammer @ Research and implementation of features for "Earthsim", a product built of top of the Qube middleware engine. Mixture of planning and programming as part of a small team. From June 2005 to March 2006 (10 months) Consultant @ Coheris InfoCat is an IT consultancy specialising in building MIS and Financial Information systems based on multidimensional database products. Technologies used included Excel VBA and a variety of multidimensional database programming languages including Oracle Express and Applix (now IBM) TM1. From June 2004 to June 2005 (1 year 1 month) Experienced Programmer @ Responsible for research, analysis, planning and development of several modules within the game "ToCA Race Driver 2" for PC, Xbox and PS2. Implemented entire shadows-on-scenery and shadows-on-vehicles system, the compressed shadowmap, tunnel lighting, among others. Saw development through from pre-development all the way through to post-launch bug-fixing. From June 2003 to June 2004 (1 year 1 month)
MSc, Computing Science @ Imperial College London From 1994 to 1998 Alleyn'sAlleyn's Adrian G. is skilled in: Game Development, Python, Perforce, DirectX, PS3, Subversion, C++, OpenGL, Computer Graphics, Xbox 360, Computer Games, Video Games
Looking for a different
Get an email address for anyone on LinkedIn with the ContactOut Chrome extension