rodionkarimovrodionkarimov

Родион Каримов

Unreal Engine 4 разработчик · Приложения · Разработка ПО
От 100 000 ₽ · Открыт к предложениям
Возраст: 36 лет
Опыт работы: 12 лет и 8 месяцев
Регистрация: 04.09.2017
Последний визит: 2 месяца назад
Местоположение: Россия, Екатеринбург
Профессиональные навыки: C++ · C# · Unity3d · Unreal Engine · Разработка игр · Directx · Шейдеры · Opencl · Node.js · MongoDB
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Наиболее интересна работа в областях :

Создание тренажёров, симуляторов, визуализаций, конфигураторов и других графических приложений, Virtual Reality и Augmented Reality приложений и рендеринга для промышленности, коммерции ( магазины, реклама и другие направления ), бизнеса и индустрии развлечений ( фильмы, мультфильмы, заставки, игры и другие области ) с применением движков Unreal Engine 4, Unigine, Unity3D и других, а также создания игр на движках UE 4, Unigine, Unity3D и других.
Разработка шейдеров HLSL и GLSL, реализация самых новых разработок в области графики ( из научных PDF - публикаций и книг и примеров AMD/ATI и NVIDIA - в работающие практические приложения ).
GPGPU-вычисления OpenCL и DirectCompute в движке Unreal Engine 4 для создания крупных симуляций, эффектов, процедурных моделей, вычислений и так далее,

Node.JS, Linux и Docker - API-серверная разработка + работа с Базами Данных с применением :
Koa 2, Nest.JS и Express - REST API,
Mongoose, Sequelize и Knex ( PostgreSQL, MySQL и SQLite ) и Redis,
TypeScript,
Joi,
JSON Web Token, CAS, OAuth2, OpenId для аутентификации,
nodemailer и handlebars для отправки писем,
Pino,
ESLint,
Yarn и NPM,
Unit testing : AVA, Mocha + Chai,
async/await и Promises,
API Blueprint,
cluster для создания основного и рабочих процессов,
agenda для планирования задач и очередей выполнения команд,
microtasks, macrotasks and Event Loop,
PM2, systemd и init.d для запуска микросервисов,
NGINX для High Load и High Availability,
Git, GitHub, GitLab, Jenkins и BitBucket, Husky и SVN,
Docker для установки сервисов на серверах,
Микросервисы и монолиты.

Мне больше всего нравится Research and Development-работа, когда я читаю научные публикации и книги в этих областях работы и реализую полученные знания на практике для решения реальных задач.

Примеры :

2020 :

Audio Spectrum visualization in Unreal Engine 4 with help of Instanced Static Meshes and tesselation :
https://youtu.be/RkQo6vxsg1U .

OpenCL raytracing in Unreal Engine 4 :
https://yadi.sk/d/koG92bYbK66KFA - here spheres are traced in OpenCL, then result is copied to UE 4 dynamic texture and rendered on a surface in 3D world.

Пример API-сервера на Node.JS и TypeScript :
https://bitbucket.org/RodionKarimov/api-server-example/src/master/
git clone https://RodionKarimov@bitbucket.org/RodionKarimov/api-server-example.git
с применением :
Koa 2, Mongoose, Joi, JSON Web Token, Pino,
nodemailer, handlebars и agenda для отправки писем и очередей событий,
cluster для запуска основного и рабочих процессов,
OAuth2,
ESLint,
Yarn,
Unit testing : Mocha + Chai,
API Blueprint,
Git, Husky,
сервис можно запустить в рабочем режиме с помощью PM2 или systemd.
Здесь реализованы методы POST и GET /clients/ и GET, PUT и DELETE /clients/{idClient}/ .

2019 :

Симуляция водной поверхности на процессоре и GPU с помощью OpenCL в движке Unreal Engine 4 с помощью ProceduralMeshComponent :
https://bitbucket.org/RodionKarimov/watersurfacesimulation/src/master/
git clone https://RodionKarimov@bitbucket.org/RodionKarimov/watersurfacesimulation.git
Документация по компиляции проекта располагается в файле : Documents/Компиляция проекта.txt .

2018 :

Криптовалюта Binarium ( C++, криптография, Qt, Linux, кросс-компиляция, Git, networking, ... ) :
https://binarium.money/
https://binarium.money/about/
https://github.com/binariumpay/binarium
https://binarium.money/static/files/binarium/binarium_cryptocurrency_whitepaper_ru.pdf
https://binarium.money/static/files/binarium/binarium_cryptocurrency_whitepaper_en.pdf .

Майнинг-пул криптовалюты Бинариум ( C, Node.JS, криптовалюты, block-chain, криптография, Web, JSON, networking, Git, кросс-компиляция, Linux, Assembler, ... ) :
http://pool.binarium.money ,
Node Open Mining Portal : https://github.com/binariumpay/node-open-mining-portal ,
Node Stratum Pool : https://github.com/binariumpay/node-stratum-pool ,
Node Multihashing : https://github.com/binariumpay/node-multi-hashing ,
CPUMiner-Easy : https://github.com/binariumpay/cpuminer-easy .

Диагностирование диабета и определение предрасположенности людей к такой болезни Нейронной Сетью по данным индейцев Пима на основе TensorFlow.JS :
http://imagination-works.ru/applications/ai/2018/10.17_diabetes_diagnosing_and_determination_of_prospensity_to_it_of_people/index.html ,
https://binarium.money/ai/test4 , https://vk.com/binarium_money?w=wall-166229593_315 ,
среди данных индейцев Пима у многих записей есть отсутствующие поля, по этому нужно их восполнять, чтобы не терять важную информацию. Для этого в приложении реализованы 2 метода восполнения отсутствующих данных : k-Nearest Neighbours ( самый точный ) и Median Imputation ( менее точный, но более быстрый ) - нужно выбрать один из них и нажать на кнопку Train Network. Максимальная точность диагностирования 82 - 84 % : достигнет ли Нейронная Сеть её или нет зависит от того, в какой из минимумов функции оценки неточностей моделирования НС целевого явления она попадёт при тренировке и от того, какие данные попадут во множества для тренировки и проверки. Нейронную Сеть нужно тренировать несколько раз по новой, чтобы она достигла точности 82 - 84%. После этого нужно в области Predict ввести данные человека для диагностирования и нажать на кнопку Predict : Нейронная Сеть выдаст информацию о том : болеет ли человек диабетом или нет, какова вероятность этого и каков уровень предрасположенности человека к такой болезни. В дополнение к этому приложение отображает статистическую информацию о полях данных для анализа : min и max, количество сэмплов, среднее выборочное значение, дисперсия и среднеквадратическое отклонение. Команды из университетов на этих данных достигают точности диагностирования 90 - 97% с применением Support Vector Machines - я их реализую в этом примере, в дополнение к Нейронным Сетям. Таким же образом можно диагностировать людей на наличие любых болезнией и вообще проводить классификацию любых данных : надёжных и бракованных деталей, надёжности людей, берущих кредиты, надёжности поставщиков торговых сетей, выявления мошеннических действий посетителей интернет-магазинов и для других задач классификации в практических областях.

Анализ кредитов ВБРиР, выданных Бразилии и завершившихся в период с 1990-го по 2000-й годы, Нейронной Сетью на основе TensorFlow.JS :
https://binarium.money/ai/test2 ,
https://vk.com/binarium_money?w=wall-166229593_264 ,
https://binarium.money/grid/ibrd_data_analysis/ .

Калькулятор эффективности майнинга в сети Бинариума на основе TensorFlow.JS :
http://imagination-works.ru/applications/ai/2018/10.9_binarium_mining_efficiency_calculator/index_2.html
Эта программа после анализа статистических данных о создании блоков в сети Бинариума Нейронной Сетью предсказывает через какое время будут созданы 1000 следующих блоков и считает долю пользователя по его Hash-Rate среди награды за эти блоки.

Пример обучения нейронной сети с применением библиотеки TensorFlow.JS :
https://binarium.money/ai/test1 ,
https://binarium.money/info/ai/ ,
https://vk.com/binarium_money?w=wall-166229593_198 .

Реализация задач для игры BattleBeasts на движке UE 4 ( Blueprints и C++ ) :
https://store.steampowered.com/app/830580/BattleBeasts/ ,
https://playbattlebeasts.com/ .

GunBlaze UE 4 game ( C++, Blueprints, Networking, Искусственный Интеллект, интерфейс, игровой процесс, реализация моделей в игре, ... ) : https://youtu.be/tupHFaSxuO4 , http://luckasart.com/ .

https://youtu.be/oyIxjHCPFRg ,

https://youtu.be/5h0ksNbs-yk .

Оптимизация трассировки лучей с помощью OpenCL.
https://yadi.sk/d/KcpDEIwF3XvNf8 .
В этой программе я перенёс трассировку лучей с CPU на GPU в OpenCL, сделал пакетную трассировку 4-х лучей и реализовал ускоряющую структуру BVH ( с несколькими алгоритмами её создания ). В результате расчёт изображения с 8250 мс начал идти 50 мс - ускорение в 165 раз.


Игра ZoneDriver ( UE 4 ( C++ и Blueprints ) + Python + PostgreSQL ) :
http://store.steampowered.com/app/700770/ZoneDriver/
http://cdn.edgecast.steamstatic.com/steam/apps/256704587/movie480.webm?t=1514296974
https://vk.com/zonedriver .

2017 :
Unreal Engine 4 ( UE 4 ) Augmented Reality ( AR ) example : https://www.youtube.com/watch?v=YYVOE5D2fV0 - This is a Augmented Reality ( AR ) example, created in Unreal Engine 4 ( UE 4 ). It tracks marker in video stream and positions personage above it. There is simple interface for control of actor and ability to customize his equipment. There is also ability to zoom and rotate the model.

Модель лазерной винтовки ( 3D Coat и TrueSpace 3D ) : https://yadi.sk/i/LO-z98Z13XxCWT .

Модель бомбы ( 3D Coat и TrueSpace 3D ) : https://yadi.sk/i/EmJ6J08f3XxCd7 .

Пример сетевой игры : в ней есть главное меню с возможностью запуска сервера и подключения к серверу. По нажатию на клавишу C на правой руке Pawn'ов клиентов появляются кубы. Это действие реплицируется на сервер и от него - non-owning-клиентам. https://yadi.sk/d/0bDEM2iH3M9DrG .

2016 :

Modern Conquistadors ( UE 4 ) gameplay early development : https://youtu.be/qxPvknXhgYs .

Elite vs. Freedom - игра - шутер от третьего лица на UDK ( Unreal Engine 3 ) :
http://www.elitevsfreedom.com ,
https://store.steampowered.com/app/420670/Elite_vs_Freedom/ .

Динамические материалы воды в UE 4 с взаимодействием с объектами с помощью Distance Fields : https://1drv.ms/u/s!AshCuqaqLAdGggb8wDiEkdAuo1aw .

Крестики-нолики на C++ в UE 4 с простым искусственным интеллектом : https://yadi.sk/d/-piHUNk-39VfjD .

Тестовая игра в UE 4 на Blueprints : https://yadi.sk/d/gTPYQNhT39Vh6U , её цель - полностью исследовать одну технологию, чтобы при этом количество очков игрока стало равным нолю.

Простой Арканойд, созданный на UE4 в Blueprints за 1 - 1,5 часа работы : https://yadi.sk/d/1HmVmlVDz4Nu3 .

2014 :

Тестовое C++ приложение с реализацией примеров OpenCV для обучения работе с этой библиотекой : https://yadi.sk/d/fWhttyqw3Y7bsX .

Selective Attention Test : https://yadi.sk/d/9amPwKQX3YhUnG - C++-приложение для тестирования способности людей различать разные звуки. В нём пользователям предоставляются 10 шагов тестирования, в которых они должны отличить звуки, и затем им отображается результат тестирования. Приложение применяет DirectX 9, libRocket для интерфейса, PortAudio для воспроизведения аудио, декодирует FLAC-файлы и даёт возможность воспроизводить звуки с разной частотой.

2013 :

On the Other Side of Wormhole : GPGPU пакетный рэйтрэйсинговый движок на DirectCompute, DirectX 10 , Bullet Physics Engine, PortAudio, XInput 2 и других технологиях и прототип игры на нём :
http://www.indiedb.com/games/on-the-other-side-of-wormhole ,
https://www.indiedb.com/games/on-the-other-side-of-wormhole/downloads/milestone-ii-revision-10 .

CPU и OpenCL реализации алгоритма Floyd'а-Warshal'а для поиска всех кратчайших путей в графе по матрице связности : https://yadi.sk/d/ANQal3-O3W3y3r .

Программа для прокручивая изображений и видео на нескольких мониторах ( C++, DirectX 11, Shaders, inline Assembler ) : https://yadi.sk/d/UxVZv73l3XxKyf .

2012 :

Objects Observation в UDK : показывает пример взаимодействия с объектами с помощью UnrealScript : https://www.dropbox.com/s/nuexxhbsy0vces7/UDKInstall-OO.exe?dl=0 .

3D Pendulum ( C++, DirectX 11, Shaders ) : https://yadi.sk/d/9WsMT2yl3XxKp5 - программа - симуляция маятника с графической частью на DirectX 11 и шейдерах.

2011 :

Экосистема на Unity 3D, показывает искусственный интеллект и поведение ботов : https://yadi.sk/d/UxXbyjx33XxK8z .

Кастомизация актёров в Unity 3D : https://yadi.sk/d/AWQ5ZpuE3XxKBo .

2010 :

Путешествия в Доисторические Времена - Триас : образовательная игра на моём движке :
https://allsoft.ru/software/independent-vendors/2957160/puteshestviya-v-doistoricheskie-vremena--trias-/ ,
http://rodionkarimov.narod.ru/html/games/2010/j_to_pt_trias.html .

Тестовые приложения на Free Pascal, применяющие движок 3Impact : https://yadi.sk/d/2-l3-dvi3Y7Zi4 .

Небольшой редактор, применяющий DirectX 9 на Free Pascal и C++ : https://yadi.sk/d/tCm6aLdZ3Y7a3h .

CPU-профилировщик на Free Pascal со встроенным ассемблером : https://yadi.sk/d/G7VyhkwE3Y7bi8 .

Модификации миссий Mission Director'a для игры X3 Terran Conflict : http://rodionkarimov.narod.ru/html/programs/2010/mission_director_missions_modifications_for_x3tc.html .

Модификации Common и Weapons для игры X3 Terran Conflict : http://rodionkarimov.narod.ru/html/programs/2010/modifications_common_and_weapons_for_x3tc.html .

2009 :

Пример трассировки лучей ( CPU, OpenGL, Free Pascal, inline Assembler ) : http://rodionkarimov.narod.ru/html/programs/2009/raytracing_example.html , http://rodionkarimov.narod.ru/programs/raytracing.7z .

Программа OpenGL Information ( Free Pascal, Lazarus ) : http://rodionkarimov.narod.ru/html/programs/2009/opengl_information.html , http://rodionkarimov.narod.ru/programs/opengl_information/opengl_information_1_1.7z - показывает информацию о производителе видеокарты, самой видеокарте, версии OpenGL и поддерживаемых расширениях.

OpenGL-движок игр, применяющий ARB_fragment и vertex programs, теневые объёмы, Parallax Mapping, HDR и другие технологии рендеринга : https://yadi.sk/d/0dceCuTE3Yf9dm .

Плагины для экспорта моделей из blender'а на Free Pascal, часть со встроенным ассемблером с SSE-инструкциями для оптимизаций : https://yadi.sk/d/Y6GPI1GR3Y7azs .

Программа для генерации текстур на основе шума Perlin'а на CPU на Free Pascal : https://yadi.sk/d/3RZ3_zpJ3Y7bND .

Тестовые графические OpenGL и DirectX приложения на ассемблере FASM, NASM и TASM : https://yadi.sk/d/D5lLbhaP3Y7bXj .

Интерактивная геохронологическая таблица жизни на Земле ( HTML, CSS, JavaScript ) : http://rodionkarimov.narod.ru/html/services/geochronological_scale.html .

Переводчик единиц измерения ( HTML, CSS, JavaScript ) : http://rodionkarimov.narod.ru/html/services/measurment_systems_translator.html .

2008 :

Программа Lovely Tiny Console ( Free Pascal, Lazarus, inline Assembler, защита программы, антиотладка, шифрование и хэширование ) :
https://allsoft.ru/software/independent-vendors/2957160/lovely-tiny-console-gs/ ,
http://rodionkarimov.narod.ru/html/programs/2009/lovely_tiny_console.html -
у программы есть 2 версии : бесплатная, в которой есть оболочка консоли для удобных работы с вводом и выводом консоли, и расширенная в которой есть дополнительно к этому : графический интерфейс для настройки, а также функции для хэширования и шифрования информации с помощью различных криптографических функций.

Программа Normal Map From Height Map Writer ( Free Pascal, Lazarus, inline Assembler ) : http://rodionkarimov.narod.ru/html/programs/2009/normal_map_from_height_map_writer.html , http://rodionkarimov.narod.ru/programs/normal_map_from_height_map_writer/normal_map_from_height_map_writer_1_1_1.7z - записывает карту нормалей из карты высот и даёт возможность задавать различные параметры генерации карт нормалей и сохранять их в различных форматах. Есть наработки по генерации клеточных текстур на основе кода такой программы.

Опыт работы

  • Прогрессивная и квалифицированная IT‑компания
    Новосибирск · От 100 до 1000 сотрудников
    Node.JS - серверный разработчик
    Октябрь 2019 — По настоящее время (1 год и 4 месяца)

    Создание серверных приложений на Node.JS с применением TS и современных модулей и FrameWork'ов.

  • Частная практика, работа без зачисления в штат
    Екатеринбург · От 1000 до 5000 сотрудников
    UDK, Unity3D, UnrealEngine 4, Node.JS and Web programmer.
    Июнь 2008 — По настоящее время (12 лет и 8 месяцев)

    Разработка веб-приложений; и игр и визуализаций на движках Unity 3D, UDK и Unreal Engine 4.

  • Интерактивные видеоинсталляции для музеев и выставок, визуальные эффекты с генеративной графикой
    Москва
    Unreal Engine 4, OpenCL and Intel RealSense C++ and Node.JS API-server programmer
    Октябрь 2019 — Апрель 2020 (7 месяцев)

    In KuFlex I developed simulation of hundreds of thousands of particles on OpenCL, C++ , Blueprints and materials in Unreal Engine 4, with rendering via Instanced Static Meshes and Procedural Meshes Components and tesselated materials for additional visual fidelity.
    Intel RealSense cameras tracker, which combines data from multiple cameras and creates BitMasks, Depth Maps, Vectors Fields, Optical Flows and other data sources for effects.
    Node.JS and TypeScript API-server for visualizations communication.
    Additional remote constant job for 20 hours per week.

  • Разработка системы деловых коммуникаций и электронного документооборота с >1 млн. компаний-пользователей
    Екатеринбург · Более 5000 сотрудников
    Инженер-программист первой категории
    Ноябрь 2018 — Сентябрь 2019 (11 месяцев)

    Разработка алгоритмов передачи видео от ведущих к клиентам на Node.JS .
    Транскодирование видео с применением GPU на С++ с помощью NVENC и GStreamer, создание плагинов Kurento и GStreamer.
    Работа с медиа-сервером Kurento ( основанном на GStreamer и Node.JS ).
    Разработка и настройка взаимодействия между несколькими серверами для высоконагруженных систем : по объёму траффика, количеству пользователей и количеству запросов.
    Поиск и устранение ошибок в таких системах и профилирование производительности сервисов, в том числе с помощью средств дистанционного мониторинга серверов.
    Разработка Unit-тестов кода и нагрузочного и функционального тестирований сервисов.
    Работа с СУБД PostgreSQL
    Создание Docker-контейнеров для сервера Kurento и других серверов для их быстрых развёртывания и унифицированной работы в любых средах.
    И решение других задач.

  • Cybertime System
    Екатеринбург
    Unreal Engine 4 C++ программист
    Сентябрь 2017 — Ноябрь 2018 (1 год и 3 месяца)

    Разработка игровой логики ( правила игры, искусственный интеллект ) на движке Unreal Engine 4, создание интерфейса, сетевая часть, реализация в игре ресурсов ( модели, музыка, звуки и других ) и создание сборок игры. Взаимодействие с гейм-дизайнерами и арт-отделом.

    Работа с глобальным сервером. Обработка видео и аудио, монтаж роликов.

  • IT Premier
    Екатеринбург
    Программист UE 4 и Node.JS
    Декабрь 2016 — Сентябрь 2017 (10 месяцев)

    Разработка клиента тактической походовой ММО игры на UE 4 ( Blueprints + C++ , правила игры, искусственный интеллект, сетевое взаимодействие, интерфейс и вообще все составляющие игры ) и сервера на Node.JS + Redis. С реализацией в игре контента и созданием её сборок.

  • AVE Media LLC
    Сиэтл
    Программист
    Декабрь 2012 — Ноябрь 2016 (4 года)
    Разработка игры Elite vs Freedom на движке UDK http://elitevsfreedom.com/ и начало разработки игры Modern Conquistadors http://www.conquista-games.de/mc/index.html .

Высшее образование

  • УрФУ им. Б.Н. Ельцина

    Уральский Федеральный Университет имени первого президента России Б.Н. Ельцина
    Екатеринбург · 2052 выпускника
    Математико-механический
    Сентябрь 2002 — Сентябрь 2005 (3 года)
    Неоконченное высшее образование.