Каримов Родион Маратович

Мужчина, 34 года, родился 29 декабря 1984

Екатеринбург, м. Чкаловская, готов к переезду (Беларусь, Москва, Ленинградская область, Санкт-Петербург, Московская область, Другие страны), готов к редким командировкам

+7 (922) 123-16-24
+7 (982) 656-48-02
rodionkarimov@yandex.ru — предпочитаемый способ связи
RodionKarimov

Программист Unreal Engine 4

100 000 руб.

Информационные технологии, интернет, телеком
  • Игровое ПО
  • Программирование, Разработка
  • Интернет

Занятость: частичная занятость, полная занятость

График работы: удаленная работа, гибкий график, полный день, сменный график

Опыт работы 11 лет 3 месяца

Ноябрь 2018по настоящее время
10 месяцев

Свердловская область,

Информационные технологии, системная интеграция, интернет... Показать еще

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

Информационные технологии, системная интеграция, интернет... Показать еще

Freelancer
Разработка веб-приложений; и игр и визуализаций на движках Unity 3D, UDK и Unreal Engine 4.
Сентябрь 2017Ноябрь 2018
1 год 3 месяца
Cybertime System

Екатеринбург,

Информационные технологии, системная интеграция, интернет... Показать еще

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

Работа с глобальным сервером. Обработка видео и аудио, монтаж роликов.
Декабрь 2016Сентябрь 2017
10 месяцев
IT Premier

Екатеринбург,

Информационные технологии, системная интеграция, интернет... Показать еще

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

Информационные технологии, системная интеграция, интернет... Показать еще

Lead programmer
Программирование логики игры ( искусственный интеллект, правила игры,интерфейс, сетевая игра и все другие составляющие приложения ), её расположение на уровнях, создание сборок игры и их размещение в магазине Steam.

Ключевые навыки

Unity
C#
СУБД
UE4
UDK
Assembler
JavaScript
SVN
ООП
Games Development
Photon
C/C++
1
Веб-программирование
Shaders
PhysX
Node.js
C++
Object Pascal/Delphi
Redis
Unreal Engine 4
Qt
OpenCL
Git
GPGPU
3D-графика
Linux
GLSL
HLSL
Средства криптографической защиты информации
Networking

Обо мне

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

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

GPGPU-вычисления,
Криптография и криптовалюты,
Анализ статистических данных с применением математической статистики, Нейронных Сетей ( TensorFlow.JS и C++ TensorFlow и Caffe + OpenCL ), Support Vector Machines и других инструментов на C++, JS, R и в других языках программирования,
Linux, C++, Qt, Docker,
Node.JS ,
Сетевые технологии, High Load и High Availability,
Отладка, оптимизация и Unit, Нагрузочное и Функциональное тестирования - в областях работы.

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

http://imagination-works.ru .

С 2002 года я занимаюсь разработкой компьютерных игр, сначала в виде создания небольших примеров, затем уже в виде полностью готовых игр. Программировать на Delphi + Pascal я начал в 1999 году, затем освоил C++ и Assembler, а также языки веб-разработки и работы с СУБД. Новыми проектами являются игра Elite vs Freedom
http://store.steampowered.com//app/420670 http://www.elitevsfreedom.com/ на движке UDK и Modern Conquistadors http://www.modern-conquistadors.com на движке UE4, которая находится на ранней стадии разработки. Также я создал свой движок и небольшую обучающую игру на нём "Путешествия в Доисторические Времена - Триас" http://rodionkarimov.narod.ru/html/games/2010/j_to_pt_trias.html . Начал разработку GPGPU рэйтрэйсингового движка для создания игры на нём : http://www.indiedb.com/games/on-the-other-side-of-wormhole .
Работал в проекте Wake Up Call с 2013 по 2014 годы, пока он создавался на движке UDK и немного при переходе на UE4. Также участвовал в работе по созданию небольшой частной MMO-подобной игры для заказчика на движке UDK, квеста по тушению пожаров на Unity3D и различных небольших проектов на Unity3D. Также у меня есть большой опыт создания сайтов на WordPress и Host CMS, их серверной ( PHP + MySQL и AJAX ) и клиентской частей ( HTML, CSS, JavaScript, JQuery ) вместе с вёрсткой. Умею работать с Node.JS и SQL ( MySQL, PostgreSQL и SQLite ) и NoSQL СУБД ( Redis ). Я создал, поддерживаю и развиваю мой сайт
http://imagination-works.ru .
Разбираюсь в Augmented Reality ( AR ), Virtual Reality ( VR ) и распознавании образов ( например, с помощью библиотеки OpenCV ). Могу создать сборки проектов на UE 4 и Unity 3D для Android и iOS.
Есть большой опыт создания шейдеров : начал их создавать ещё в 2006 - 2007 годах с ATI_pixel_program, затем ARB_vertex/pixel_program, затем GLSL, затем HLSL, DirectCompute и OpenCL; затем шейдеры для Unity 3D и материалы для UDK и UE4. Хорошо разбираюсь в 3D математике для игр и трёхмерной графики, могу реализовать пакетную трассировку лучей на процессоре или GPU.
Умею работать с Photon Networking Engine и подключать его C++ SDK к Unreal Engine 4. Есть опыт работы с физическими движками Bullet и Newton и настройки физического взаимодействия PhysX в движках UDK, Unity 3D и UE4. А также опыт работы с Python : плагины экспорта для Blender, дополнения для Mount and Blade и работа с движком Panda 3D. Могу создавать, редактировать и текстурировать модели в 3D Coat и TrueSpace 3D и могу анимировать в TrueSpace 3D. Хорошо умею работать в Photoshop и с видео и звуком (
https://www.youtube.com/channel/UC0ox6x5jY20QnbmNpCyaRPg ) .

Умею защищать приложения, разбираюсь в криптографии, могу создать криптовалюту на основе уже существующей, изменить её и добавить к ней различные функции. Могу читать и понимать книги ( например, Physically Based Rendering ) и научные статьи ( технологии рендеринга, искусственный интеллект, компьютерные зрение и распознавание образов, криптовалюты, криптография, защита приложений, технологии программирования и другие ) на английском языке и применять полученные знания для решения конкретных задач и реализации проектов. Читаю книги по высшей математике : линейная алгебра, дифференциальные уравнения, математический анализ, ... - для поддержания и развития уровня математических знаний для работы.

Умею работать в Linux, могу пересобрать ядро, установить и настроить систему, умею компилировать программы, в том числе, кросс-компилировать под другие ОС. Могу создать интерфейс программы в Qt. Умею работать с SVN и Git : update, diff, merge, commit.

Примеры :

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 .

Динамические материалы воды в 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 :
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 :
Тестовые приложения на 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, защита программы, антиотладка, шифрование и хэширование ) :
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 - записывает карту нормалей из карты высот и даёт возможность задавать различные параметры генерации карт нормалей и сохранять их в различных форматах. Есть наработки по генерации клеточных текстур на основе кода такой программы.

Портфолио

Неоконченное высшее образование

2005
Уральский Государственный Университет
математико-механический, неоконченное высшее образование

Знание языков

РусскийРодной

АнглийскийC1 — Продвинутый

Тесты, экзамены

2019
BrainBench
Tensor, C++ 11 Master Level Test : https://yadi.sk/d/luyJ565uClFlhw .
2019
Учебный отдел Тензора
Тензор, Тест по Java Script для инженера-программиста первой категории

Гражданство, время в пути до работы

Гражданство: Россия

Разрешение на работу: Россия

Желательное время в пути до работы: Не имеет значения