Портфолио гейм-дизайнера, программиста и тех-артиста, Матюхина Никиты.
Компетенции и опыт
Я на постоянной основе занимаюсь игровой разработкой в течение 5 лет. Окончил бакалавриат НИУ ВШЭ по специальности "Гейм-дизайн и виртуальная реальность". Более полугода работаю в игровой студии гейм-дизайнером и программистом на UE5.
Я обладаю глубоким знанием функционала Unreal Engine 5, программирования на C++ и Blueprints. Специализируюсь на написании высокоуровневой игровой логики, геймплейных систем, а также инструментов разработки и плагинов.Интересуюсь тех-артом и шейдингом. Обладаю большим опытом работы как с MaterialGraph, так и с HLSL.Знаю языки программирования C++, Python, C#, знаком с азами C и Assembler.Разрабатывал проекты на UE5, Unity и Godot.Также владею пакетом программ Adobe, моделированием в Blender и саунд-дизайном в Audacity.
Мотивация к поступлению
Я поступаю на "Системный гейм-дизайн" чтобы продолжить работу над своим дипломным проектом, Carbon Instinct и совместно с командой довести его до релиза. Хочу как расширить свои знания и навыки системного гейм-дизайна, так и продолжить развиваться как программист на C++ для UE5 и тех-артист: глубже освоить рендер-пайплайн, писать инструменты для левел-дизайна и environment art'а.

Мои работы
Carbon Instinct
Carbon Instinct - меха-мувмент-шутер от третьего лица. Разрабатывался командой из двух разработчиков в течение 3 месяцев на втором курсе обучения. Работа над игрой была возобновлена на 4 курсе в качестве дипломного проекта и велась еще 9 месяцев.Проект занял второе место в категории "Гейм-дизайн" на конкурсе HSE CREATIVE OPEN '24-25
На данном проекте я выполнял роль ведущего программиста, гейм-дизайнера и UI-артиста. Занимался разработкой всех игровых систем: мувмента, боевки, прокачки, вражеского ИИ, логики квестов и игровых задач, а также корневой логики проекта: системы сохранений, настроек, инпута.
Девлог
Персонаж
Перемещение по вертикальным поверхностям
В рамках своей работы как программиста я создал систему мувмента персонажа с возможностью перемещения по произвольной геометрии. Я реализовал поведение камеры, адаптирующейся к положению персонажа во всех трех осях, сохраняющей направление прицела с поддержкой отдачи, а также превентивно избегающей коллизии с объектами для поддержания плавного игрового опыта.Для мувмента была также создана система модификаторов, позволяющая внешним источникам, будь то способности персонажа или объекты игрового мира недеструктивно влиять на параметры перемещения персонажа: скорость, трение, гравитацию, а также совмещать это влияние между собой.
Персонаж в Carbon Instinct постоянно в движении.
Я реализовал систему прокачки персонажа, позволяющую устанавливать на робота модули разных категорий, предоставляющие боевые умения и опции мувмента.В игре реализовано 5 видов оружия 2 различных категорий и 3 способности перемещения.Весь набор умений персонажа является модульным и комбинируемым, логика каждого умения отделена от корневой логики персонажа и бесшовно встраивается в нее с возможностью замены модулей "на лету".Система не имеет строгих ограничений на количество или функционал модулей, позволяя быстро прототипировать и тестировать новые способности персонажа и их комбинации.
Интерфейс прокачки. Каждый модуль имеет 3 стадиии усиления
Противники


Краб и Резак
Разрабатывая искусственный интеллект врагов я создал 6 видов рядовых противников, обладающих уникальными механиками перемещения: 1 стационарный, 2 летающих, 1 перемещающийся в плоскости, 1 катающийся по стенам и потолкам и 1 перепрыгивающий между ними.У некоторых противников есть паттерны совместного поведения, атаки, синхронизированные между собой.


Скаут и Оса
Я также реализовал гигантского босса-червя, по которому у игрока есть возможность перемещаться. В рамках работы над ним я создал пасфайндинговый алгоритм для генерации сплайнов, избегающих столкновения окружением, а также логику по которой из сегментов формируется сам червь, его перемещение, анимация и атаки.
Босс-червь
Червь и настройки его коллизии
Игровая логика
В рамках работы над структурой проекта и игрового процесса я реализовал квестовую систему с поддержкой вложения. Квесты делятся на задачи, те могут дробиться на подзадачи, и так далее без ограничений глубины. За каждую задачу отвечает объект, содержащий блок логики, отвественный за ее выполнение.Такая система позволяет быстро итерировать над структурой и содержанием квестов, добавлять новые виды игровых задач, и без изменений в коде комбинировать и повторно использовать уже реализованные.
Интерфейс квестовой системы.
Я также создал систему сохранений, которая отслеживает состояние игрового мира для работы с системой WorldPartition.Так как уровни в Carbon Instinct построены по принципу Open Zone - большие, многоуровневые пространства со свободным перемещением, в проекте используется система World Partition, выгружающая из памяти удаленные и невидимые игроку объекты.Созданная мной система сохраняет данные о любых объектах, состояние которых изменяется во время игры: положение и здоровье врагов, собранные ресурсы и улучшения, интерактивные объекты и цели квестов. При попадании объекта в зону досягаемости World Partition его состояние восстанавливается на основе сохраненных данных.





