Заказ закрыт
Конкурс на разработку (Vue + Phaser)

Бюджет: 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 красивым $.
Опубликован 31.08.2025 в 15:10 Последнее изменение: 02.09.2025 в 15:03

Конкурсные работы

  • Сергей Велков  

    31.08.2025 | 17:53
    На выполнение такой работы уйдет минимум 10-15 часов при дисциплине MVP: без сложного ИИ, навмеша и богатых ассетов. При чем большую часть времени занимают: аккуратная связка Vue↔Phaser, мок-сокет и шлифовка UX (иконка, модалка, чат, пузырьки). А Вы предлагаете 15 000.
    • Заказчик [blackkey777]   

      31.08.2025 | 21:52  

      Спасибо за ваш подробный комментарий!
      Я прекрасно понимаю, что аккуратная связка Vue ↔ Phaser, мок-сокет и доводка UX – это та часть работы, которая отнимает больше всего времени и требует опыта. Именно поэтому я и вынес этот проект на конкурс: хочу увидеть разные подходы и результат в рамках заявленного MVP.
      Бюджет в 15 000 рублей за задачу фиксированный – конкурсный. Здесь важно показать скорость, аккуратность и умение работать именно с этим стеком. Если результат будет качественный и с потенциалом развития, у нас предусмотрены дальнейшие задачи и отдельные договоренности уже по другим бюджетам.
      Так что конкурс – это, скорее, входная точка для сотрудничества, а не разовый заказ.