Adrian Sgro Game Programmer

Argentinian Game Programmer

I am a Self-Taught programmer that started programming games in it's free time, and then fell in love with the discipline. Some time later, with formal studies, i transformed it from a passion to a profession and my current job.

You can view my CV here: Adrian's CV

Engines

I'm a big believer that if the fundamentals are right, the engine is just a tool to get to an end. That's why i have experience in several industry standard engines and even engine development from the ground up with OpenGL.

Code

As a game programmer, i'm well versed in all the most used code languages in the game development industry (either in conjuction with an engine or standalone).

Version Control

Version control is one of the most important tools in a programmers toolbox. That's why i regularly use Git in both personal and professional endeavors either with a GUI or directly with GitBash.

Backend

Nowadays, almost all games require some form of connection to the web. Either as a requirement of gameplay, as a multiplayer game, or as a need of a permanent database for saving different game data. This is why i learnt and used several different common backend services for different needs.

Organization Tools

As a person with experience working in groups of different sizes, i learnt several organization tools over the years to permit an efficient comunication between different development disciplines being ClickUp and Trello my most used.

Profesional Experience


Hipercasual Games

In this projects i was responsible of creating the full game system required for the games, the integration of all the corresponding assets and the integration of all the required backend to receive analytics about each game.


Agite

  • WebGL Server authoritative Multiplayer Brawler game made for the Samot company.

In this project i was responsible of creating the input system and UI navegations of the game, the options systems and the asyncronous loading of cosmetics through the web.


Blasted Gnomes

  • WebGL Server authoritative Multiplayer Parabolic shooter game made for the international company Ripio.

Inside this project i was responsible of almost all the necesary system including basic game system, multiplayer architecture, all necessary API calls through the web and all security protocols needed in either the client or the server.


Liberators Chronicles

  • PC Tactics based strategy game made that received a nomination to “Best Narrative” in the EVA 2023 (”Exposicion Videojuegos Argentina”).

Inside this project, i was responsible of creating tools for easier integration and configuration of assets mainly in the game “Action Camera”.


Eggscape

  • AR/VR 3D Beat'Em Up game that received an award in venice (Biennale Cinema 2022) in the Extended Reality category.

In this project, i was responsible of improving the multiplayer pipeline and creating new features from scratch that required expert knowledge of multiplayer architecture. This required knowledge of a custom network engine with deterministic physics and ECS.


Developer Skills

This are skills i got over the years developing games in learning and professional enviroments.

Programming Concepts

  • Solid knowledge of OOP
  • Solid Experience in SOLID and KISS principles.
  • Solid Knowledge and experience in programming patterns applied to videogames such as Builder, Factory, Flyweight, Object Pooling, Observer, Command, Service Locator, Strategy and others.
  • Knowledge and experience in different architectural patterns such as MVC, MVP or ECS.
  • Knowledge and experience in Unit Testing and TDD.
  • Knowledge of common game development algorithms such as FSM, Boids, A* pathfinding, Voronoi and many others.
  • Knowledge of Algebra y Physics with a strong handling of Vectors, Quaternions, Matrixs, Planes, Collisions and other related mathematical concepts.
  • Knowledge of Parallel Programming.
  • Knowledge of the rendering pipeline including Shader Programming (Mainly HLSL/GLSL).

C# Specifics

  • Solid knowledge of C# specific characterist such as Attributes, STL, LINQ, Lambdas, Predicates, Async/Await, Yield Return and others.
  • Knowledge of handling and optimization of memory usage, such as GC functionalities, Struct/Class difference and others.
  • Knowledge and experience in Assemblies Handling.
  • Knowledge and experience in Reflection.
  • Basic Knowledge of WFP.

Unity Specifics

  • Solid Knowledge and experience in all basic systems of the engine.
  • Solid Knowledge and experience in all target platforms being Android and WebGL my main expertice.
  • Solid Knowledge and experience of assets import and integration pipelines.
  • Solid Knowledge and experience of UI Handling, including functionality to resizing to anchors.
  • Knowledge and experience with editor scripts such as CustomEditors, EditorWindows and PropertyDrawers in both IMGUI and VisualElement pipelines.
  • Knowledge and experience in different Unity Packages such as Addressables, New Input System, Localization, and several others.
  • Knowledge and experience in interfaces programming for RESTful API through WebRequests.
  • Knowledge and experience in multiplayer games with Mirror/Fusion with different multiplayer architectures.
  • Knowledge and experience about all different render pipelines (Built-in, URP, HDRP) including material/shaders handling through HLSL or Shadergraph.
  • Knowledge and experience in Unit-Testing for general logic and engine specific logic.

C++ Specifics

  • Solid knowledge of memory management with either smart pointers and raw pointers. This includes pointers algebra.
  • Solid knowledge of the STL. Mainly using cointainers such as vector, queue, stack, list and enumerators.
  • Solid knowledge of Files Handling and exceptions.

Unreal Specifics

  • Basic knowledge of the engine, materials and assets imports.
  • Basic knowledge of the development workflow using Blueprints and C++ in parallel to get the advantages of both.

Work Methodologies

  • Solid Knowledge and experience in Agile Principles and Scrum/Kanban Methodologies.
  • Solid Knowledge and experience in different project management systems such as Trello, ClickUp and Jira.
  • Solid Knowledge and experience in different repository systems (Git/GitLab) and different Git Tools such as GitKraken, SourceTree, GitHub Desktop and GitBash.
  • Experience in documentation both internal in code or external by using documentation programs such as Dotxigen.