About

Marius


  • Twitter


  • Language skills
    1. Romanian – native
    2. English - advanced
    3. 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