EFIM SOKOLOV
Middle Unity Developer
Меня зовут Ефим и я занимаюсь разработкой игр на движке Unity. Как и большинство людей с детства, я любил играть в игры и эта любовь перешла в нечто большее чем я мог себе представить. Я хочу помогать вашей компании делать сильные проекты в которые будут играть миллионы игроков по всему миру.

  • Работаю в Unity
    4.5 года
  • на Middle позиции
    2.5 года
  • создал и поддерживал игр
    12

ОПЫТ В UNITY
  • С#
    Активно использую List, LinkedList, Stack, Queue, Dictionary и другие структуры данных при разработке систем. Знание принципов ООП, SOLID, DRY, KISS позволяют мне писать слабо связанный, понятный и масштабируемый код. Принцип YAGNI позволяет мне не тратить время впустую на дополнительные фичи, которые не требует заказчик. Имею знания алгоритмов: сортировки (быстрая, бинарным деревом, блинная, подсчетом, расческой), поиска (бинарный).
  • Паттерны
    Использовал паттерн StateMachine для управления состояниями игры, для выделения игровых режимов, для создания врагов с логикой переходов в состояния атаки, патрулирования и т.п., Пользуюсь паттерном Factory для удобного создания объектов. Паттерн Mediator для связи UI с системами. Observer и Object Pool для оптимизации. В очень редких случаях может быть полезен Singleton :D
  • UI
    Работал со всеми компонентами Unity UI. Интегрировал Doozy UI в общую архитектуру. Работал с конструктором UI Builder. Писал собственные анимации и компоненты группировки для элементов UI. Работал с масками и писал шейдеры под UI. Вплотную работал с UI\UX дизайнерами, занимался переносом UI с Figma в Unity.
  • Оптимизация
    UI оптимизировал с помощь правильной настройки спрайтов, спрайт атласов, настраивал порядок отрисовки спрайтов. Оптимизировал 3д модели с помощью правильной настройки текстур, запекал освещение, писал кастомный шейдеры для быстрой отрисовки теней и пост процессинга, использовал систему LOD, Occlusion culling, Light Probes. Активно использую инструменты: Profiler, Frame Debager, Physics Debugger, Memory Profiller.
  • Zenject
    Постоянно использую Zenjtct для интеграции зависимостей. Использовал подход Zenject Factory для создания объектов. Интегрировал Zenject в уже релизный проект. Автоматизировал Zenject для автоматического бинда систем. Имею опыт разработки собственной DI системы.
  • Addressables
    Работаю с addressables уже больше 2 лет, активно использую для асинхронной загрузки одиночных и групп ресурсов. Понимаю как закешировать ресурсы для повторного использования.
  • ECS
    Работал с LeoECS Lite, писал оптимизированные системы для передвижения юнитов, системы для управления способностями героя. Скрещивал LeoECS Lite c Photon Fusion.
  • Multiplayer
    Создавал реалтайм стратегию на основе Photon Fusion: писал сетевую гемплейную логику, настраивал параметры поиска игроков, передавал сетевые данные от игрока к игроку о состояние здоровья, о текущей загруженной сцене и т.п. Создавал прототип ping pong на основе плагина Mirror для 2 игроков.
  • Шейдеры
    Разрабатывал кастомные шейдеры на hlsl под UI для черно-белого фильта, кастомные маски. Делал шейдеры для пост процессинга насыщенность, контрастность, яркость, изменения цветовых каналов. Делал шейдер для изменения цвета риалтайм теней, простой шейдер воды, шейдер декали\наклейки. Работал с буфером глубины, для создания Depth of Filed эффекта. Имею опыт в создании VFX-ов с помощью Partical Systems.
  • Интеграция SDK
    Интегрировал аналитику: Firebase Analytic, Facebook, AppMetrica, Game Analytics. Интегрировал рекламу AdMob.
    Медиацию IironSource, Appodeal. Интегрировал In-App Purchasing.
  • GIT
    Работал в TortoiseGit, GitHub Desktop. Работал с командами в GitHub, GitLab. Владею консольными командами. Сталкивался с созданием, удалением, мержем и разрешением конфликтов веток.
  • Анимации
    Работал с root motion анимацией. Создавал сложные SubStateMashine с десятками переходов. Пользовался слоями, blend tree, blendshapes, триггерами, событиями. Работал с DOTween, создавал собственный Tween-нер.
  • Инструменты
    Создавал окна с возможностью удобного редактированием конфигов для геймдизайнеров с помощью Odin Inspector. Добавлял инструменты для работы левел дизайнеров, к примеру, центрирование объекта относительно другого, возможность быстро создавать присесты кривых Гаусса.
РАБОТАЛ В
Garden of Dreams
Позиция - Junior Unity Developer
1 год 6 месяцев
Ссылка на Garden of Dreams.
Период - с 1 августа 2020 по 30 декабря 2021
Период - с 17 ноября 2022 по 15 марта 2023


Работал над:
Offline Dice: Random Rush Royale
Занимался оптимизацией, разбирал архитектуру и предлагал методы решения проблем с RAM и CPU. На проекте вплотную работал в кооперативе с ключевым программистом. Делал кастомные VFX-сы: появления кубиков, их соединение, улучшение и т.д.
Dice Adventures Roguelike Game
Был единственным прогером на проекте, с полного нуля довел игру до релиза. Прописывал механику активации карт, хождение персонажа по платформам, поиск пути для персонажа, систему сохранения игрового прогресса, туториал, встраивал внутриигровые покупки, добавлял рекламу, создавал кастомные VFX-ы. Сложнее всего было реализовать механику инвентаря из за обьема логики (сортировка, перетаскивание, установка карт). В проект интегрировал сервисы AdMob и Firebase Analytic.
Stickman Tap Fight
Был единственным прогером на проекте, с полного нуля довел игру до релиза. Прописывал логику сражения, поведение врагов (выставление блоков, нападение одного или нескольких врагов одновременно), логику UI. Вплотную работал с Animator Sub-State Machine, для создания вариационных атак (были разные виды атак руками, ногами, сильные и слабые атаки и их комбинации). В проект интегрировал сервисы AppMetrica, Facebook, Game Analityc.
Sumo Run
Был единственным прогером на проекте, с полного нуля довел игру до релиза. Впервые работал с blendshapes, которые использовались для увеличения/уменьшения персонажа во время поедания еды. В проект интегрировал сервисы AppMetrica, Facebook, Game Analityc.
Sword Draw
Был единственным прогером на проекте, с полного нуля довел игру до релиза. Самой сложной задачей была реализация кор-механики, время замирает, на полу рисуется линия движения игрока, игрок в прямом смысле заглядывает в будущее, становится видно движение врагов, стрел, интерактивных предметов окружения и т.д. В проект интегрировал сервисы AppMetrica, Facebook.
Square Puzzle RPG | Turn-Based
Был единственным прогером на проекте, с полного нуля довел игру до релиза. Писал много гемплейной логики: передвижение героев, сбор предметов, применение эффектов и их влияние на поведение или статы героев. Для врагов прописывал интеллект, который полностью анализирует ситуацию на игровом поле (если у героя остается мало хп, то враг с большей вероятность сделает добивание, обойдет мину и прочие игровые ситуации). Использовал: XNode, Zenject, Addressable, Odin Inspector, Farebase Analytic.

Lines of Life
Позиция - Junior Unity Developer
10 месяцев
Период - с декабря 2021 по октябрь 2022


Работал над:
Fast Car
Полностью мой авторский проект. Cам собрал и организовал команду, курировал разработку. Решал вопросы по гейм дизайну, левел дизайну, писал технические задания. Вся техническая часть была написана мною: архитектура с использованием Zenject и Addressables, шейдеры на hlsl, игровая логика и т.д. Большая часть Low-Poly графики была создана мною, занимался: моделированием, текстурированнием, UV-mapping и т.д.

JoyCraft Games
Позиция - Middle Unity Developer
3 месяца
Ссылка на JoyCraft Games
Период - с 23 апреля 2023 по 15 июля 2023


Работал над:
Merge Royale: Castle Clash
Меня подключили к проекту спустя шесть месяцев после начала разработки. Вплотную работал в команде с программистом и гейм дизайнером через удаленный хостинг GitHub. В проект интегрировал рекламу, нотификации, плагины, исправлял баги, добавлял новый функционал. Самой сложной задачей на проекте было чтение чужого кода, приходилось много рефакторить, интегрировать новый функционал и дописывать чужой код.

Midhard
Позиция - Middle Unity Developer
10 месяцев
Ссылка на Midhard
Период - c 19 июля 2023 по 5 апреля 2024

Работал над:
Idle merge : Железные дороги России
- Довел игру с прототипа до релизного состояния. Разрабатывал кор механики с использованием LeoECS Lite, Addressables, Zenject. Писал кастомные шейдеры для UI. Работал в распределенной команде в 30+ человек. Самой интересной частью проекта было взаимодействие с другими отделами, нужно было много созваниваться, договариваться.
Strategy : Железные дороги России
- Когда подключили к проекту, он уже был на этапе полишинга. Исправлял многочисленные баги связанные с загрузкой сохранения, левел дизайном, квестами. Дорабатывал существующие механики.

Rootcode
Позиция - Middle Unity Developer
9 месяцев
Ссылка на Rootcode
Период - с 15 апреля 2024 по 27 декабря 2024

Работал над:
Idle merge : Железные дороги России
- Был ключевым программистом, разрабатывал системы игровых событий их запуск, ротацию, сохранение прогресса. Также уникальные механики внутри событий. Каждое событие по своему дополняло основную кор механику: где-то на рабочих действовали дебаффы, где-то был уникальный босс или герой. Самой сложной задачей была организация архитектуры так чтобы все основные механики работали одинаково как в режиме компании, так и в событиях.
Siberian Way
- Собирал много диалоговых и интерактивных сцен. Исправлял баги, дорабатывал существующий функционал.

Lines of Life
Позиция - Middle Unity Developer
1 месяц
Период - 28 декабря 2024 по текущее время

Работал над:
Tower Balance : Relax & Puzzle
- Полностью авторский проект. Решил для души в свободном режиме с полного нуля сделать спокойную расслабляющую игру. Добавил режим компанию где игроку нужно в правильном порядке поставить игрушки друг на друга. Добавил бесконечный режим в котором игроки соревнуются за самую высокую башню.

1 год 2 месяца
1 год 2 месяца
Garden of Dreams
Junior Unity Developer
Работал над:
10 месяцев
10 месяцев
Lines of Life
Junior Unity Developer
Работал над:
  • Fast Car - симулятор полицейской погони
4 месяца
4 месяца
Garden of Dreams
Junior+ Unity Developer
Работал над:
3 месяца
3 месяца
JoyCraft Games
Middle Unity Developer
Работал над:
10 месяцев
10 месяцев
Midhard
Middle Unity Developer
9 месяцев
9 месяцев
Rootcode
Middle Unity Developer
1 месяц
1 месяц
Lines of Life
Middle Unity Developer
Работал над:
ОТЗЫВЫ
  • Ruslan
    Lead Unity Developer in RootCode
    Telegram: @RuslanK_dev
    Ефим показал себя как ответственный, целеустремленный и крайне увлеченный разработчик.
    Лично для меня оказался незаменимым сотрудником, помогающим в сложных задачах.

    Дата: 02.12.2024
  • Oleg
    Lead Unity Developer in Midhard
    Telegram: @OlegLup
    Ефим ответственный и самостоятельный сотрудник. Быстро вливается как в новый коллектив, так и в новый проект. Четко придерживается поставленных целей и при этом способен сам принимать необходимые решения.

    Дата: 08.04.2024
  • Aleksey
    Lead Unity Developer in Midhard
    Telegram: @neygavets
    Ефим показал себя как ответственный, работоспособный сотрудник, которому можно дать задачу любой сложности и быть уверенным, что он доведет её до конца. Имеет обширный, разносторонний опыт, с готовностью приходит на помощь к коллегам.

    Дата: 12.01.2024
  • Ruslan
    Game Designer in JoyCraft Games
    Telegram: @ruslanalife
    Ефим показал себя ответственным сотрудником, который может браться за задачи любой сложности. Быстро адаптируется к условиям новых проектов, находит общий язык с остальной командой.

    Дата: 13.07.2023
  • Alexey Khokhryakov
    Teacher in IJunior
    Telegram: @kekeksey
    Ефим проходил курс по созданию HyperCasual игр, во время которого зарекомендовал себя как ответственный студент, со всей серьезностью и самоотдачей подходящий к поставленным задачам. Замечания по качеству кода принимал спокойно и грамотно их исправлял. К окончанию курса уровень его мастерства позволил создавать код отличного качества, все задачи проходили ревью с первого раза. Также Ефим обладает редким для технического специалиста хорошим вкусом, в каждом проекте он выкладывался на 100%. Хочется отметить его успехи в стилистическом оформлении, продуманности и внимании к деталям, добавлении эффектов. Ефим показал себя надежным и ответственным человеком, которому можно доверить ведение проекта от начала и до конца.

    Дата: 26.04.2021
  • Evgeny Grishakov
    General director in Garden of Dreams
    Telegram: @Grishakof
    Ефим Соколов — ответственный разработчик, которому не "всё равно". Делает качественно, без разговоров правит баги, если находим. Отдельно отмечу, что у Ефима всё в порядке со вкусом: сразу собирает игру аккуратно, может добавить анимации, оформить недостающие экраны из того, что есть. Сделали вместе игру Dice Adventures и планируем сотрудничать в последующих проектах.

    Дата: 15.03.2021
  • Michael Ponyakshin
    Game designer in Garden of Dreams
    Telegram: @FunTa3ep
    За время совместной деятельности, Ефим зарекомендовал себя как надежный коллега, которому можно поручить сложные задачи. По ходу работы, полностью погружается в процесс, при этом проявляет инициативу, предлагая грамотные и полезные решения.

    Дата: 15.03.2021
ЛИЧНЫЕ КАЧЕСТВА
  • Спокойно лажу с любым человеком в команде, выслушиваю чужие позиции и выдвигаю собственные если требует ситуация.
  • Могу объяснить любое принятое мною техническое решение в проекте.
  • Довожу до конца каждую задачу за которую берусь, не бросаю все на пол пути.
  • Имею творческое мышление и могу предлагать собственные идеи по развитию или дополнению проекта.
  • Страсть и жажда делать выдающиеся, успешные игры!
ОТКРЫТЫЙ ПРОЕКТ
[ устарело ]

Один из моих коммерческих проектов позволит вашему техническому специалисту посмотреть на мой подход к построению архитектуры, использованию паттернов и в целом, увидеть качество кода.

Отмечу, что в проекте использовал: Zenject, Addressable, Odin Inspector. Паттерны: State Machine, Mediator, Observer, Object Pool. SDK: Farebase Analytic, Appodeal.
КУРСЫ
  • Physic in Unity
    Курс от компании Eccentric Games
    Программу курса можно посмотреть тут

    20.02.2021 - 01.03.2021

    В ходе прохождения курса были получены следующие навыки:
    • Получил опыт работы с компонентами Rigidbody, Collider, Constant Force.
    • Получил опыт работы с методами AddForse, AddTorque, AddForceAtPoint.
    • Получил опыт работы с OnCollision, OnTrigger. Отдельно разбирали работу с Center of mass, Phisics Layers, ForceMode, Raycast.
    • Получил опыт работы с Joint(Hinge, Fixed, Spring, Character, Configurable), Ragdoll.

    Посмотреть проект курса можно тут
  • Post Effect in Unity
    Курс от спикера Максима Крюкова
    Программу курса можно посмотреть тут

    01.03.2021 - 15.03.2021

    В ходе прохождения курса были получены следующие навыки:
    - Получил опыт работы в создание продвинутых шейдеров, а именно создавали Invert, Greyscale, Sepia, Fog, Blur, Edge Detection, Neon, Painting, Warping, Fish Eye, Mosaic.

    Посмотреть проект курса можно тут.
  • 7 Hyper Casual Games
    Курс от компании IJunior
    Программу курса можно посмотреть тут

    01.04.2021 - 01.05.2021

    В ходе прохождения курса получил практический опыт в создании семи гипер казуальных игр, таких как: Helix Jump, Fire Ball 3D, Tower Run, Snake VS Block, Perfect Slices, Crowd Master 3D, Pockey Ball.

    Любой проект можно посмотреть по клику на его название.
  • Architecture unity games
    Курс от компании K-syndicate
    Программу курса можно посмотреть тут

    18.10.2021 - 18.01.2022

    В ходе прохождения курса получил следующие навыки:
    • Научился строить гибкую архитектуру используя паттерн StateMachine для управления мета данными игры.
    • Научился использовать Addressables для менеджмента ресурсов игры.
    • Научился использовать Dependency Injection.
    • Научился применять сервисный подход в построении архитектуры.

    Посмотреть проект курса можно тут
ВОПРОС-ОТВЕТ
HR:
Есть ли у тебя высшее образование?
Efim:
В 2019 году я поступил в Кемеровский Государственный Университет по направление "Прикладная информатика". На 2 курсе я уже начал получать коммерческий опыт разработки игр и пары начали лишь отвлекать от действительно интересных вещей. Создавать системы сохранения игры, перемещения юнитов, камеры, мне стало нравиться намного больше чем скучные пары, поэтому на 3 курсе бросил учебу и полностью ушел с головой в изучение Unity ♡
ПРОТОТИПЫ
СТОРОННИЙ ОПЫТ
  • Blender
    Опыт работы в Blender 6 месяцев, создавал low-poly графику, знаком с текстурированием, делал рендеры, кинематики и анимации. C полного нуля моделировал атмосферные сцены.
  • UI\UX
    Разрабатывал UX и рисовал UI для мобильных приложений и игр используя веб-приложение Figma.
  • Photoshop
    Работал в Photoshop, создавал VFX текстуры, делал привью для видео.

EFIM SOKOLOV
Middle Unity Developer
E-mail: aafanya@bk.ru
Phone: +7 771 284 41 20 (KZ)
Made on
Tilda