Разработка кроссплатформенной многопользовательской 2D-игры (Pixi.js + Node.js + P2.js) с открытым кодом
Суть проекта: Необходимо разработать техническую базу (клиент и сервер) для спортивной онлайн-аркады (волейбол). Нужен чистый, масштабируемый код на современном стеке, который легко поддерживать и дополнять новыми механиками.
У меня есть техническое описание и фрагменты кода клиента логики и физики (как референс), которые помогут настроить массу, гравитацию и силу прыжков и в целом показать вам как должен выглядеть геймплей.
Технологический стек:
Frontend: JavaScript (ES6+), Pixi.js (для рендеринга), P2.js (для физики).
Backend: Node.js, Socket.io.
Данные: Использовать эффективную бинарную сериализацию (например, FlatBuffers, Protocol Buffers или кастомный Binary Stream). Обязательное наличие детальной документации (карты протокола) для каждого типа пакета.
Платформы: Браузер (Web) с дальнейшей адаптацией под мобильные устройства (Capacitor/WebView).
Ключевые требования:
Модульность: Код должен быть написан на классах (ES6), без использования обфускации или минификации. Каждая сущность (игрок, мяч, бонусы) должна быть отделена.
Сетевая логика: Стабильный мультиплеер для режимов 1х1, 2х2 и 3х3. Авторитарный сервер (все физические расчеты на стороне сервера).
Физика объектов: Реализация инерции, столкновений и отскоков с помощью P2.js.
Гибкий интерфейс: Реализация динамической камеры (Zoom out), чтобы поле масштабировалось в зависимости от количества игроков в матче.
Система механик: Архитектура для добавления способностей персонажей (рывки, ускорение), чтобы я мог самостоятельно добавлять новые типы абилок.
Работа с графикой:На этапе разработки используем плейсхолдеры (простые фигуры). Я самостоятельно интегрирую финальные HD-ассеты после завершения технической части. От исполнителя нужен четкий механизм замены спрайтов.
Ожидаемый результат:
Полный исходный код с комментариями.
Инструкция по настройке сервера и клиента.
Карта протокола: Подробное описание структуры каждого бинарного пакета (байтовая сетка: какой байт за что отвечает, типы данных Int8, Float32 и т.д.).
Инструментарий: Наличие в коде удобных методов для добавления новых полей в пакеты без риска сломать всю структуру.
Вводная консультация: Объяснение принципа работы бинарного стрима, чтобы я мог самостоятельно добавлять новые переменные (например, уровень энергии или маны) к существующим пакетам.
Структура и организация проекта:Модульность: Код должен быть строго разделен на логические модули с помощью ES6 Imports/Exports.
Файловая структура: Каждая сущность должна находиться в отдельном файле. Ориентировочная структура:
/src/entities/— классыPlayer.js,Ball.js,Net.js./src/physics/— логика обработки столкновений и гравитации (p2.js).
Отсутствие монолита: Запрещено писать логику игры в одном большом файле. Код должен быть легко читаемым и документированным.
Ключевые требования:
Комнаты и сессии: Логика игры основана на изолированных комнатах (Rooms). Система должна поддерживать PVP (1х1, 2х2, 3х3) и синглплеер/Co-op.
PVE и AI Боссы: Архитектура должна поддерживать серверных ботов (AI). Нужна возможность создавать боссов с уникальными механиками (нестандартные размеры, измененные зоны удара, специфические тайминги и логика поведения).
Модульность: Код на классах (ES6), без обфускации. Каждая сущность (игрок, мяч, босс, бонусы) — в отдельном файле.
Сетевая логика: Авторитарный сервер (все расчеты физики и логики AI на стороне Node.js).
Физика: Реализация инерции и столкновений через P2.js на основе предоставленных референсов.
Гибкий интерфейс: Динамическая камера (Zoom out) для масштабирования поля в зависимости от количества игроков в комнате.
Система механик: Гибкая архитектура для добавления способностей персонажей (рывки, ускорения, ульты) силами заказчика.
Ожидаемый результат:
Полный исходный код с комментариями (модульная структура).
Инструкция по настройке сервера и клиента.
Карта протокола: Подробное описание бинарной структуры пакетов (байтовая сетка: типы данных Int8, Float32 и т.д.).
Вводная консультация: Объяснение принципа работы бинарного стрима и логики AI боссов, чтобы я мог самостоятельно добавлять новых противников.
Ключові вимоги:
Кімнати та сесії: Логіка гри базується на ізольованих кімнатах (Rooms). Система повинна підтримувати PVP (1х1, 2х2, 3х3) та синглплеєр/Co-op.
PVE та AI Боси: Архітектура повинна підтримувати серверних ботів (AI). Потрібна можливість створювати босів з унікальними механіками (нестандартні розміри, змінені зони удару, специфічні таймінгі та логіка поведінки).
Модульність: Код на класах (ES6), без обфускації. Кожна сутність (гравець, м’яч, бос, бонуси) — в окремому файлі.
Мережева логіка: Авторитарний сервер (усі розрахунки фізики та логіки AI на стороні Node.js).
Фізика: Реалізація інерції та зіткнень через P2.js на основі наданих референсів.
Гнучкий інтерфейс: Динамічна камера (Zoom out) для масштабування поля залежно від кількості гравців у кімнаті.
Система механік: Гнучка архітектура для додавання здібностей персонажів (ривки, прискорення, ульти) силами замовника.
Очікуваний результат:
Повний вихідний код з коментарями (модульна структура).
Інструкція з налаштування сервера та клієнта.
Карта протоколу: Детальний опис бінарної структури пакетів (байтова сітка: типи даних Int8, Float32 тощо).
Вступна консультація: Пояснення принципу роботи бінарного стріму та логіки AI босів, щоб я міг самостійно додавати нових супротивників.
-
✋ Здравствуйте! Мы IT-компания dZENcode.
Мы можем разработать для вас кроссплатформенную игру с серверной логикой под эту задачу.
Нужна ли сразу закладка под мобильную адаптацию?
Работаем итерациями, ставки от 750 грн/час.
Подробную информацию о наших услугах и ставках вы найдёте на сайте:Freelancehunt
Посмотрите – дальше обсудим детали работы, пишите, как будете готовы.
…
Финальная стоимость формируется только после уточнения объёма и требований.
___________________
С уважением,
Менеджер dZENcode
Наши сильные стороны:
💎 10+ лет оказываем IT-услуги: Аутсорс, Аутстаф
🔥 90+ штатных специалистов
🚀 Проекты «с нуля» и на поддержку
⚙️ SLA и постпродакшн-сопровождение
✅ Договор c компанией, гарантированный результат!
🔥 250+ публичных отзывов с 2015 года.
-
Привет, я работал над многопользовательской 2D-игрой с физикой на Pixi.js + Node.js, где реализовал авторитарный сервер для 20+ одновременных игроков и бинарную сериализацию для уменьшения трафика на 75%.
Интересно, планируете ли вы использовать комнаты для матчей, или вся логика будет вращаться вокруг одного игрового мира?
Предлагаю связаться, я бесплатно проконсультирую вас с технической стороны и составим план разработки + расскажу о моей команде!
-
1481 9 0 Здравствуйте! Мы с командой SDEV имеем многолетний опыт в разработке сложных многопользовательских проектов на современном стеке технологий. Наше предложение включает:
1. Техническая реализация
- Полный исходный код на ES6, Pixi.js, Node.js и P2.js с четкой модульностью.
- Авторитарный сервер для стабильной сетевой логики (режимы 1х1, 2х2, 3х3).
- Реализация физики (инерция, столкновения, отскоки) с помощью P2.js.
2. Документация и структура
- Подробная карта протокола с описанием бинарных пакетов (байтовая сетка, типы данных).
… - Инструкции для настройки сервера/клиента и механизм добавления новых механик.
- Файловая структура по ES6-модулям: `/entities`, `/physics`, `/network`.
3. Гибкость и масштабируемость
- Архитектура для добавления новых способностей персонажей.
- Динамическая камера и механизм замены спрайтов для HD-ассетов.
4. Поддержка и консультации
- Объяснение работы бинарного стрима для удобного расширения функционала.
Мы уже выполняли похожий проект — автоматизацию для спортивных залов (бот для управления абонементами и расписанием). Наша команда специализируется на создании надежных систем с высокой пропускной способностью, используя Node.js и современные методики разработки.
-
309 Здравствуйте! Мы небольшой командой более 4 лет занимаемся веб-разработкой и созданием браузерных игр, и мы готовы взять на себя разработку архитектуры вашей спортивной аркады. Мы реализуем строгую модульность на классах ES6, настроим физику P2.js с учетом инерции и отскоков мяча, а также разработаем систему AI-боссов с возможностью легкого добавления новых паттернов поведения. Наш опыт более 4 лет позволяет нам подготовить чистый код с комментариями и провести вводную консультацию по работе с бинарным стримом, чтобы вы могли масштабировать проект самостоятельно, обязательно ознакомьтесь с нашими примерами работ: freshagro.com.ua, farfieworldwide.com, rivnekolo.com. Бюджет обсуждается в пределах $2000, срок — до 1 месяца.
-
184 Добрый день! Мы с коллегой более 4 лет профессионально занимаемся техническим проектированием сетевых игр и оптимизацией обмена данными через Socket.io, поэтому мы поможем вам построить масштабируемую базу для волейбола 1х1–3х3. Мы реализуем фронтенд-аудит ваших референсов физики, перенесем расчеты на сторону Node.js для авторитарного контроля и подготовим детальную карту протокола (байтовую сетку) для максимально быстрой передачи пакетов. Мы обеспечим техническую безупречность выполнения: от динамического Zoom-камеры до модульной системы способностей, наш опыт 4 года подтвержден успешными проектами: drkukharevich.rivne.ua, crave-agency.com.ua, jk-solution.com.ua.
-
1182 13 0 3 Здравствуйте! Мы с напарником (дизайнер + full-stack) более 4 лет специализируемся на разработке многопользовательских игр и высоконагруженных систем на Node.js, поэтому мы профессионально реализуем техническую базу для вашей волейбольной аркады. Мы разработаем архитектуру игровых сущностей в Figma (User Flow и схемы пакетов) для визуализации логики, обеспечив технически безупречный авторитарный сервер на FastAPI/Node.js, бинарную сериализацию через кастомный Binary Stream (Int8/Float32) и модульный клиент на Pixi.js + P2.js. Наш опыт более 4 лет позволяет нам создать гибкую систему комнат (Rooms) и архитектуру для AI-боссов, где вы сможете самостоятельно изменять параметры массы, гравитации и способностей персонажей; посмотрите на наши работы с точки зрения чистоты кода и сложности логики: hyperfi.tech, espressolab.com.ua, hudi.com.ua.
-
672 5 1 Добрый день, пишите в личные сообщения, обсудим возможность сотрудничества.
-
284 Добрый день
Меня зовут Ангелина, представляю компанию King Kong Lab
Ознакомилась с задачей — это полноценная техническая разработка игрового ядра, и мы можем реализовать её с правильной архитектурой под масштабирование
У нас есть опыт работы с real-time системами, Node.js, Socket.io и построением серверной логики с авторитарной моделью
По подходу
строим чистую модульную архитектуру (ES6 классы, разделение на сущности)
вся физика и логика игры на сервере (Node.js + p2.js)
клиент на Pixi.js только для отображения и синхронизации
реализуем систему комнат (1х1, 2х2, 3х3, PvE)
… закладываем архитектуру под AI (боты, боссы с кастомной логикой)
делаем гибкую систему способностей, чтобы вы могли сами добавлять новые механики
реализуем бинарный протокол (protobuf / кастом) с детальной документацией
Отдельно
сделаем чёткую структуру проекта без “монолита”
подготовим инструкции запуска
дадим карту протокола с описанием каждого пакета
проведём консультацию по логике стримов и расширению системы
Готовы также разбить на этапы и начать с MVP (1х1 + базовая физика + протокол), чтобы быстрее получить рабочий результат и далее масштабировать
Готовы обсудить детали и ваши референсы логики
Буду рада сотрудничеству
-
7134 13 0 Привет, у меня есть опыт создания сложных систем реального времени (Fintech, Event-платформы), также есть опыт в создании игр и в принципе это нравится. Кратко расскажу план реализации:
Как я реализую техническую базу:
1. Архитектура Авторитарного Сервера (Node.js + P2.js)
Мир игры: На сервере запускается физический мир p2.World. Каждая комната (Room) — это отдельный инстанс мира, где рассчитываются коллизии игроков, мяча и сетки.
Логика AI и Боссов: Создается базовый класс BaseEntity, от которого наследуются Player и Boss. AI боссов будет работать в том же цикле (tick), что и физика, имея доступ к координатам мяча для принятия решений (Behavior Trees или State Machine).
Комнаты: Реализация RoomManager для изоляции матчей.
…
2. Сетевой протокол (Binary Stream)
Я не рекомендую использовать тяжелые библиотеки типа Protobuf для такого динамичного геймплея, если нужна максимальная скорость. Я разработаю кастомный Binary Stream на базе ArrayBuffer и DataView.
Оптимизация: Вместо передачи JSON {x: 120.5, y: 300.2}, мы передаем 8 байт (2 x Float32).
Карта протокола: Я предоставлю таблицу (Byte Grid), где каждый пакет будет расписан:
[0] - Packet ID (Uint8)
[1-2] - Entity ID (Uint16)
[3-6] - X Position (Float32)
...и так далее.
3. Клиент (Pixi.js + Interpolation)
Рендеринг: Pixi.js будет лишь "отображением" того, что говорит сервер.
Сглаживание: Поскольку пакеты приходят с определенной частотой (например, 20-30 Гц), я реализую Client-side Interpolation (линейная интерполяция между последними состояниями), чтобы движение объектов выглядело плавно при 60 FPS.
Динамическая камера: Реализация через pixi-viewport или кастомный контейнер, который вычисляет bounding box всех активных игроков и изменяет scale и pivot.
4. Модульность и Расширение
Система Абилок: Создаю класс AbilityManager и BaseAbility. Вы сможете добавить новый файл DashAbility.js, прописать логику изменения скорости в методе execute(), и она автоматически заработает.
Замена спрайтов: Все сущности будут ссылаться на AssetManager. Для замены вам достаточно будет изменить путь к текстуре в конфиге.
Буду рад поработать, мой гит https://github.com/onyx144
-
9944 117 0 Здравствуйте.
Я разработчик NodeJS. Готов взяться. Пишите, обсудим.
-
11596 44 0 Здравствуйте, у меня есть опыт работы с серверной частью с использованием socket io, но бэкенд предлагаю на Nest.js (более модульный и современный стандарт). Также есть опыт с Pixi.js. Буду рад Вам помочь!
-
612 21 0 Здравствуйте. Могу сделать ваш проект. Опыт есть. Пишите договоримся.
Актуальные фриланс-проекты в категории Javascript и Typescript
Ищу опытного Full Stack разработчика для создания SaaS-сервиса для интернет-магазинов.Идея сервиса: Клиент загружает ссылку на свой товарный фид (XML или CSV). Сервис автоматически получает товары, берет их фотографии и создает новые рекламные изображения по готовым шаблонам: цена, скидка, логотип, акционные плашки и т.д. Также в сервисе должен быть простой… Javascript и Typescript, Веб-программирование ∙ 2 дня 7 часов назад ∙ 85 ставок |
Разработка WebGL/Three.js сцены с генерацией и экспортом 3D (snapshot) из анимированного шейдераОписание объекта:Проект представляет собой дизайнерский стол, выполненный в форме реалистичного, глубокого водоворота (центральная воронка, которая плавно переходит из широкой горизонтальной столешницы в тонкую изящную ножку). Суть задачи:Требуется WebGL / Creative Coding… Javascript и Typescript, Веб-программирование ∙ 3 дня 4 часа назад ∙ 30 ставок |
Поддержка и развитие сайта клининговой компании
904 UAH
Ищу веб-разработчика / веб-мастера для долгосрочной поддержки и развития сайта клининговой компании. Сайт: https://donely.ca О проекте DoneLy Home Services — компания по предоставлению услуг уборки в Канаде, которая активно развивается и расширяет географию работы. Ищу… Javascript и Typescript, Веб-программирование ∙ 5 дней 6 часов назад ∙ 64 ставки |
Разработка сайта по ТЗ на FramerНеобходимо сделать сайт по этим параметрам, что в ТЗ https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Назовите реальный рейд на основе этого дизайна HTML и CSS верстка, Javascript и Typescript ∙ 6 дней 7 часов назад ∙ 30 ставок |
Разработка интерактивной карты Palworld для сайтаНеобходимо разработать интерактивную карту Palworld по примеру: https://palworld.gg/map Нам нужна не просто статическая картинка, а полноценная интерактивная карта, где пользователь может смотреть локации, включать / выключать категории объектов, искать нужные точки и… HTML и CSS верстка, Javascript и Typescript ∙ 7 дней 21 час назад ∙ 36 ставок |