Бюджет:
20 000 руб
Ищем человека, который уверенно работает со связкой Vue + Phaser и понимает, что такое сцены, камера, коллизии, слои, глубина рендера, события. Если слово tween не вызывает флэшбэки, а sprite для тебя не газировка, ты наш кандидат.
Фронтенд ок. Фулстек тоже ок. Главное опыт именно во Vue + Phaser.
-----------------------------------
Тестовое задание (оплачиваем при успехе+++)
-----------------------------------
Собрать минимальную игру с интеграцией Vue и Phaser.
Обязательные требования:
Сцена с камерой в изометрии (как в Diablo). Перемещение персонажа по клику мышки. Камера плавно следует.
Мультиюзер имитация: при заходе первого пользователя появляется персонаж A, при заходе второго появляется персонаж B. Можно имитировать через простейший мок сокета или локальный сервер. Важно: у разных сессий разные персонажи.
Детектор близости: если персонажи подходят ближе расстояния X, над обоими появляется мигающая интерактивная иконка (простая анимация). Нажимаешь на иконку открывается Vue-окно ввода текста (модалка).
Отправка сообщения из модалки выводит над головой отправителя облачко с текстом в сцене. Облачко исчезает через N секунд или по клику.
Мини-чат справа во Vue-панели. Сообщения от сцены дублируются туда. Хочется увидеть двустороннюю связку: Vue управляет Phaser и наоборот.
Производительность: плавная анимация, без хард-лагов на базовом железе. Цель 60 fps, но без фанатизма.
Кроссбраузер: решение стабильно работает в Chrome, Safari, Firefox, Yandex Browser.
Технические условия:
Vue 3 + Vite. Phaser 3.
Можно TypeScript, будет плюсом.
Аккуратная структура: компоненты Vue отдельно, сцены Phaser отдельно, шина событий или composable для связки.
Никаких монолитов на 500 строк в одном компоненте.
Depth sorting в изометрии, чтобы персонажи корректно перекрывали объекты.
Коллизии с простым тайл-коллайдером или объектами, чтобы герой не проходил сквозь стены.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -_-_-_-_
Что прислать:
Репозиторий на GitHub/GitLab с README: как запустить локально в 3 шага.
Короткое видео-демо или GIF приветствуется.
Комментарии в коде там, где есть неочевидные решения.
Что мы проверяем:
Грамотную интеграцию Vue + Phaser без адских костылей.
Понимание событийной модели, коллизий, камеры, слоев и UI-связки.
Читаемость кода и вменяемую архитектуру.
Умение держать fps и не терять голову при работе с изометрией.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -_-_-_-_
Сроки:
На выполнение теста даем 2-3 дня с момента старта. У уверенного спеца по трудозатратам это 10-15 часов.
--
Кого не берем:
«Сделаю на React, а потом портирую». Не надо.
«Посмотрел три туториала, сейчас накодим». Тоже не надо.
--
Шутливый чек на сеньорность:
Если слово game loop это для тебя не плейлист, а рабочий цикл, welcome.
Если ты знаешь разницу между pointerdown и click в Phaser и можешь объяснить, почему первое чаще уместнее в игре, welcome x2.
Оплата:
Тест оплачиваем при успешном выполнении. Дальше возможна долгосрочная работа c красивым $.