Исходный размер 1240x1750

STICKERED/STUCK | Лид-Программист и VFX-дизайнер

PROTECT STATUS: not protected

«STICKERED/STUCK» — 3D пазл-платформер от третьего лица, в котором Пикта спасает перевернутый город и его жителей с помощью пистолета-маркировщика.

Выстреленные из него наклейки назначают свойства среде, объектам и даже людям при попадании!

big
Исходный размер 720x480

Лид-программист

post

Привет, я Настя, Лид-Программист и VFX-дизайнер проекта!

За рекордные для меня 140 часов работы в модуле я создала множество сложных механик и красивых визуальных эффектов в движке.

Мой девлог:

В видео можно ознакомиться с моей работой в динамично-кратком формате, а затем вернуться к чтению лонгрида за не менее интересными подробностями!

Loading...

Общий срез

В прошлом модуле я совмещала работу Канбан-Мастера и Лид-Программиста, но в этом модуле планировалось куда больше кода, и я понимала, что оставшись на должности менеджера, выгорю сама и подведу весь проект. Отказ от менеджерства оказался верным решением, ведь только на программирование у меня в итоге ушло 140 часов на N тасков! И это несмотря на фичекат, о необходимости которого я говорила нашему канбан-мастеру и по совместительству Лид гейм-дизайнеру.

Исходный размер 1166x909

примеры моих тасков

Я ответственно относилась к своей работе и требовала фичекат только после долгих безуспешных попыток и консультаций с разными преподавателями. Также я провела работу над ошибками 1го модуля: более трезво оценила время затратность своего вклада, начала делать все еще более заранее, в движке использовала оптимальные системы, которых ранее боялась, но которые необходимо использовать программисту серьезного уровня. Я достаточно много общалась с членами нашей команды (и не только нашей, ведь я занималась аутсорсом): как по учебе, так и вне, присутствовала на тимбилдинге.

Планирование

В начале каждый расписывал свои таски на модуль и у меня получилось заложено 160 часов работы на этот модуль, поэтому с меня сняли код диалогов, но и без них у меня получилось более 50 тасков на 120 часов. В итоге на проект я потратила 135 часов, что говорит о том, что я наконец-то научилась трезво оценивать время затратность на свою работу. Свои 50 тасков я могу сжать в глобальные таски, чтобы дать общее понимание того, чем я занималась.

Глобальные таски на модуль:

  1. Багофикс: прошлого и текущего модуля;
  2. Наклейка «Sticky», делающая объекты липкими и заставляющая NPC следовать за нами;
  3. Наклейка «Uplifted», заставляющая предметы взлетать, а NPC прыгать и давать импульс игроку;
  4. Создание новых обычных и маркированных объектов;
  5. VFX: системы частиц Ниагара, и не только;
  6. Тестирование: поиск багов, прохождение уровней разными путями, поиск слабых мест логики и багов.
  7. Подготовка к сдаче: презентация, лонгрид, девлог, отчет об аутсорсе.

Багофикс

Новый модуль закономерно начался с исправлений ошибок прошлого и изменений на основе ОС с просмотра. Некоторые проблемы, которые висели мертвым грузом во 2-м модуле, со свежей головой разрешились просто и быстро. Далее в работе, как это всегда и бывает, всплывали новые баги, и их тоже приходилось решать. Благо, теперь я изначально заложила этот итеративный таск в свою нагрузку.

Исходный размер 1233x671

Наклейка «Sticky»

Это — самая сложная задача за весь модуль, которую, к сожалению, даже пришлось фичекатить. Изначально нужно было сделать так, чтобы под наклейкой все клеилось ко всему, и это оказалось крайне затратной и невыгодной задачей. Спустя несколько итераций попыток, консультаций и 21 час потраченного времени, я наконец настояла на фичекате.

В итоге механика получилось достаточно лаконичной: объекты можно прикреплять только в конкретных местах, выделенных для игрока визуально.

На NPC наклейка работает иначе: они должны следовать за игроком, и это тоже сделано с умом и красиво, чтобы они не постоянно добегали до нас, мешаясь, а следовали, когда мы уходили из определенного небольшого радиуса. Самое классное, что персонажи даже могут спрыгивать к нам с другой высоты, благодаря тонкой настройке!

Наклейка «Uplifted»

Вторая новая наклейка, которая далась куда проще, ведь нужно было просто подарить объектам «летучесть», а NPC заставить прыгать и давать импульс игроку при запрыгивании на них. Мой код остался на NPC, но для объектов его переделала коллега, потому что придумала намного более подходящее нам решение, но факт проделанной работы это не отменяет.

Исходный размер 1919x1079
Исходный размер 1919x1079

Новые объекты

Здесь 15 часов заняли исследования и попытки создать идеальные механики, но в итоге это оказалось бесполезно, ведь один объект сделала другая кодерка, а второй, над которым я долго билась, чтобы он работал идеально, был фичекатнут.

Но такие ситуации — часть командной работы, и это нормально, что не все наши старания дают плоды и созданное нами используется.

Исходный размер 720x480

Зато стекло, задуманное как отдельный предмет, получилось реализовать просто механикой следования NPC, они не видят нас, а стремятся к ближайшей точке до нас, до которой могут дойти. Поэтому на разных высотах это тоже работает.

VFX

Я очень рада, что в этом модуле потратила около 30 часов на VFX, ведь это самое творческое из моей работы, а я такое очень сильно люблю!

Наклейки

Только посмотрите, они не только вылетают при выстреле, но и обводятся по контуру на объекте!!

Выделение объектов взаимодействия

Обводка была решена иначе: просто сравните, слева — то, как она выглядела в прошлом модуле, справа — как выглядит теперь. Согласитесь, очень вкусно!

Проекция постановки

Это было нетривиальным таском, для которого потребовался небыстрый ресерч. В итоге игрок может видеть куда и как поставятся предметы. Ах да, проекция в форме того предмета, который держит игрок!

Исходный размер 735x570

Искорки для опасных объектов!

Искорки нужны были с разным смыслом, в одной палитре, но не одинаковые: слева — искорки измельчителя, которые появляются от трения железа о железо, справа — искорки оголенного провода.

Исходный размер 874x532

Ветер и не только

Я сделала систему Ниагары, в которой рендерился изогнутый циллиндр, по которому передвигался материал с прозрачностью, за счет чего создавалось ощущение движения! Это была и очень интересная, и трудозатратная задача, которая даже не успела попасть в билд и будет дорабатываться в 4 модуле.

Исходный размер 858x517

Для других обычных предметов — просто скромные партиклы, чтобы игрок видел обратную связь от всего.

Эффекты наклеек

При увеличении вокруг NPC летают звездочки. Так мило!!

Исходный размер 1919x1079

При липкости у персонажей капают капельки пота и вылетают липкие слаймы из-под ног при ходьбе.

Когда персонаж под 3 наклейкой при приземлении от прыжков поднимается пыль.

Тестирование

У меня было золотое правило: при создании новой важной механики сразу же тестировать ее со всех сторон и в самых неожиданных ситуациях, и это помогало сразу же на стадии разработки искоренять много проблем и выиграть часы, которые бы пришлось потратить на то, чтобы искать баг, когда даже не понятно, от чего он появляется.

Например, именно благодаря тестам я во время приняла нелегкое решение о необходимости фичеката одной из наклеек. Если бы я не прогоняла механику в миллионах разных обстоятельствах, фичекатить все равно бы пришлось, но не на начальном этапе, а уже в спешке под конец, и работа других ребят ушла бы коту под хвост.

Аутсорс

Я обменялась опытом с Машей из проекта «THE ARCHITECTS». Для этого проекта я написала систему перехода по уровням, проверяющую уровень прокачки города.

Сдача

Для того, чтобы достойно презентовать свой труд, я потратила СТОЛЬКО часов, и подготовила лаконичную презентацию, исчерпывающий лонгрид и цепляющий динамичный девлог. Большая гордость для меня в том, что я наконец-то сделала все заранее, и рассказала о своем вкладе максимально искренне, не избегая подводных камней!

Трейлер:

Loading...
Исходный размер 692x388
STICKERED/STUCK | Лид-Программист и VFX-дизайнер
Проект создан 27.03.2026