Multiplayer în detaliu pentru manechine [PlayerIO] .Chast 1
Bună ziua, acest lucru nu este un articol inteligent împărțit în mai multe părți, aș dori să dedic din nou multiplayer în unitate bazată pe lucrul cu PlayerIO sictemoy. In acest articol voi încerca să fac un mic tur al sistemului în sine, pentru a spune de ce a ales acest sistem pentru un articol, nu o soluție standard de unitate. evidenția caracteristicile și neajunsurile sale, încercați să scrie un simplu client-server, și cel mai important, să încerce să ia în considerare toate potențialele capcane cu care l-am întâlnit în timpul lucrului cu acest serviciu. Scopul acestui articol este o oportunitate de a arăta și extinde limitele de rețea în unitate pentru dezvoltatori novice, căruia eu sunt.
O mică digresiune, istoria suferinței.
text ascuns: spectacol
Am început cu elementele de bază, și anume pentru a conecta player-ul. Însuși principiul conexiunii nu necesită transmiterea unor cantități mari de date, așa că am decis să lucrez cu Llapi. Însăși nouă unitate multiplayer este împărțit în HLapi și Llapi. Llapi - low-level api, HLapi - un API de nivel înalt. Practic, diferențele în organizarea modurilor de transport, precum și setări de dificultate. HLapi își asumă în mod substanțial toată activitatea organizației multiplayer astfel încât trebuie doar toate instrucțiunile stabilite în mod corect și să se bucure. care este ceea ce utilizatorii aproape toate noua unitate. Llapi spre deosebire de HLapi permite utilizatorului să decidă ce date să transmită, cum să organizeze transferul și așa mai departe, care este foarte potrivit pentru mine. Potrivit Llapi nu a fost suficient de informații de calitate, doar documentația tehnică pentru o descriere a API.
Când am dezvoltat aproape metode de transmitere a datelor prin Llapi am dat seama că nu am început, am uitat că primul lucru pe care a trebuit să se organizeze pentru a conecta jucători la unul de altul, și numai apoi să organizeze transferul de date între ele. Deci, trecem la etapa următoare - matchmaking. și aici am fost de așteptare pentru prima dezamăgire. După cum sa dovedit jucătorilor pentru a găsi reciproc și conectarea la camere întregi, a trebuit să se conecteze la sistemul de Matchmaking joc care este controlat în totalitate de serverele de unitate și cel mai rău a fost plătită. Mergând în serviciile de unitatea puteți vedea cât de mult va costa viitorul tău Matchmaker. care va căuta și să colecteze jucători pentru a juca în rețea. Despre groază, în cazul în care sunt promisiunile dumneavoastră pentru a face unitatea complet gratuit. - aceasta este unitatea rase novice dezvoltatorii pentru bani: „Vrei să joci în rețea - să plătească!“.
Revenind la o mai profundă lectură documentația, am aflat că este de a finaliza lucrările, trebuie să vă conectați, de asemenea, sistemul de „schimbare de gazde,“ ca unitate comunica este între jucători și nu a serverului, în caz de pană de curent a gazdei, este necesar să-l înlocuiască cu un nou jucător diferit jocul a fost oprit, cu toate că beneficiul acestui sistem a fost deja stabilit în standardul și este necesar un cadru adecvat. După gândit mult, am decis că am crea multiplayer pentru un astfel de sistem, dar încă și plătiți nu va! Și apoi a început să caute alte soluții de rețea.
După toate aceste căutări și zilele petrecute practic goale după dezvoltarea jocului a fost în loc, am decis să aleg pentru ei înșiși exact ceea ce am nevoie pentru a ajunge la sfârșitul multiplayer: transmisia este datele pe care le semnalează, se transferă într-un mod care ma și de mai sus mi se potrivește am nevoie de un server prin care mă va căuta jucători pentru a monitoriza conexiunea lor, și deconectare reconectare. Așa că a trebuit să găsească un sistem apropiat de nivelul scăzut de la # 40; și anume Llapi # 41;, dar destul de organizat, astfel încât să nu pornească de la zero - scris sistemul meu eu doar nu am avut nici timp, nici plin de cunoștințe.
Acest serviciu se execută deja pentru o lungă perioadă de timp, în multe jocuri, dar nu are popularitate mult în rândul dezvoltatorilor. Există mai multe motive: în primul rând de serviciu puțin popular cu designeri novice în minte unele dificultăți de lucru cu el, iar în al doilea rând este, de asemenea, nu foarte popular și dezvoltatorii cu experiență în minte flexibilitatea redusă și capricios, iar cel mai important lucru despre ea este foarte mic bun și documentația de calitate în limba lor maternă.
De ce PlayerIO, mai degrabă decât de rețea unitate?
rețea Unitatea oferă oportunități de networking direct, cum să spun, „din cutie“, există o mulțime de documentare, lecții, proiecte, și atrage dezvoltatorii novice, care sunt inspirate de vise de „joc de pe rețea“, începe imediat să utilizeze sistemul care este utilizat de câștig Unitech dezvoltatorii naiv ca mine. Din fericire pentru cei care se întâmplă, există servicii, cum ar fi PlayerIO care oferă, de asemenea, serviciile lor pentru aplicații multi-user.
Unitatea de rețea funcționează ca un „jucător-la-player“, care este, de obicei, datele sunt transferate între jucători prin intermediul player-ul - gazdă, care este atât de server și player-ul în același timp. Un astfel de sistem are inițial mai multe dezavantaje decât avantaje, șef printre ei - pierderea de comunicare cu gazda (server), care este un centru de date, deși Unitech și am încercat să patch acest sistem gaura găzduiește schimbarea în noua versiune a rețelei. PlayerIO funcționează pe principiul „de la jucător la jucător prin intermediul unui server“, adică, datele de la un jucător va fi trecut înainte de ceilalți jucători sunt procesate pe „serverul“. În acest caz, puteți controla unele dintre jucători au datele, ce fel de date, și ce să facă cu ei viitoare.
De exemplu, dacă vom folosi rețeaua de unitate, apoi sincronizarea a ceea ce că datele sunt suficiente pentru a marca atributul dorit, tu (de exemplu, gazda) nu are nici un control asupra modului în care datele în sine sunt sincronizate, pur și simplu le ia, ceea ce oferă o scuză ușoară pentru „cheating“ în cazul PlayerIO datele ajunge la server, în cazul în care le putem compara cu datele de bază jucător, care sunt situate în mod independent, pe „serverul“, și să identifice amenințările la „cheating“ în joc.
Unitatea de rețea oferă două tipuri de soluții de rețea, este HLAip și Llapi. HLApi - nivel înalt în rețea, folosind acest sistem api are grija de aproape toate responsabilitățile de a lucra cu rețeaua, trebuie doar să-l configurați în mod corect și să se bucure de joc. Llapi - organizarea de nivel redus al rețelei, în acest caz, sistemul prevede la dezvoltator pentru a decide ce date și modul în care acestea vor fi transmise între jucători. Dezavantajul acestor sisteme constă în faptul că, în scopul de a le utiliza, trebuie să conectați sistemul de Matchmaking, care va căuta și conecta jucători în întreaga rețea, și oferă serviciile sale pentru o plată periodică. PlayerIO oferă, de asemenea, unele dintre serviciile sale pentru o taxă, dar în pachetul de bază (gratuit) include toate funcționalitatea pentru crearea și menținerea unei rețele cu drepturi depline, baze de date, server de fișiere, playere și „servere“ motor de căutare, precum și statistici complete privind performanța rețelei de monitorizare.
Ca rezultat, putem spune că, dacă sunteți un dezvoltator de servicii, cum ar fi indie PlayerIO rezolva cele mai multe dintre problemele cu rețea fără a crea o nouă pereche în cazul rețelei unității și setea lor de a face bani pe utilizatorii naivi.
Asta e tot în prima parte a articolului. În secțiunea următoare voi discuta argumentele pro și contra ale sistemului mai PlayerIO. și să facă din principalele sale caracteristici.
PS. Dacă aveți comentarii sau feedback cu privire la acest articol pentru a fi fericit să asculte de ei, așa cum am făcut un dezvoltator începător și va fi bucuros la orice critică.
Syberex a scris (a): Sam, de asemenea, pentru a alege o soluție de rețea
Se pare ca o problemă de rețea nonche este acută. Ar trebui să se grăbească la mine cu plasa lui. Cu aproape de zero copiat.
Acum, după o analiză destul de detaliată a rețelei unității, puteți scrie o comparație cu rețeaua sa
Syberex a scris (a): Acum, după o analiză destul de detaliată a rețelei unității, puteți scrie o comparație cu rețeaua sa
Acum puteți doar două rețele pentru mufa curea