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), worked as engine programmer at PlayCanvas (2014-2017).
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.

Projects I worked on (chronologically):

Unreleased personal game project. I programmed the game itself, editor and all shaders as well.

Helicopter simulator:
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.

Parachutist simulator:
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):

Bottle shader (fully realtime):

GPU Radiosity lightmapper:

Custom penumbra shadows implementation (fully realtime):

From my diploma:

My 3D modeling attempts:

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 😀

Unity 2014-11-05 01-53-04-81

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.

68747470733a2f2f73332d65752d776573742d312e616d617a6f6e6177732e636f6d2f696d616765732e706c617963616e7661732e636f6d2f70726f6a656374732f343337332f3333333632362f4247514e39482d696d6167652d3235 68747470733a2f2f73332d65752d776573742d312e616d617a6f6e6177732e636f6d2f696d616765732e706c617963616e7661732e636f6d2f70726f6a656374732f31322f3334373832342f37554c5133592d696d6167652d32352e6a 68747470733a2f2f73332d65752d776573742d312e616d617a6f6e6177732e636f6d2f696d616765732e706c617963616e7661732e636f6d2f70726f6a656374732f31343932382f3334393832342f553838484a512d696d6167652d32 68747470733a2f2f73332d65752d776573742d312e616d617a6f6e6177732e636f6d2f696d616765732e706c617963616e7661732e636f6d2f70726f6a656374732f31343730352f3331393533312f4f344a3456552d696d6167652d32

2016-2017: After the Flood, a WebGL2 demo (together with PlayCanvas). Design, programming.




2017-2018:, a fast-paced multiplayer web game using PlayCanvas engine. Was still working on the engine itself, co-designed and programmed the game (client/server).


One comment

  1. Hello Arthur, this is Fernando. We spoke last night briefly. I hope it is all well with you.

    I am sorry, I totally forgot to give you my phone number. I really enjoy your work and I’m looking forward to perhaps have a second chat with you sometime and also hear more about your skills.

    Let me know how to contact you or an e-mail I can send you my personal information. (I hope I gave you my business card, cannot remember :D)



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s