Arthur Rakhteenko, programmer.
Areas of expertise: real-time 3D graphics programming, engine programming, general game programming.
Languages: C/C++ (since 2009), HLSL/GLSL, C#, JS, PHP, MaxScript etc.
GAPI: DX9/10/11, WebGL 1/2.
Engines: have my own engine, also worked with Xors3D and Unity (scripts/shaders/native PC plugins), employed at PlayCanvas.
Libs: Bullet physics, AngelScript, OpenAL, Max SDK, recast navigation, Awesomium, SQLite, XNA, OptiX, nodejs, possibly many others.
Things I did and understand except graphics:
– position-based physics;
– collision detection;
– pathfinding (A*, Dijkstra, navmesh);
– AI: FSM and Behaviour trees;
– Tools, importers, exporters;
– Whatever most games need: camera control, decals, particles, spatial partioning (BVH, BSP, Quadtree…), gameplay stuff and much more;
– some networking;
– a bit better than basic 3D modeling/sculpting skills (3dsmax, ZBrush);
– video composing, camera motion tracking tracking (premiere, after effects, boujou);
– a bit of reverse engineering.
Education: graduated from Moscow State Institute of Electronics and Mathematics.
Languages (not programming): native Russian, fluent English (reading/writing).
Personal interest: developing great games.
Currently working at:
PlayCanvas, engine developer
Projects I worked on (chronologically):
Frozen project. Originally developed for CSTS Dinamika.
I programmed the whole engine, simulator itself, shaders, tools etc.
– Virtual texturing, diffuse and normal (the whole texture data was > 2GB, but the runtime only required around 200 mb at any time. No dynamic allocations performed).
– Terrain chunked LOD system with morphing to prevent popping.
– Flexible cloud system allowing for any weather condition from clear to overcast, fake scattering effect included.
– Dynamic time of day and time of year (summer/winter).
– Combined shadow approach: cascaded shadow maps for city, separate high quality VSM for helicopter, soft projected cloud shadows, soft shadows from terrain (recomputed with GPU heightmap raytracing only when Sun changes, computation scattered to several frames).
– Wet glass simulation.
– Ocean with 3D waves.
– Road traffic simulation.
Sold to CSTS Dinamika.
Made using my updated engine from the helicopter simulator with many improvements and optimizations.
– Everything mentioned for helicopter simulator.
– Better vegetation with alpha to coverage.
– Fully GPU particles (both rendering and simulation).
– Procedural town generation.
A free web service for 3D artists.
I developed the WebGL-powered engine, shaders, server logic and web interface itself.
Rendering is aimed to be physically-based.
– HDR Linear pipeline with filmic tonemapping;
– Energy conserving;
– Image-based lighting.
Rendering system for an indie game. Featuring tiled forward shading. Works inside Unity, but all shaders and rendering passes including shadows (VSM, btw) and god rays are programmed by me specifically for this project. Also note massive soft-edged grass (not alpha test).
Random (for fun):
Water shader mod for Mafia: The city of lost heaven (implemented via custom proxy dll between the game and Direct3D):
2014: Faded, a stealth-action sandbox game prototype. Stealth, hiding evidence, firearms, blunt weapons, dialogues, cars, shops and in-game computer simulation with in-game internet with hacking using real-life SQL-injections. Very compilcated (but buggy) AI. Most 3D models are placeholders. The prototype is extremely unbalanced and hard to understand 😀
2015-2016: JG, a short demo. Check out the article about my painterly rendering solution. Design, programming.
OptiX-based lightmapper (to be released soon). Directional, area and sky lighting, global illumination, fast render times.
Worked with PlayCanvas (2014 – present) as a graphics programmer. Added particle systems, in-engine lightmapper, moved from basic phong shading to PBR, added WebGL 2.0 features, point light shadows and many other things (you can check my github). Also programmed (together with moka) some of the showcase demos.
2016-2017: After the Flood, a WebGL2 demo (together with PlayCanvas). Design, programming.
2017-2018: Robostorm.io, a fast-paced multiplayer web game using PlayCanvas engine. Was still working on the engine itself, co-designed and programmed the game (client/server).