- Language skills
- Romanian – native
- English - advanced
- French - basic
- Programming Skills
- C++/C++11
- Direct X 9/11/12
- Vulkan
- GNM/GNMX
- OpenGL3+
- OpenGL ES2/3+
- WebGL/WebGL2
- Angle
- wxWidgets/MFC/Win32 API
- boost
- OpenAL
- CMake
- Python
- C#
- HTML/CSS/Java Script
- Java
- SQL (MSSQL/MySQL)
- ASM (x86/x64/AMD ISA/AMD RDNA) – FIXME
- PHP
- ASP
- VB Script
- Cross platform development:
- Windows/Windows Universal Apps
- PS4/PS4 Pro
- XBox One
- Linux/Google’s Gaming Platform
- OSX
- iOS
- Android
- emscripten
- Linux administrator skills
- Education
- 10/2010 - 06/2012 Politehnica University of Bucharest Masters Complex Multimedia Signals Processing
- 10/2006 - 06/2010 Politehnica University of Bucharest Diploma Computers and Automatics department specialized in Systems Engineering
- 09/2002 - 06/2006 Colegiul Tehnic Miron Costin High School Computer Science
- 09/2008 - present Experience in C++/wxWidgets/OpenGL/WebGL2/Vulkan/DirectX11/DirectX12
- Job Title: ‘Dreamer Game Engine’ – personal project
- implemented in C++, using wxWidgets, a portable GUI library for multiple operating systems
- various rendering backends (OpenGL/WebGL2/Vulkan/DirectX11/DirectX12)
- 09/2021 - present Experience in C++/D3D11/D3D12/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ for ‘Electronic Arts’ (Bucharest RO)
- 09/2020 - 09/2021 Experience in C++/D3D11/D3D12/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ on the ‘FIFA 22’ project for ‘Electronic Arts’ (Bucharest RO)
- 09/2019 - 09/2020 Experience in C++/D3D11/D3D12/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ on the ‘FIFA 21’ project for ‘Electronic Arts’ (Bucharest RO)
- 03/2019 - 09/2019 Experience in C++/D3D11/D3D12/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ on the ‘FIFA 20’ project for ‘Electronic Arts’ (Bucharest RO)
- 10/2018 - 03/2019 Experience in C++/D3D11/D3D12/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ on the ‘Ghost Recon Breakpoint’ project for ‘Ubisoft’ (Bucharest RO)
- bugfixing, profiling and optimizations of the engine and rendering code (PIX/RenderDoc/NVIDIA Nsight/internal tools)
- 03/2017 - 10/2018 Experience in C++/D3D11/D3D12/GNM/GNMX/Vulkan
- Job Title: ‘Software Engineer/Render programmer’ on the ‘Assassin’s Creed Odyssey’ project for ‘Ubisoft’ (Bucharest RO)
- URL: https://assassinscreed.ubisoft.com/game/en-us/home/
- Game Engine: In-house engine ‘AnvilNext 2.0’ https://en.wikipedia.org/wiki/AnvilNext
- implemented shore wave sound emitter system (grid of probes/depth buffer/stencil mask used for cheap method of determining interactions)
- emit sounds for rolling waves
- emit sounds for waves dissipating into the shore
- emit sounds for collisions between waves and environment/entities
- work on custom river system used on rough terrain
- work on water visuals,flow and transition to FBM/FFT water
- work on entity interactions (displacements/particle trails)
- work on water/underwater look and feel
- work on rain optimizations
- bugfixing, profiling and optimizations of the engine and rendering code (PIX/RenderDoc/NVIDIA Nsight/internal tools)
- fixes and optimizations specific for the new GGP platform (Google’s Gaming Platform)
- 04/2016 - 03/2017 Experience in C++/D3D11/GNM/GNMX
- Job Title: ‘Software Engineer/Render programmer’ on the ‘Ghost Recon Wildlands’ project for ‘Ubisoft’ (Bucharest RO)
- URL: https://ghost-recon.ubisoft.com/wildlands/en-us/home/
- Game Engine: In-house engine ‘AnvilNext 2.0’ https://en.wikipedia.org/wiki/AnvilNext
- implement GPU hang tracing on PS4 (similar to NVIDIA Aftermath on PC)
- work on supportig D3D11 deferred contexts GPU markers
- implement multigpu support on PC
- support NVIDIA SLI using NVAPI (NVIDIA’s core SDK that allows direct access to NVIDIA GPUs)
- support AMD Crossfire using AGS (AMD GPU Services Library)
- bugfixing, profiling and optimizations of the engine and rendering code (PIX/RenderDoc/NVIDIA Nsight/internal tools)
- 10/2014 - 09/2015 Experience in C++/Javascript/DX9/WebGL/ES2/OpenGL3+/Angle
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘Runescape 3 (NXT Client - port from java to C++11)’ project for ‘Jagex’ (Cambridge UK)
- URL: http://www.jagex.com/
- Game Engine: In-house engine ‘NXT/RuneTek 7’
- worked on the C++ cross platform game client
- worked on python/cmake/bamboo build system and CI for new cross platform engine (windows/linux/osx/emscripten/ios/android)
- implemented the memory tracking and tagging system
- worked on profiling and optimizations using Intel VTune/Intel GPA/Nvidia Nsight
- refactored runescape model format to allow faster loading and easier merging of meshes at runtime
- multithreaded mesh combining based on material properties
- multithreaded assets loading code that was blocking in the previous client
- worked on rendering command gathering, sorting and merging
- 06/2014 - 10/2014 Experience in JavaScript/HTML5/WebGL
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘Runescape 3 (HTML5 Client)’ project for ‘Jagex’ (Cambridge UK)
- URL: http://www.jagex.com/
- Game Engine: In-house engine ‘HTML5/RuneTek 7’
- worked on the HTML5 game client
- rewrite rendering code to support command gathering and sorting to help reduce OpenGL state changes
- profile and optimize shaders
- implement various post processing effects like DOF/BLOOM/SSAO
- 02/2013 – 06/2014 Experience in C++/DX9/Java/C#/Lua
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘Transformers Universe’ project for ‘Jagex’ (Cambridge UK)
- URL: http://www.jagex.com/
- Game Engine: In-house engine based on ‘RuneTek 5’
- worked on memory allocation tracking and tagging for the game client
- implement external memory tracking system that injected hooks at runtime into the clients memory allocation functions (similar to the way Intel Pin inserts callback hooks)
- implement memory tracking scoped tags to allow easy identification of the memory owners
- implement memory tracking context tags to allow monitoring tasks that occurred over multiple threads
- generate graphs and statistics based on the collected data
- worked on various game client bug fixes and optimizations
- work on Maya exporter plugin
- worked on loosy keyframe compression for animations
- implement “engine preview” mode where the artist could view models/materials/animations in a new viewport that used the engine rendering pipeline
- 06/2012 - 12/2012 Experience in C++/OpenGL/DX9/DX11
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘Starsonata MMO’ project for ‘Starsonata, LLC’ (Bucharest RO)
- URL: http://www.starsonata.com/
- Game Engine: Open source engine ‘Irrlicht Engine’ https://en.wikipedia.org/wiki/Irrlicht_Engine
- worked on rendering features and optimizations for the game client:
- implemented post processing effects SSAO (screen space ambient occlusion)/HDR (high dynamic range)/Bloom/Various distortions
- implemented new effects for lasers/force-fields/warps
- optimized billboarding and text rendering by generating groups and minimizing the number of D3D calls
- switched layered background rendering to premultiplied alpha and optimize overdraw
- convert textures to BC1/BC3 (DDS with DXT1/DXT5) based on the clients hardware capabilities for lower memory usage
- implemented icosahedrons based geospheres
- implemented a unified task manager that uses an unblocking concurrent queue (relies on atomic operations instead of mutexes)
- moved mesh/texture loading to the new task manager
- 12/2008 - 11/2011 Experience in C++/Boost/wxWidgets/OpenGL/DX9/MySQL
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘Dawntide MMO’ project for ‘Working as Intended, LLC’ (Bucharest RO)
- URL: https://en.wikipedia.org/wiki/Dawntide
- Game Engine: Commercial engine ‘Gamebryo’ (https://en.wikipedia.org/wiki/Gamebryo)
- worked on the game client development witch used the Gamebrio game engine
- worked on client/server communications
- worked on various post processing effects (Bloom/Heat haze)
- worked on camera, animations, movement, trading and various other gameplay related features
- worked on CEGUI user interface for various gameplay elements
- worked on prioritizing relevant sound events that needed to be submitted to OpenAL (the number of available channels varied based on the hardware/drivers)
- implemented a NavMesh editor that used the scene geometry to generated simplified navigation surfaces (constructive solid geometry operations/edge collapsing/inaccessible polygon elimination)
- implemented a pahfinding server that used the simplified geometry to calculate movement routes
- worked on the lobby server
- worked on distributing of players to different zones
- worked on the global chat system
- worked on the global factions system
- worked on the zone server
- worked on proxy/master zones that allowed distributing workloads to different PC’s while allowing players to move seamlessly through the world (a total of 448 tiles of 1KM x 1KM existed that got distributed to different zone servers based on the area workload)
- relied on boost asio to multithread the entity updates in the world
- worked on the combat and spells system
- worked on a needs/offers system that allowed the entities to perform complex behaviors (a wolf would actively search for prey to satisfy it’s hunger need)
- worked on the patcher client/server
- relied on libtorrent and XBT tracker server for client update distribution
- relied on wxWidgets and WebView for client changelog and patcher progress display
- 06/2008 - 11/2008 Experience in ASM/C++
- Job Title: ‘Software Engineer/Game Engine Developer’ on the ‘XF-Gaming’ project for ‘Better Bionics for Gaming, LLC’ (Bucharest RO)
- developed a series of game mods that allowed using a custom light gun controller
- using the official SDK for the games Half Life 2/Quake Wars/Crysis
- move the weapon reticle based on the light gun pointing direction
- extended game hud for more light gun related actions
- using reverse engineering and runtime hooks/patches for the games Half Life/Counter Strike/Counter Strike Source
- hook into weapon reticle position/firing direction/server validations and adjust them to match the light gun
- hook into the OpenGL rendering to add an extended game hud for more light gun related actions
- 01/2008 - 06/2008 Experience in ASP/C#/ASP.NET/SQL
- Job Title: ‘Software Engineer’ on the ‘HYLO’ project for ‘BTT&T; Software Development’ (Bucharest RO)
- worked on developing a “smart” search engine (C# web service) based on a previous ASP .NET application
- worked on phrase correction to improve displayed results
- worked on various search techniques (up to 9 techniques were used for maximizing the number of results available)
- 09/2007 - 01/2008 Experience in C#/MSSQL/JavaScript/HTML
- Job Title: ‘Software Engineer’ on the ‘NetFlow’ project for ‘BTT&T; Software Development’ (Bucharest RO)
- familiarized with the CISCO net flow protocol witch was used for network traffic data collection (stored in a MSSQL database)
- worked on data aggregation and statistics generation
- worked on a web application designed to display charts and statistics for the collected data
- used HTML/JavaScript/AJAX for the front end
- used a C# web service for database queries and chart generation
- 06/2007 - 09/2007 Experience in C++/MFC/Codejock Software- Xtreme Toolkit
- Job Title: ‘Software Engineer’ on the ‘Procumail’ project for ‘BTT&T; Software Development’ (Bucharest RO)
- worked on a custom e-mail client/server with support for administrator roles that monitored and approved sent/received emails
- similar client to Microsoft Outlook
- server was based on Apache James
- 2005 Experience in ASM/C++/SQL/HTML
- Job Title: www.hackthissite.org/user/view/godmark - personal development (Roman RO)
- familiarize with reverse engineering and methods for writhing software exploits
- learn Ring0 debugging using SoftIce
- learn Ring3 debugging with OllyDBG and IDAPro.
- 2005 Experience in C++/OpenGL
- Job Title: ‘Software Engineer’ on the ‘3D Scene Viewer using OpenGL’ project (Roman RO)
- develop a system that allowed exporting 3DS Max scenes for viewing in a separate application using the OpenGL rendering API
- 2004 Experience in C++/OpenGL
- Job Title: ‘Software Engineer’ on the ‘Active X Control with OpenGL Rendering’ project (Roman RO)
- develop an Active X control usable by web browsers that relies on an OpenGL rendering context for viewing 3DS objects
- 2003 Experience in C++/MFC
- Job Title: ‘Software Engineer’ on the ‘Phone firmware flashing using the serial port’ project (Roman RO)
- use the serial port to reflash the firmware on Siemens mobile pones