Video Game developer with 40+ yrs programming
experience and 30+ yrs industry experience
Extensive knowledge of Game Development, Cross Platform Engine Development, Rendering,
Threading, Optimization, Porting (Console), Audio, Networking, Reverse Engineering, Debugging, Bug fixing & Library programming
Specializing in C/C++ & Assembler (x86 - x64 - Arm32 - AArch64 - MIPS) coding for all current & next generation devices
(iOS - Android - Linux - Mac - PC - PlayStation - Xbox)
Registered Develoepr for Sony PlayStation 4 & 5, Nintendo Switch, Apple, Google, Samsung & Huawei
|
Contact Address |
After Dark Studios Ltd 207 Regent Street, 3rd Floor Mayfair, London W1B 3HH, UK
|
|
Contact Telephone |
+44 20 7193-6195
|
|
Contact Email |
contracts@AfterDarkStudios.co.uk
|
|
Website |
|
|
Latest Profile |
|
Platforms Languages Frameworks |
Google Android Arm32 v5, v6, v7-a, Arm64 / AArch64 v-8 + VFP / SIMD ( Neon) Assembler C - C++ - C++11 - C++14 - C++17 - C# - Java - JNI Native - Kotlin Augmented Reality (Vuforia) (AR) - Virtual Reality (VR)
Apple iOS Arm32 v5, v6, v7-a, Arm64 / AArch64 v-8 + VFP / SIMD (Neon) Assembler C - C++ - C++11 - C++14 - C++17 - C# - Objective-C - Swift Frameworks: AVFoundation - ARKit - CoreGraphics - CoreAudio - StoreKit Augmented Reality (AR) - Virtual Reality (VR)
Windows Mobile (7.5 - 8/10 UWP) Arm32 Thumb-2 Assembler
Windows - Mac OSX - Linux Intel x86 (32-bit) + inline instruction pipelining FPU / VFPU Intel x64 (64-bit) - MS-ABI - AMD SYS-V x86_64 C - C++ - C++11 - C++14 - C++17 - GNU STL
Linux OS (Desktop - TV - Phone - Set Top Box - Embedded) Mandrake - RedHat - SlackWare - Debian - Ubuntu - CentOS - BusyBox Nokia Meego + Qt (Arm) Freebox Revolution (x86) Samsung Smart TV 2011 2012 (Arm)
Microsoft Xbox - Xbox 360 - Xbox One C - C++ - C++11 - DirectX
Sony PlayStation 4 CPU/GPU Optimization
Sony PlayStation 3 Cell PPU Assembler - SPU Assembler (Optimization, Job Systems, Threading)
Sony PlayStation Portable (PSP) MIPS R4000 Assembler - VFPU Assembler - I/D-Cache Optimization - BUS Optimization for rendering
Sony PlayStation 2 MIPS R5900 Assembler - EE Multi Media Extended Assembler - IOP Programming VU0 Assembler skinning, animation & optimized math VU1 Assembler rendering engine
Sony PlayStation 1 (PSX) MIPS R3000A Assembler - GTE Coprocessor - MDEC Video Z80 Arcade Emulations (Phoenix, Mr Do!, Ghouls n’ Ghosts)
Nokia Series 40 J2ME MIDP 1.0 (Video decompression .JAR applet)
Nokia Series 60 (N-Gage / 6600) J2ME MIDP 2.0 & Symbian OS v6/v7 (Video decompression .SIS + .JAR applet)
Nintendo GBA & DS Arm7 + Thumb - Arm9 Assembler Bluetooth streaming with custom designed Hardware
Microsoft DOS Rendering CGA / EGA / VGA / SVGA (2D & 3D) SoundBlaster / MIDI Audio Programming C - C++ - x86 - DOS4GW
Web HTML5 - CSS - Javascript
Pocket PC 2002 (X-Arm) ARM Assembler Windows CE Application programming (GUI - Graphics - Audio) Video decompression application
Atari ST FM / E / Falcon - Commodore Amiga Motorola 68000 & 68030 Assembler Low level programming tricks (no borders, more colours, copy protection, 60fps)
Tandy TRS-80 Motorola 6809E Assembler
Blackfin DSP EZ 533 Assembler
Arcade Z80 Assembler for Arcade Emulators
BBC Micro 6502 Assembler
ZX81 Z80 Assembler
|
|
Libraries SDK’s Tools & Engines |
Compilers & IDE’s GNU GCC 2.5 – 10 (ELF / Bare Metal / Embedded) - Binutils - Newlib LLVM - CLANG - Visual Studio - Qt - Eclipse - CodeWarrior - Watcom (DOS4GW) - DJGPP - RVCT Android Studio + Gradle - Xcode - MinGW - MSYS - Cygwin - CMake
Physics Engines Havok - Bullet - Box2D - Newton Dynamic - ODE - Tokamak
Game Engines Unity 3D - Marmalade SDK - Cocos 2D - BRender (PC - PS1) - RenderWare 3 (PS2 - PC - PSP) - STOS
Windows MFC & Win32
Networking Photon - BrainCloud - Play Fab - Google Play - Game Center - WinSock - libCurl - JSON - XML - RESTful - HTTP - OpenSSL - TCP/UDP - WinSock
Rendering API’s Microsoft DirectX 5 – 12 - OpenGL - GLew - OpenGL ES - WebGL - Metal - Vulkan - SDL - SDL 2 Shader Languages (GLSL - DirectX - HLSL - MSL)
Rendering Techniques Forward & Deferred Rendering - Fast Culling Techniques -Real-time Shadows & Lighting - Optimized 3D Maths - Animation / Skinning Systems - Poly reduction methods - Texture Optimization - World Streaming - CPU & GPU coherency - Fast Software 2D & 3D Rasterizing (Sprite’s, Texture Mapping, Shading, Wire-Frame)
Rendering Tools 3DS Max Exporters & Tools (examples on SCEE PS2 developer site) Blender Scripts & Exporting Tools Mesh Optimizing Tools (Tri-Stripping - Vertex Caching - Poly Reduction - Texture Sorting)
Compression Algorithms Optimized Discrete Cosine Transforms DCT / IDCT Fast Fourier Transforms (FFT) Wavelet Transforms for Video & Audio Fractal Compression Algorithms for Image & Video MPEG 1/2/4 Video Compression & Decompression MPEG Layer 1/2/3 Audio Compression & Decompression JPEG Image Compression & Decompression ADPCM Audio Compression & Decompression Xiph: Ogg - Theora (VP3) - Vorbis - FLAC - Tremor H264 - H265 - AAC Huffman Tables Vector Quantization (VQ) Codebooks Zlib - PNG - LZMA - ICE
Compression Tools FFMpeg - Bink
Audio FMOD - WWise - OpenAL - OpenSL ES - FastTracker (Mod / XM / IT / S3M) - Quartet - DirectSound - Windows Media
Profiling Tools (CPU & GPU) PlayStation SN Tool’s (ProDG Debugger, Tuner, DBS) - GPAD Microsoft PIX - Visual Studio Profiler CPU & GPU Apple Xcode CPU & GPU Capture Android Studio Profiler NVidia Visual Profiler Intel System Analyzer - Graphics Frame Analyzer - Graphics Multiframe Analyzer - Graphics Trace Analyzer RenderDoc
Source Control / Versioning SVN - GIT - CVS - Perforce - Araxis Merge
|
|
Present Feb 2010 13 Years 5 Months |
CEO After Dark Studios Ltd | London, United Kingdom Owner of After Dark Studios specializing in Video Game development for all the latest platforms. Offering contract and consultancy services to the Games & App industry along with developing our own IP & cross-platform technology. Specializing in cross platform code porting, low-level optimization (CPU & GPU), bug-fixing, product finishing and full development. Our Released Titles:
► Warrior Chess (iOS - Mac - Android - Kindle - PC - Linux) ► Mahjong Fantasy (iOS - Mac - Android - Kindle - PC - Linux) ► Solitaire Superstars (iOS - Mac - Android - Kindle - PC - Linux) ► Number Place (iOS - Mac - Android - Kindle - PC - Linux) ► Light Vs Dark (iOS - Mac - Android - Kindle - PC - Linux)
|
|
Jun 2020 5 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom Game Development Services
|
|
Jan 2020 3 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom Unity Graphics / Rendering programming services
|
|
March 2019 3 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom PlayStation 4 & Xbox One Low-Level Unity Optimization & Programming services
|
|
May 2018 1 Month |
Senior Engineer (Contract / Remote) … | London, United Kingdom Unity & React Node programming services for an Android AR project
|
|
April 2018 2 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom 3D OpenGL / WebGL programming services
|
|
Aug 2017 2 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom Unity game programming services for an iOS & Android game
|
|
May 2016 5 Months |
Senior Engineer (Contract / Remote) Focal Point VR | Guildford, United Kingdom Programming work for a real-time VR Streaming project. (C++ - DirectX - FFMpeg)
|
|
Apr 2015 3 Months |
Senior Engineer (Contract / Remote) Sega Europe | Horsham, West Sussex, United Kingdom ► Total War Battles: KINGDOM (Unity iOS & Android)
|
|
Jan 2015 3 Months |
Senior Engineer (Contract / Remote) Hutch Games | London, United Kingdom Unity game programming services for a Windows Phone game
|
|
Nov 2014 10 Months |
Senior Engineer (Contract / Remote) … | London, United Kingdom Providing contract programming services to the Casino / Gaming industry, developing & updating native apps for iOS & Android
|
|
Aug 2014 3 Months |
Senior Engineer (Contract) Ubisoft | Bordeaux, France ► The Crew (PlayStation 3 - PlayStation 4 - Xbox One - Xbox 360 - PC) Optimizations and bug-fixes for all platforms
|
|
Jan 2014 6 Months |
Senior Engineer (Contract) Ubisoft | Bordeaux, France ► The Crew (PlayStation 3 - PlayStation 4 - Xbox One - Xbox 360 - PC) Full port of the PlayStation 4 version to PlayStation 3
|
|
Oct 2013 1 Month |
Senior Engineer (Contract) Inition | London, United Kingdom Programming services for a Vodafone Augmented Reality (AR) project with Unity (Android)
|
|
Nov 2012 1 Month |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► The Sims Free Play (Freebox Revolution Set Top Box - Linux)
|
|
Sep 2012 2 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► The Game Of Life (Samsung Smart TV 2011/2012 - Linux) ► The Game Of Life (Samsung Mobile Remote Control App - Android)
|
|
Jul 2012 2 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Monopoly (Samsung Mobile Remote Control App - Android)
|
|
Jun 2012 1 Month |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Monopoly (Samsung Smart TV 2011/2012 - Linux)
|
|
Apr 2012 2 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Bejeweled 2 Audio MOD/XM Tracker (iOS) ► Bejeweled 2 (Playbook)
|
|
Jan 2012 3 Months
|
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► The Game Of Life (Nokia N9 Meego - Linux) (Unreleased)
|
|
Nov 2011 2 Months
|
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Tetris (Nokia N9 Meego - Linux) (Unreleased)
|
|
Oct 2011 1 Month |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Monopoly (Nokia N9 Meego - Linux)
|
|
Sep 2011 1 Month |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► The Sims 3 HD (Nokia N9 Meego - Linux) ► Bejeweled 2 HD (Nokia N9 Meego - Linux)
|
|
Jun 2011 3 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► Need For Speed SHIFT HD (Nokia N9 Meego - Embedded Launch - Linux)
|
|
Mar 2011 3 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom ► The Sims 3 (Sony Xperia PLAY - Embedded Launch - Android)
|
|
Jul 2010 8 Months |
Core Technology Engineer (Contract / Remote) Electronic Arts | London, United Kingdom Working remotely & on-site with various external developers in (Poland, France, Brazil), and internal EA studios (UK, Los Angeles, Romania, Montreal, Australia). Originally reporting to EA UK, but that changed to EA Mobile in Los Angeles, towards the end of the contracts.
Responsible for taking EA’s existing IP’s and porting them to new / next-generation (un-released) devices, using external middleware & internal technology. Working on a wide range of mobile devices and set-top boxes using Windows, Linux, Android, Apple iOS, and a variety of chipsets ARM / MIPS / X86, with various graphics capabilities OpenGL / SDL / Direct X / Direct FB.
During my various contracts I shipped a total of 14 titles, and contributed to more titles at other studios. Some of the titles were download-able while others were launch / embed titles on device
► Need For Speed SHIFT 3D (HTC Evo 3D - Embedded Launch - Android)
► The Sims 3 3D (HTC Evo 3D - Embedded Launch - Android)
|
|
Oct 2006 3 Years 5 Months |
Senior Systems Engineer Codemasters | Leamington Spa, United Kingdom - Developing low-level system code and optimization for all platforms - Debugging & bug-fixing of all systems (Gameplay, Physics, Audio, Networking, Rendering, AI) - Threading & thread safe solutions - Memory Management - Initial ports of the PC lead version to PlayStation 3 & Xbox 360 - PlayStation 3 PPU / GPU / SPU Optimizations with GPAD + SN Tuner - Xbox 360 CPU / GPU Optimizations with PIX
► Operation Flashpoint: Dragon Rising (PlayStation 3 - Xbox 360 - PC)
► GRiD: Arcade (Sega Coin-op)
|
|
Aug 2005 8 Months |
Senior Engineer (Contract) Climax Studios | Brighton, United Kingdom ► Mortal Kombat: Unchained (PlayStation Portable) | Midway Rendering optimization from 5fps to 60fps by re-writing and optimizing RenderWare 3 PSP
► ATV Offroad Fury Pro (PlayStation Portable) | Sony SCEA Skinning and rendering engine work
|
|
Mar 2003 6 Months |
Senior Engineer (Contract) Bits Corp | London, United Kingdom ► Rogue Ops (PlayStation 2 - Xbox) Full port from Xbox to PlayStation 2
|
|
Oct 2002 2 Months |
Senior Engineer (Contract) L T Studios | Warwickshire, United Kingdom ► Malice (PlayStation 2) - Argonaut Optimization of the PlayStation 2 EE/C++ (CPU) skinning engine to Vector Unit (VU) Assembler
|
|
2002 4 Years |
Director Mystik Edge Ltd | Banbury, United Kingdom Developing patent free video compression technology to enable low-specification devices to offer full screen / full motion video playback while offering compression ratios similar to MPEG / AVI at the time. The technology “Mystik Video”, was developed for the Gameboy Advance, Pocket PC, PC & Mobile devices. The Encoder & Decoder SDK, was then licensed to developers for use in other products.
Features of the SDK / Player included: - Full Screen Video Decompression @ 30fps (240 x 160) Mode 3 GBA (555 RGB) - Compression Ratios from 300:1 (depending on quality and motion) - Constant and Variable bit rate settings - Multiple Audio Channels - Full OSD support & Subtitling - Written entirely in assembler - Streaming via ROM / CD-ROM / SD-CARD / Bluetooth / Network
The minimum specification is an ARM7 CPU running @ 16Mhz, with a 14k workspace and 3k decoder footprint. An average motion to high motion video could achieve less than 1MB/min at 30fps including audio with a high image quality output.
A fast 3D gaming engine was also developed for mobile devices & handheld gaming consoles (GBA), with an easy to use programming API and exporter toolchain for 3DS MAX 4 ► Mystik Video Decoder (Nintendo GBA, PC, Nokia, Symbian OS, J2ME, Pocket PC) ► Mystik Video Real-time Encoder (Blackfin DSP Video) ► Lazer Blazer (Symbian OS / Nokia N-Gage) ► Demo Video Trailer Project (Nintendo GBA) - Atari ► Prototypes: Dragons Lair - Space Ace (Nintendo GBA)
|
|
May 2001 7 Months
|
Lead PlayStation 2 Programmer Awesome Developments | Banbury, United Kingdom ► Jimmy White’s Cue ball World (PlayStation 2 - Xbox - PC) - Complete port from PC to PlayStation 2 - Optimizations for CPU C++ compiler & GPU VU0/1 Rendering
|
|
Nov 2000 7 Months |
Senior Engineer (R&D) Sony Computer Entertainment Europe | London, United Kingdom Senior Engineer in the Research & Development Technology group. Answering low-level technical support questions for internal & external studios, to help with bug-fixing, optimisation, TRC, and product shipping. We also researched new technology and ideas for the PlayStation 2, which ranged from optimized rendering technology, demos and samples to tools and applications. Research and demos were then uploaded to the SCEE developer website for all registered developers to download and use. Training was also given for delivering presentations at the Sony Developer conferences
|
|
Sep 2000 3 Months |
Senior PlayStation 1 Engineer (Remote) Runecraft | Dewsbury, West Yorkshire, United Kingdom ► Matt Hoffman’s Pro-BMX (PlayStation 1) - Activision
|
|
Jan 2000 9 Months
|
Senior PlayStation 2 & PC Engineer Pure Entertainment PLC | London, United Kingdom ► Tennis Antics (PC) -Developing a cross platform game engine in the Technology Group
|
|
Oct 1999 4 Months
|
Senior PlayStation 1 Engineer The Creative Assembly | Brighton, United Kingdom ► Rugby (PlayStation 1) - Port from PC to PlayStation 1
|
|
Oct 1998 1 Year 1 Month
|
Senior PlayStation 1 Engineer Mind’s Eye Productions | Milton Keynes, United Kingdom ► Sheep (PlayStation 1) - Port from PC to PlayStation 1
|
|
Sep 1997 1 Year 2 Months
|
PlayStation 1 Engineer Stainless Games | Newport, Isle Of Wight, United Kingdom ► Arena (PlayStation 1) - Port from PC to PlayStation 1 (Unreleased)
|
|
Jun 1996 1 Year 4 Months
|
PC & PlayStation Engineer Mirage Technologies (Multimedia) Ltd | Congleton, Cheshire, United Kingdom ► Pool Shark (PlayStation 1) ► Theatre Of Pain (PC Dos) - GT Interactive
|
|
1992 4 Years |
Owner Paradise Software| Manchester, United Kingdom Genocide (Atari ST/E) - Atari ST Format 89% |