Skip to content
View lpestl's full-sized avatar
:octocat:
Focused on Unreal Engine
:octocat:
Focused on Unreal Engine
  • Saint Petersburg
  • 14:51 (UTC +03:00)
  • LinkedIn in/lpestl
Block or Report

Block or report lpestl

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lpestl/README.md

Hellođź‘‹! My names is Michael.


Date of birth: August 13, 1987
Nationality: Russia
Marital status: Married
lpestlname@gmail.com
+7 (931) 531-66-25
@lPestl
lpestl#3234
in/lpestl
/lpestl

Personal Profile Statement

        I am a I have been developing software since 2007. I actively use C/C++, C#, Python. Participated in projects in F#, Java, Kotlin, JavaScript. Contributed to Open-Source projects such as Unreal Engine 4/5, OpenFrameworks, TortoiseGit, etc. For the last 7 years I have been developing in C++ in the context of Unreal Engine. For a long time, I interacted with other engines, such as Unity, Unigine, NeoAxis, etc.
        Self-starter and strong independent worker. Extensive experience in creating game mechanics with a focus on creating tools for designers. Strong team player. Have experience in managing small teams. Deep knowledge of backend and network client-server interactions. Familiar with the intricacies of version control systems.
        I am able to find a common language with customers, identify needs for the end user and implement convenient and reliable applications from the UX point of view. In this regard, a fairly wide technology stack has developed. The main motivator for me is the feedback from the end users.

🔧 Tech stack


Programming languages:
- C/C++, C#, Python, F#, Java, JavaScript, etc.
Version control:
- Git, SVN, Perforce, mercurial.
IDEs:
- Visual Studio, Visual Studio Code, JetBrains Rider, JetBrains CLion, JetBrains PyCharm, JetBrains IJIdea, Eclipce, Android Studio, RStudio, Mono, XCode, RAD Studio.
Databases:
- MongoDB, SQL Server, MySQL, SQLite, MS Access, IndexedDB, Paradox.
Framework, SDKs, libraries, tools:
- DirectX, OpenGL, OpenGLSE, AndroidSDK, NDK, OpenCV, OpenFrameworks, OpenSSL, OpenNN, OpenAI, TizenSDK, AngularJS, SDL2, .NET Core, .NET Framework, MFC, WPF, MVVM, Xamarin, CLI/CLR, Win32, WinAPI.
Engines:
- Unreal Engine, Unigine Engine 2.7, Unity3d, Neo Axis, Cocos2d, Corona SDK, Ogre3d.
Application packages:
- MathLab, MathCAD, AutoCAD, 3ds Max, Blender, Photoshop, SolidWorks, ErWin, BPWin, Coral Draw.

🎓 Education


The Amur State University, Blagoveshchensk
Department of Mathematics and Computer Science
Master`s Degree in “Automated Information Processing and Control Systems”.

đź‘· Work Experience


Senior UE5 Engineer (C++)

Responsibilities:
  • Implementation of Virtual Beings components and subsystems in Unreal Engine 5 and integration with backend AI solutions using C++;
  • adaptation of functionality to work in multiplayer based on the online meta-universe project;
  • plugins architecture improvements.

  • Achievements:
  • developed a universal plug-in "State Machine" with a flexible graphical graph editor in UE5 (based on the Behavior tree Editor);
  • various state machines for the behavior of virtual characters have been developed and implemented in the project, such as the Dialogue State Machine, the State Behavior Machine, the Emotional State Machine;
  • implemented the logic of creating and managing voice chat rooms for virtual characters (AI) and regular users;
  • linking and setting up all of the above modules with the visual component of virtual characters, namely lipsync, visemes for literals, gestures, facial emotions, etc.
  • Senior Unreal Engine Developer (UE4/5 C++)

    Responsibilities:
  • direct interaction with the Art Department and Game Designers to collect requests for the development of new tools and new game mechanics;
  • formation of technical specifications upon request and planning;
  • development and integration of new tools for designers.

  • Achievements:
  • developed a standalone plugin for UE4/5 (independent of the main game code) QuestSystem, for creating and editing game quests consisting of quest stages. The quest editor is presented as a graph editor inside UE4/5 (based on the Behavior tree Editor);
  • various state machines for the behavior of virtual characters have been developed and implemented in the project, such as the Dialogue State Machine, the State Behavior Machine, the Emotional State Machine;
  • developed the Unreal Editor extension for managing NPC Camps (these are certain points on the map with dynamic NPC spawn and rewards for overcoming them);
  • developed the Unreal Editor extension to create and configure universal PuzzleLikeActivities in the game.
  • Generalist programmer/Tech & Tools department

    Achievements:
  • developed of a server API for automating game playtests (Python, flask, docker-compose, elasticsearch, logstash, kibana);
  • developed of a client application for automating playtests (WPF, monotorrent, API integration for interacting with Jenkins, Team City);
  • developed of utilities for setting control points for cameras in Unreal Engine 4 (UE4, Bluetilities widgets);
  • developed of module GitSourceControl with visualization of different branches, the ability to switch between branches in the editor, the ability to use LFS features to lock / unlock binary files (UE4 / C++);
  • developed of a utility for exporting data assets to json format and dynamically generating new data assets from json (import) (UE4 / C++);
  • participation in the implementation of the gameplay functionality of the new AAA game in the sci-fi setting (UE4 / C++).
  • Software engineer

    Achievements:
  • development of interactive VR presentation for new generation trains Hyperloop (Unreal Engine 4, Blueprints);
  • participation in the development of add-ons for OpenFrameworks (open source) (C/C ++);
  • development of a WPF application for diagrams of the sequence of execution of scripts (.Net C# WPF).
  • Category 1 programmer (Lead software engineer)

    Achievements:
  • developed a desktop client for a client-server engineering application for civil construction work visualization;
  • developed of SDK for integrating Unigine Engine 2.7 render core into the .NET applications (C#, C++);
  • developed of an application (WPF, DevExpress, SQL Server, Paradox 7.x) for monitoring and vibration diagnostics for DRG electric motors;
  • developed of an application to demonstrate the internal structure of various engines, visualized using CAD models (Unreal Engine / C++).
  • Unreal Engine Programmer

    Achievements:
  • developed the functional part of the game "Knights VR" for Oculus and Vive;
  • developed mechanics for controlling a horse rider for VR;
  • several QTE minigames were developed for equestrian tournaments of the Middle Ages.
  • Lead software engineer

    Responsibilities:
  • liaison with overseas customers;
  • coordination of software requirements specifications;
  • leading the design and development process;
  • providing support for the end product.

  • Achievements:
  • developed the mobile game “VR Adventures of Pirate Cat” and published it on Google Play (Unity3D 4-5, Facebook SDK);
  • developed an application called Tennis Manager for the Samsung Gear S2 smart watch (TizenSDK, JS, Angular);
  • developed a full-fledged Facebook plug-in for Unreal Engine 4 for Windows (UE4/C++);
  • developed various applications for VR HTC Vive using Unreal Engine 4.
  • C/C++ programmer

    Responsibilities:
  • developed and supported software for controlling an interactive floor projection system;
  • provided support to users of the interactive systems;

  • Achievements:
  • developed an interactive augmented reality project for The Blagoveshchensk 2014 Day event;
  • developed a computer vision controlled video surveillance system to expand the capabilities of interactive floor projection software based on OpenCV C/C++ libraries;
  • developed visual effects for the interactive floor projection system in C/C++ based on openFrameworks and using OpenGL;
  • developed software in C/C++ for controlling an interactive showcase system;
  • developed software in C/C++ for controlling an interactive kid’s playdesk system.
  • Game developer

    Achievements:
  • developed the game "Guess the Dress!" for iOs in X-Code using Objective-C;
  • adapted the game "Guess the Dress!" for Android in Unity3d using C#;
  • developed the game "Cars in Sandbox" for iOs in X-Code using Objective-C;
  • adapted the game "Cars in Sandbox" for Android in Unity3d using C #;
  • developed 3 other games (not released) for Android in Unity3d.


  • Experience in related fields



    Software engineer

    Achievements:
  • developed the software and related documentation for a master's thesis titled “Designing a Fuzzy Logic-Based Medical Diagnostics Information System”;
  • developed a centralized automated system for processing court applications and SMS notices for the Amur Region Lawyer Bar Association;
  • participated in the development of a mobile app that incorporated a 2D game: developed the UI for game scenes in CocosSharp; developed a module for connecting to device sensors via Bluetooth Low Energy;
  • developed an app core in F# linked to Xamarin.Forms;
  • developed an automated information system (AIS) called “A Multi-Platform Catalogue of Low Poly Models”. It was made in Unity3d in C#, and an SQLite database was built. 3dsMax was used in the development process;
  • developed a software program called “Visualization of 3D Models in Computer Graphics”. It was made in Microsoft Visual Studio in C++ using Win32App, DirectX 9;
  • developed a game titled “Endless maze” for the Android mobile platform. It was made in Unity3d in C#;
  • developed a software program called “Program for Computing a Theoretical Micrograph of the Raster Image of the Domain Structure of Ferroelectrics”. It was made in Microsoft Visual Studio in C++ using WinForms, CLR, .NET framework and the OpenCV computer vision library;
  • developed a software program and a database called “Short-Term Forecasting of Currency Exchange Rates”. It was made in Embarcadero RAD Studio in C++ using ADO technologies. The DB was made in Microsoft Access;
  • developed a software program called “Automated Optimization of Production Processes Using Linear Programming Tasks”. It was made in Embarcadero RAD Studio in C++;
  • developed a software program called “Visualization of Geometric Deterministic Fractals”. It was made in Microsoft Visual Studio in C++ using MFC technologies;
  • developed visual effects for an “interactive floor” system. It was made in Microsoft Visual Studio in C++ using the openFrameworks, SDL and OpenGL libraries;
  • developed a software program for an Augmented Reality management system. It was made in Microsoft Visual Studio in C++ using openFrameworks, ARtoolKitPlus, Vuforia libraries;
  • developed a software program called "Visualization of Throwing a Sphere in a Vacuum”. It was made in Embarcadero RAD Studio in C++ using OpenGL v1;
  • developed a client / server chat software. It was made in Embarcadero RAD Studio in C++ using TCP/IP technologies;
  • plus lots of other sundry projects.
  • Head of Information Security and New Technologies

    Responsibilities:
  • information security assurance in a banking institution in compliance with Bank of Russia standard STO BR IBBS-1.0-2014.

  • Achievements:
  • a self-assessment of the lending institution was conducted in accordance with STO BR IBBS-1.0-2014;
  • the lending institution obtained a license as required by RF Government Resolution No. 313 of April 16, 2012, and guidance on the licensed activity;
  • automatic exchange of information with the Federal Tax Service was set up and “Corporate Taxpayer” software was deployed;
  • internal bank documents (bylaws, guidelines, logs, etc.) were prepared and implemented.
  • Data processing center engineer

    Responsibilities:
  • provided support for and further developed an existing Production Enterprise Management configuration in 1C.

  • Achievements:
  • developed software for automating enterprise network management and administration processes in Microsoft Visual Studio in C++ using WinForm, CLR, .Net Framework 4 technologies;
  • rolled out and followed up the developed software;
  • developed a module for processing XML messages in a Production Enterprise Management configuration;
  • LAN installation;
  • provided technical support for other employees.
  • System administrator

    Responsibilities:
  • made field trips to various locations in the region to ensure full automation of retail outlets;
  • installed and commissioned cashier equipment;
  • LAN installation;
  • set up, supported and hooked up local outlet databases to a distributed regional database based on a configuration in “1C: Rarus”.

  • Achievements:
  • set up, supported and hooked up the regional database to a distributed RF database based on a configuration in “1C: Rarus”;
  • set up two district databases (in Tambovsky and Zavitinsky districts), supported and hooked up the databases to a distributed regional database based on a configuration in “1C: Rarus”;
  • installed and set up cashier equipment, provided follow up support for 6 retail outlets.
  • Software engineer

  • built, developed and implemented databases based on a new configuration in “1S: Enterprise”;
  • office equipment repair and maintenance;
  • LAN installation.
  • System administrator

  • database support and maintenance;
  • retail equipment maintenance and repair;
  • LAN installation.


  • lpestl's github activity graph

    Last refresh

    Pinned

    1. UEBuffSystem UEBuffSystem Public

      Simple system of Buffs (effects that affect game entities)

      C++

    2. StateMachinePlugin StateMachinePlugin Public

      Extends the editor's capabilities to create state machine assets, in the form of a graph editor

      C++ 1

    3. Maze Maze Public

      Simple maze generator and path finder. Realization on openFrameworks

      C++ 32 3

    4. UnrealSlateAppTemplate UnrealSlateAppTemplate Public

      Project template for creating cross-platform desktop applications based on Unreal Engine. For the GUI, the Slate UI Framework (part of UE) is used.

      C++ 38 6

    5. UE4ContributionCases UE4ContributionCases Public

      Here are collected cases of my participation in UE4. Found bugs, their reproduction before and after fixing.

      C++ 1 1

    6. SimpleTasks SimpleTasks Public

      Simple tasks from https://t.me/unilecs

      C#