Work

I’m a technical director 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.

Projects

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

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.

qgrep

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 ;)

meshoptimizer

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.

codesize

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.

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

Biography

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.

Contacts

You can reach me by e-mail at arseny.kapoulkine@gmail.com or on Twitter @zeuxcg.