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

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

Екатеринбург, готов к переезду, готов к редким командировкам

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

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

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

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

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

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

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

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

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

Инженер-программист
Разработка алгоритмов передачи видео от ведущих к клиентам на Node.JS, декодирование видео с применением GPU на С++, работа с СУБД PostgreSQL, и решение других задач.
Июнь 2008по настоящее время
10 лет 11 месяцев
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#
СУБД
SQL
UE4
UDK
Assembler
JavaScript
CSS
PHP
jQuery
Ajax
XML
SVN
HTML
MySQL
ООП
CMS Wordpress
Games Development
Photon
C/C++
1
Веб-программирование
Shaders
PhysX
Node.js
C++
Object Pascal/Delphi
Redis
Unreal Engine 4
Qt

Обо мне

Наиболее интересна работа в областях :
Анализ статистических данных с применением Нейронных Сетей ( TensorFlow.JS и C++ TensorFlow и Caffe + OpenCL ),
Криптография и криптовалюты,
GPGPU-вычисления,
Linux, C++, Qt,
Node.JS,

И создание тренажёров, симуляторов и визуализаций, Virtual Reality и Augmented Reality приложений и рендеринга для фильмов и рекламы с применением движков Unreal Engine 4 и Unity3D, а также создания игр на движках UE 4 и Unity3D.

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.

Примеры :

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
Уральский Государственный Университет
математико-механический, неоконченное высшее образование

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

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

АнглийскийC2 — В совершенстве

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

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

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

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