Opracowanie wieloplatformowej gry 2D dla wielu graczy (Pixi.js + Node.js + P2.js) z otwartym kodem źródłowym
Istota projektu: Konieczne jest opracowanie bazy technicznej (klient i serwer) dla sportowej gry online (siatkówka). Potrzebny jest czysty, skalowalny kod na nowoczesnym stosie, który łatwo można utrzymać i rozszerzać o nowe mechaniki.
Mam opis techniczny oraz fragmenty kodu klienta logiki i fizyki (jako referencje), które pomogą dostosować masę, grawitację i siłę skoków oraz ogólnie pokazać, jak powinien wyglądać gameplay.
Stos technologiczny:
Frontend: JavaScript (ES6+), Pixi.js (do renderowania), P2.js (do fizyki).
Backend: Node.js, Socket.io.
Dane: Używać efektywnej binarnej serializacji (np. FlatBuffers, Protocol Buffers lub niestandardowy Binary Stream). Obowiązkowa jest szczegółowa dokumentacja (mapa protokołu) dla każdego typu pakietu.
Platformy: Przeglądarka (Web) z późniejszą adaptacją na urządzenia mobilne (Capacitor/WebView).
Kluczowe wymagania:
Modularność: Kod musi być napisany w klasach (ES6), bez użycia obfuskacji czy minifikacji. Każda jednostka (gracz, piłka, bonusy) musi być oddzielona.
Logika sieciowa: Stabilny multiplayer dla trybów 1x1, 2x2 oraz 3x3. Autorytarny serwer (wszystkie obliczenia fizyczne po stronie serwera).
Fizyka obiektów: Implementacja inercji, kolizji i odbić za pomocą P2.js.
Elastyczny interfejs: Implementacja dynamicznej kamery (Zoom out), aby pole skalowało się w zależności od liczby graczy w meczu.
System mechanik: Architektura do dodawania zdolności postaci (sprinty, przyspieszenia), aby mogłem samodzielnie dodawać nowe typy umiejętności.
Praca z grafiką: Na etapie rozwoju używamy placeholderów (proste figury). Samodzielnie zintegrowuję finalne zasoby HD po zakończeniu części technicznej. Od wykonawcy wymagana jest jasna metoda wymiany sprite'ów.
Oczekiwany rezultat:
Pełny kod źródłowy z komentarzami.
Instrukcja konfiguracji serwera i klienta.
Mapa protokołu: Szczegółowy opis struktury każdego binarnego pakietu (siatka bajtowa: który bajt za co odpowiada, typy danych Int8, Float32 itp.).
Narzędzia: Obecność w kodzie wygodnych metod do dodawania nowych pól do pakietów bez ryzyka złamania całej struktury.
Wstępna konsultacja: Wyjaśnienie zasady działania binarnego strumienia, aby mogłem samodzielnie dodawać nowe zmienne (np. poziom energii czy many) do istniejących pakietów.
Struktura i organizacja projektu:Modularność: Kod powinien być ściśle podzielony na logiczne moduły za pomocą ES6 Imports/Exports.
Struktura plików: Każda jednostka powinna znajdować się w osobnym pliku. Orientacyjna struktura:
/src/entities/— klasyPlayer.js,Ball.js,Net.js./src/physics/— logika przetwarzania kolizji i grawitacji (p2.js).
Brak monolitu: Zabronione jest pisanie logiki gry w jednym dużym pliku. Kod musi być łatwy do odczytania i udokumentowany.
Kluczowe wymagania:
Pokoje i sesje: Logika gry opiera się na izolowanych pokojach (Rooms). System musi wspierać PVP (1x1, 2x2, 3x3) oraz tryb jednoosobowy/Co-op.
PVE i AI Bossowie: Architektura musi wspierać boty serwerowe (AI). Potrzebna jest możliwość tworzenia bossów z unikalnymi mechanikami (niestandardowe rozmiary, zmienione strefy uderzenia, specyficzne timingi i logika zachowania).
Modularność: Kod w klasach (ES6), bez obfuskacji. Każda jednostka (gracz, piłka, boss, bonusy) — w osobnym pliku.
Logika sieciowa: Autorytarny serwer (wszystkie obliczenia fizyki i logiki AI po stronie Node.js).
Fizyka: Realizacja inercji i kolizji przez P2.js na podstawie dostarczonych referencji.
Elastyczny interfejs: Dynamiczna kamera (Zoom out) do skalowania pola w zależności od liczby graczy w pokoju.
System mechanik: Elastyczna architektura do dodawania umiejętności postaci (sprinty, przyspieszenia, ulty) przez zleceniodawcę.
Oczekiwany rezultat:
Pełny kod źródłowy z komentarzami (modularna struktura).
Instrukcja konfiguracji serwera i klienta.
Mapa protokołu: Szczegółowy opis binarnej struktury pakietów (siatka bajtowa: typy danych Int8, Float32 itd.).
Wstępna konsultacja: Wyjaśnienie zasady działania binarnego strumienia i logiki AI bossów, abym mógł samodzielnie dodawać nowych przeciwników.
Ключові вимоги:
Кімнати та сесії: Логіка гри базується на ізольованих кімнатах (Rooms). Система повинна підтримувати PVP (1х1, 2х2, 3х3) та синглплеєр/Co-op.
PVE та AI Боси: Архітектура повинна підтримувати серверних ботів (AI). Потрібна можливість створювати босів з унікальними механіками (нестандартні розміри, змінені зони удару, специфічні таймінгі та логіка поведінки).
Модульність: Код на класах (ES6), без обфускації. Кожна сутність (гравець, м’яч, бос, бонуси) — в окремому файлі.
Мережева логіка: Авторитарний сервер (усі розрахунки фізики та логіки AI на стороні Node.js).
Фізика: Реалізація інерції та зіткнень через P2.js на основі наданих референсів.
Гнучкий інтерфейс: Динамічна камера (Zoom out) для масштабування поля залежно від кількості гравців у кімнаті.
Система механік: Гнучка архітектура для додавання здібностей персонажів (ривки, прискорення, ульти) силами замовника.
Очікуваний результат:
Повний вихідний код з коментарями (модульна структура).
Інструкція з налаштування сервера та клієнта.
Карта протоколу: Детальний опис бінарної структури пакетів (байтова сітка: типи даних Int8, Float32 тощо).
Вступна консультація: Пояснення принципу роботи бінарного стріму та логіки AI босів, щоб я міг самостійно додавати нових супротивників.
-
✋ Witaj! Jesteśmy firmą IT dZENcode.
Możemy dla Ciebie opracować grę wieloplatformową z logiką serwerową pod to zadanie.
Czy potrzebna jest od razu adaptacja mobilna?
Pracujemy w iteracjach, stawki od 750 UAH/godz.
Szczegółowe informacje o naszych usługach i stawkach znajdziesz na stronie:Freelancehunt
Zobacz – potem omówimy szczegóły pracy, pisz, gdy będziesz gotowy.
…
Ostateczny koszt ustalany jest dopiero po wyjaśnieniu zakresu i wymagań.
___________________
Z poważaniem,
Menadżer dZENcode
Nasze mocne strony:
💎 10+ lat świadczymy usługi IT: Outsourcing, Outstaffing
🔥 90+ pracowników na etacie
🚀 Projekty „od zera” i wsparcie
⚙️ SLA i wsparcie po produkcji
✅ Umowa z firmą, gwarantowany wynik!
🔥 250+ publicznych opinii od 2015 roku.
-
Cześć, pracowałem nad wieloosobową grą 2D z fizyką na Pixi.js + Node.js, gdzie zrealizowałem autorytarny serwer dla 20+ jednoczesnych graczy oraz binarną serializację w celu zmniejszenia ruchu o 75%
Ciekawe, czy planujecie używać pokoi do meczów, czy cała logika będzie krążyć wokół jednego świata gry?
Proponuję się skontaktować, chętnie doradzę Państwu z technicznej strony i wspólnie opracujemy plan rozwoju + opowiem o moim zespole!
-
1510 10 0 Witaj! Zespół SDEV ma wieloletnie doświadczenie w tworzeniu skomplikowanych projektów wieloosobowych na nowoczesnym stosie technologicznym. Nasza oferta obejmuje:
1. Realizacja techniczna
- Pełny kod źródłowy w ES6, Pixi.js, Node.js i P2.js z wyraźną modularnością.
- Autorytarny serwer dla stabilnej logiki sieciowej (tryby 1x1, 2x2, 3x3).
- Realizacja fizyki (inercja, kolizje, odbicia) za pomocą P2.js.
2. Dokumentacja i struktura
- Szczegółowa mapa protokołu z opisem pakietów binarnych (siatka bajtowa, typy danych).
… - Instrukcje dotyczące konfiguracji serwera/klienta oraz mechanizm dodawania nowych mechanik.
- Struktura plików według modułów ES6: `/entities`, `/physics`, `/network`.
3. Elastyczność i skalowalność
- Architektura do dodawania nowych zdolności postaci.
- Dynamiczna kamera i mechanizm wymiany sprite'ów dla zasobów HD.
4. Wsparcie i konsultacje
- Wyjaśnienie działania strumienia binarnego dla wygodnego rozszerzania funkcjonalności.
Już realizowaliśmy podobny projekt — automatyzację dla siłowni (bot do zarządzania karnetami i harmonogramem). Nasz zespół specjalizuje się w tworzeniu niezawodnych systemów o wysokiej przepustowości, wykorzystując Node.js i nowoczesne metodyki rozwoju.
-
309 Witaj! Jesteśmy małym zespołem, który od ponad 4 lat zajmuje się tworzeniem stron internetowych oraz grami przeglądarkowymi, i jesteśmy gotowi podjąć się opracowania architektury twojej sportowej arkaady. Wprowadzimy ścisłą modularność w klasach ES6, skonfigurujemy fizykę P2.js z uwzględnieniem bezwładności i odbić piłki, a także opracujemy system AI-bossów z możliwością łatwego dodawania nowych wzorców zachowań. Nasze doświadczenie, które wynosi ponad 4 lata, pozwala nam przygotować czysty kod z komentarzami oraz przeprowadzić wstępną konsultację na temat pracy z binarnym strumieniem, abyś mógł samodzielnie skalować projekt. Koniecznie zapoznaj się z naszymi przykładami prac: freshagro.com.ua, farfieworldwide.com, rivnekolo.com. Budżet do uzgodnienia w granicach 2000 USD, termin — do 1 miesiąca.
-
184 Dzień dobry! Razem z kolegą od ponad 4 lat profesjonalnie zajmujemy się technicznym projektowaniem gier sieciowych oraz optymalizacją wymiany danych przez Socket.io, dlatego pomożemy Ci zbudować skalowalną bazę dla siatkówki 1x1–3x3. Zrealizujemy audyt frontendowy Twoich referencji fizyki, przeniesiemy obliczenia na stronę Node.js dla autorytatywnej kontroli i przygotujemy szczegółową mapę protokołu (siatkę bajtową) dla maksymalnie szybkiej transmisji pakietów. Zapewnimy techniczną bezbłędność wykonania: od dynamicznego Zoom-kamery po modułowy system zdolności, nasze 4-letnie doświadczenie potwierdzone jest udanymi projektami: drkukharevich.rivne.ua, crave-agency.com.ua, jk-solution.com.ua.
-
1175 13 0 3 Witaj! Razem z moim partnerem (projektant + full-stack) od ponad 4 lat specjalizujemy się w tworzeniu gier wieloosobowych oraz systemów o wysokim obciążeniu na Node.js, dlatego profesjonalnie zrealizujemy techniczną bazę dla Twojej arkaady siatkarskiej. Opracujemy architekturę bytów gry w Figma (User Flow i schematy pakietów) w celu wizualizacji logiki, zapewniając technicznie doskonały serwer autorytatywny na FastAPI/Node.js, binarną serializację przez niestandardowy Binary Stream (Int8/Float32) oraz modułowego klienta na Pixi.js + P2.js. Nasze doświadczenie, które wynosi ponad 4 lata, pozwala nam stworzyć elastyczny system pokoi (Rooms) oraz architekturę dla AI-bosów, gdzie będziesz mógł samodzielnie zmieniać parametry masy, grawitacji i umiejętności postaci; zobacz nasze prace pod kątem czystości kodu i złożoności logiki: hyperfi.tech, espressolab.com.ua, hudi.com.ua.
-
672 5 1 Dzień dobry, piszcie na prywatne, omówimy możliwość współpracy.
-
284 Dzień dobry
Nazywam się Angelina, reprezentuję firmę King Kong Lab
Zapoznałam się z zadaniem — to pełnoprawny rozwój techniczny rdzenia gry, który możemy zrealizować z odpowiednią architekturą pod skalowanie
Mamy doświadczenie w pracy z systemami real-time, Node.js, Socket.io oraz budowaniem logiki serwera z autorytarnym modelem
Podejście
budujemy czystą modułową architekturę (klasy ES6, podział na byty)
cała fizyka i logika gry na serwerze (Node.js + p2.js)
klient na Pixi.js tylko do wyświetlania i synchronizacji
realizujemy system pokoi (1x1, 2x2, 3x3, PvE)
… zakładamy architekturę pod AI (boty, bossowie z niestandardową logiką)
tworzymy elastyczny system umiejętności, abyście mogli sami dodawać nowe mechaniki
realizujemy protokół binarny (protobuf / niestandardowy) z szczegółową dokumentacją
Osobno
zrobimy jasną strukturę projektu bez “monolitu”
przygotujemy instrukcje uruchomienia
damy mapę protokołu z opisem każdego pakietu
przeprowadzimy konsultację na temat logiki strumieni i rozszerzenia systemu
Jesteśmy również gotowi podzielić to na etapy i zacząć od MVP (1x1 + podstawowa fizyka + protokół), aby szybciej uzyskać działający wynik i dalej skalować
Jesteśmy gotowi omówić szczegóły i wasze referencje logiki
Będę zadowolona z współpracy
-
7134 13 0 Witam, mam doświadczenie w tworzeniu złożonych systemów czasu rzeczywistego (Fintech, platformy wydarzeń), mam również doświadczenie w tworzeniu gier i ogólnie mi się to podoba. Krótko przedstawię plan realizacji:
Jak zrealizuję bazę techniczną:
1. Architektura Serwera Autorytarnego (Node.js + P2.js)
Świat gry: Na serwerze uruchamiany jest fizyczny świat p2.World. Każdy pokój (Room) to osobny instancja świata, w którym obliczane są kolizje graczy, piłki i siatki.
Logika AI i Bossów: Tworzony jest podstawowy klas BaseEntity, od którego dziedziczą Player i Boss. AI bossów będzie działać w tym samym cyklu (tick), co fizyka, mając dostęp do współrzędnych piłki w celu podejmowania decyzji (Behavior Trees lub State Machine).
Pokoje: Realizacja RoomManager do izolacji meczów.
…
2. Protokół sieciowy (Binary Stream)
Nie polecam używać ciężkich bibliotek typu Protobuf do tak dynamicznej rozgrywki, jeśli potrzebna jest maksymalna prędkość. Opracuję niestandardowy Binary Stream oparty na ArrayBuffer i DataView.
Optymalizacja: Zamiast przesyłać JSON {x: 120.5, y: 300.2}, przesyłamy 8 bajtów (2 x Float32).
Mapa protokołu: Dostarczę tabelę (Byte Grid), w której każdy pakiet będzie opisany:
[0] - ID pakietu (Uint8)
[1-2] - ID encji (Uint16)
[3-6] - Pozycja X (Float32)
...i tak dalej.
3. Klient (Pixi.js + Interpolacja)
Renderowanie: Pixi.js będzie tylko "wyświetleniem" tego, co mówi serwer.
Wygładzanie: Ponieważ pakiety przychodzą z określoną częstotliwością (na przykład 20-30 Hz), zrealizuję interpolację po stronie klienta (liniowa interpolacja między ostatnimi stanami), aby ruch obiektów wyglądał płynnie przy 60 FPS.
Dynamiczna kamera: Realizacja przez pixi-viewport lub niestandardowy kontener, który oblicza bounding box wszystkich aktywnych graczy i zmienia skalę oraz pivot.
4. Modułowość i Rozszerzalność
System Umiejętności: Tworzę klasę AbilityManager i BaseAbility. Będziecie mogli dodać nowy plik DashAbility.js, wpisać logikę zmiany prędkości w metodzie execute(), a ona automatycznie zacznie działać.
Zamiana sprite'ów: Wszystkie encje będą odnosić się do AssetManager. Aby dokonać zamiany, wystarczy zmienić ścieżkę do tekstury w konfiguracji.
Będę zadowolony z pracy, mój Git https://github.com/onyx144
-
9927 117 0 Witam.
Jestem programistą NodeJS. Jestem gotów podjąć się tego zadania. Piszcie, omówimy.
-
11596 44 0 Witam, mam doświadczenie z pracą serwerową z socket io, ale backend proponuję na Nest.js (bardziej modułowy i nowoczesny standard) oraz mam doświadczenie z Pixi.js. Będę zadowolony, aby Ci pomóc!
-
612 21 0 Witam. Mogę zrealizować twój projekt. Mam doświadczenie. Napisz, ustalimy szczegóły.
Aktualne zlecenia dla freelancerów w kategorii Javascript & Typescript
Optymalizacja Core Web Vitals (OpenCart) pod Google PageSpeed — Wersje mobilna i PCOpis zamówienia: Poszukujemy doświadczonego frontend-dewelopera/specjalisty od OpenCart do optymalizacji szybkości ładowania strony (kategorie i karty produktów) zgodnie z wymaganiami Google Core Web Vitals. O projekcie: * CMS: OpenCart. * Specyfika: Strona działa w trybie… Content Management Systems, Javascript & Typescript ∙ 1 dzień 6 godzin temu ∙ 17 ofert |
Optymalizacja prędkości strony WordPress
429 PLN
Pełne szczegóły prześlemy w wiadomościach prywatnych Cel Maksymalne przyspieszenie ładowania strony, szczególnie na urządzeniach mobilnych. KPI (obowiązkowe) Po zakończeniu prac należy osiągnąć następujące wskaźniki. Mobile Performance 90+ LCP mniej niż 2.2 sek INP mniej niż… Układ HTML i CSS, Javascript & Typescript ∙ 2 dni 2 godziny temu ∙ 65 ofert |
Integracja kalkulatora kosztów usług na stronie Webflow
1248 PLN
Szukamy dewelopera do integracji gotowego kalkulatora kosztów usług na naszej stronie, stworzonej na Webflow. O firmie Zajmujemy się: montażem mebli; montażem telewizorów; montażem półek, obrazów, luster i innych przedmiotów; pomocą w przeprowadzkach; ciężkim podnoszeniem;… Javascript & Typescript, Programowanie stron internetowych ∙ 2 dni 3 godziny temu ∙ 61 ofert |
Szukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w programowaniu na Odoo 19 Community EditionTo jest roboczy, czysto zaprojektowany projekt na Odoo 19 Community — CRM dla ukraińskiego hotelu, już w infrastrukturze produkcyjnej. Nie planujemy przepisywać od zera. Szukamy jednej osoby, która przejmie projekt, zachowa działające i poprowadzi go dalej: najpierw CRM → potem… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 3 godziny temu ∙ 2 oferty |
Szukam doświadczonego programisty Full Stack do stworzenia usługi SaaS dla sklepów internetowych.Pomysł usługi: Klient przesyła link do swojego pliku produktowego (XML lub CSV). Usługa automatycznie pobiera produkty, pobiera ich zdjęcia i tworzy nowe reklamy na podstawie gotowych szablonów: cena, zniżka, logo, banery promocyjne itp. Usługa powinna również zawierać prosty… Javascript & Typescript, Programowanie stron internetowych ∙ 5 dni 9 godzin temu ∙ 87 ofert |