I’m a technical fellow at Roblox. Previously I worked as a rendering engineer at Sperasoft, Inc. on FIFA 13 and FIFA Street titles, as a PS3 programmer at Saber Interactive and as a lead engine developer at Creat Studios; during my career I’ve helped ship many games on PS2/PS3/XBox 360/PC. More…

Games in reverse chronological order:

FIFA 13 (PC/PS3/X360), UEFA EURO 2012 (PC/PS3/X360), FIFA Street 2012 (PS3/X360), Battle: Los Angeles (PC/PS3/X360), SkyFighter (PS3), TerRover (PS3), Hamster Ball (PS3), Wakeboarding HD (PS3), Mushroom Wars (PS3), Digger HD (PS3), Smash Cars (PS3), Magic Ball (PS3), Cuboid (PS3), Mahjong Tales (PS3), Aqua Teen Hunger Force (PS2)


I’m also working on a wide variety of open-source projects, most of which are hosted on GitHub. Here’s a short selection:


pugixml is a light-weight C++ XML processing library with an extremely fast and memory efficient DOM parser and XPath 1.0 support. It is used in a wide range of applications, including various embedded systems, video game engines, offline renderers, web backends and robotics/space software. A lot of effort goes into making sure pugixml has an easy-to-use API, has as few defects as possible and runs on all widespread platforms.


meshoptimizer is a library that can optimize geometry to render faster on GPUs by reordering vertex/index data. The library has algorithms that optimize vertex reuse, vertex access locality and overdraw, resulting in fewer vertex/fragment shader invocations and fewer cache misses when loading vertex data.


volk is a meta-loader for Vulkan. It allows you to write a Vulkan application without adding a dependency to the Vulkan loader, which can be important if you plan to support other rendering APIs in the same applications; additionally it provides a way to load device entrypoints using vkGetDeviceProcAddr which can reduce the draw call dispatch overhead by bypassing the loader dispatch thunks.


qgrep is a fast grep that uses an incrementally updated index to perform fast regular-expression based searches in large code bases. It uses RE2 and LZ4 along with a lot of custom optimizations to make sure queries are as fast as possible. Additionally it features a Vim plugin for great search experience in the best text editor ;)


codesize is a tool that shows the memory impact of your code using a hierarchical display adapted to work well in large C++ codebases. It works by parsing debug information from PDB/ELF/Mach-O files. The purpose of the tool is to let the developer quickly find areas in the codebase that can be improved to gain memory by reducing code size, which is particularly important on memory-constrained platforms.


Here are some talks and publications I’ve done over the years:

I also have a blog with technical posts on various subjects (you are reading it!).


Arseny Kapoulkine has worked on game technology for the past decade. Having worked on rendering, physics simulation, language runtimes, multithreading and many other areas, he is still discovering exciting problems in game development that require low-level thinking. After helping ship many titles on PS3 including several FIFA games, he joined Roblox in 2012 and has been working on the in-house engine ever since, helping young game developers achieve their dreams.


You can reach me by e-mail at or on Twitter @zeuxcg.