John Pullen CEO / Developer Profile
After Dark Studios Ltd
Last Updated: 21st June 2023

About

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 Details


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

www.AfterDarkStudios.co.uk

 

Latest Profile

profile.AfterDarkStudios.co.uk



Technical Experience


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

 


Work & Clients


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%