Ghidul începătorului pentru creatorii de jocuri mmorpg
Prefață de traducător
Recent, un foarte larg răspândite jocuri online multiplayer (MMOG - masiv joc multiplayer online) joc din lume, care sunt proiectate pentru un număr mare-mare de jucători. Desigur, toată lumea aude numai despre proiecte de succes care colectează venituri financiare semnificative. Acesta atrage cei mai mulți începători în igrostroy în acest gen. Cu toate acestea, foarte puțini oameni de fapt imagina ce probleme și provocări sunt pentru a crea acest tip de jocuri, ce cunoștințe este necesar să existe, etc.
Ca rezultat - mână, chiar în spatele creării unui astfel de proiect, începător să înțeleagă rapid modul în care totul este complicat și confuz. Și a aruncat toate dezamăgit.
Scopul acestui articol - pentru a da o idee inițială dispus să facă performanța sa în stil MMOG, cu privire la ceea ce este necesar pentru a avea cunoștințe ce trebuie să știi cum și de ce să fie pregătit. Nu este un secret faptul că, dacă o persoană încearcă ceva o dată, iar rezultatul este negativ - apoi din nou să-l înapoieze este puțin probabil să fie. De aceea, aș dori să avertizez încă o dată dispus să plonja în lumea jocurilor de crearea și să le ofere mai mult timp să se gândească lucrurile prin intermediul și se cântărește. Poate că ar trebui să înceapă cu jocuri mai simplu, pentru a obține doar experiența minimă necesară?
Articolul descrie crearea de MMORPG (joc de rol), dar cred că am descris că se aplică tuturor tipurilor de jocuri online multiplayer masiv.
cunoștințelor necesare:-
1. Cunoașterea a cel puțin un limbaj de programare. Care dintre dezvoltatorii de cele mai populare limbajul C ++, datorită avantajelor sale în materie de eficiență și viteză. Visual Basic, Java sau C # pot fi de asemenea utilizat în această calitate.
2. Este necesar să se familiarizeze cu biblioteca grafică. O alegere populara este SDL, OpenGL sau DirectX / Direct3D.
3. Decide cu privire la biblioteca de rețea. Puteți alege WinSock, SDL_net sau DirectPlay.
4. Au experiență în joc de programare. De exemplu, pentru a avea o noțiune a ceea ce este: coada de evenimente, multithreading, dezvoltarea interfeței cu utilizatorul (GUI), etc.
-
1. Arhitectura de comunicare client-server și construirea unor astfel de sisteme.
2. Crearea unei aplicatii cross-platform. Destul de probabil doriți să creați jocul, și, în principal clientul, astfel încât să poată rula pe sisteme de operare diferite. Pentru această caracteristică, se recomanda folosirea SDL, OpenGL și SDL_net.
3. Dezvoltarea unui Web (Internet). Acest lucru este necesar dacă doriți să oferiți persoanelor interesate posibilitatea de a vizualiza statisticile de jucători, informații despre server, sau orice alte informații prin intermediul site-ului.
4. Protecția și Management. Nu vrei pe cineva hacked serverul dvs.?
5. Lucrul în echipă, managementul echipei. Trebuie să fii o echipă care va fi capabil de a gestiona cu succes.
Am observat că o mulțime de oameni scrie în posturi forum despre echipele de căutare pentru dezvoltare MMOG. Mulți dintre ei începe cu cuvintele: „Noi - devenire studio de companie / joc si avem nevoie de 3 artiști, 2 programatori, 1 muzician, etc. pentru a crea inovatoare, nu a existat niciodată înainte de MMOG, în cazul în care veți avea libertate deplină de acțiune și posibilitatea de a schimba lumea, etc. Vom plăti pentru munca ta privind dezvoltarea la sfârșitul anului, atunci când vom face acest lucru un pic de bani. " Din păcate, cu tehnologia modernă și lățimea de bandă limitată (de rețea) Nu se poate crea o lume dinamică. Încercarea de a crea ceva imposibil duce la eșec. Acesta va fi corect să înceapă cu o arhitectură mică, complet operațional, scalabil sistem.
Arhitectura de bază a programului:
stochează informații despre un caracter din sarcina de la prima vedere pare destul de simplu, dar nu este. De exemplu, există două moduri de a face acest lucru: a se utiliza baza de date sau de a folosi fișierele. În plus, tabelul enumeră avantajele și dezavantajele pentru fiecare variantă:
avantaje:Acum, că v-ați decis cum să stocheze informații despre personaje, aveți nevoie pentru a decide ce fel de protocol de rețea pe care îl va utiliza pentru comunicare client-server: TCP sau UDP? TCP este cunoscut ca un mai lent, dar mai precis, este nevoie de mai mult de lățime de bandă. În practică, nu am observat nici o problemă atunci când se utilizează TCP. Dacă ați furnizat suficientă lățime de bandă de rețea, TCP - este o alegere bună, cel puțin pentru un început. UDP poate fi foarte neplăcut, mai ales pentru incepatori. Amintiți-vă că testele inițiale ale motorului, iar jocul se va face în rețeaua locală, astfel încât toate pachetele vor ajunge la destinație în aceeași ordine ca și care a mers. Dar acest lucru nu poate fi garantată atunci când se utilizează internetul, și anume, într-un mediu real. La acea vreme, ca de obicei pachetele ajung într-o anumită ordine, unele dintre ele pot fi pierdute, iar aceasta este o problemă constantă pentru Internet. Desigur, vă puteți dezvolta protocolul, astfel încât clientul / serverul poate recupera pachete pierdute. Dar este un proces greu, ceea ce nu este recomandat pentru incepatori.