Cum să faci jocuri pentru Android. Un eșec de un an sau experiență în dezvoltarea unui joc pentru Android

Fac deja un al treilea joc pe Android folosind AndEngine.

Îmi place motorul și până acum este complet mulțumit atât în ​​ceea ce privește funcționalitatea, cât și viteza de lucru. Prin urmare, am decis să arăt cum să lucrez cu el și să fac jocuri pentru Android.

  • Surse (puteți utiliza pluginul Mercurial pentru Eclipse pentru a descărca sau descărca arhiva mea cu motorul)
  • Dezvoltarea de aplicații pentru Android, rake-ul este mare și nu chiar așa

Eu însumi nu mă consider un mare programator și nu înțeleg cu adevărat toate complexitățile multor tehnologii, așa că scriu așa cum mă înțeleg.

Voi începe cu puncte generale:

1. Grafică.

AndEngine folosește biblioteca OpenGL pentru ieșirea grafică. OpenGL folosește așa-numitele texturi sau atlasuri de imagine pentru munca sa.

Toate graficele din jocuri sunt raster. Puteți crea sprite în orice, de la Max 3D și Flash la Photoshop și Paint.

AndEngine vă permite să încărcați grafică în Format PNGși JPG (există încă SVG - format vectorial dar asta este o altă poveste)

2. Sunete și muzică.

Cel mai bine este să convertiți toate sunetele și muzica pentru joc în format OGG.

V acest moment AndEngine evoluează în versiunea GLES2 (utilizează OpenGL ES 2.0). Cealaltă versiune (implicită) este inactivă și folosește OpenGL ES 1.0.

Încă lucrez cu OpenGL ES 1.0 datorită posibilității de a rula jocuri pe dispozitive mai reale (cu Versiunea Android 2.2+) (cu versiunea Android 1.6+).

În jocul pe care îl fac acum, folosesc codul sursă al motorului pentru a-i vedea interiorul și a înțelege principiile unor clase. Există momente în care trebuie să schimbi ușor motorul pentru tine.

Bine, să începem.

În Eclipse apăsați CTRL + N pentru a crea un nou proiect. Alegeți Android Project.


Noi numim proiectul cumva.

Alegem Android 2.2 sau o versiune ulterioară. Mai târziu, în manifest, puteți înregistra compatibilitatea cu Android 1.6.

Acum, în dosar src proiect, aruncăm codul sursă al AndEngine. Și deschideți singurul nostru fișier de activitate:

Vedem următorul cod:

Pachet com.drderico.example; import android.app.Activity; import android.os.Bundle; public class AndEngineExampleActivity extinde Activitatea (/ ** Apelat când activitatea este creată pentru prima dată. * / @Override public void onCreate (Bundle savedInstanceState) (super.onCreate (savedInstanceState); setContentView (R.layout.main);))

Înlocuim tot codul cu următoarele:

Pachet com.drderico.example; import org.anddev.andengine.engine.Engine; import org.anddev.andengine.entity.scene.Scene; import org.anddev.andengine.ui.activity.BaseGameActivity; import android.os.Bundle; public class AndEngineExampleActivity extinde BaseGameActivity (/ ** Apelat când activitatea este creată pentru prima dată. * / @Override public void onCreate (Bundle savedInstanceState) (super.onCreate (savedInstanceState);) @Override public Engine onLoadEngine () (// TODO Auto- metodă generată stub return null;) @Override public void onLoadResources () (// TODO Metodă generată automat stub) @Override public Scene onLoadScene () (// TODO Metodă generată automat stub return null;) @Override public void onLoadComplete ( ) (// TODO stub de metodă generat automat))

Am făcut din Activitatea noastră un descendent al clasei BaseGameActivity (această clasă aparține AndEngine) și am moștenit 4 metode necesare:

  • Motor onLoadEngine ()- metoda este apelată când AndEngine în sine este încărcat. Ne cere să creăm un motor cu câțiva parametri;
  • void onLoadResources ()- sunat pentru a descărca resursele necesare - grafică, muzică etc. În el, va trebui să încărcăm resursele jocului în memorie;
  • Scena onLoadScene ()- când toate resursele sunt încărcate și motorul este creat, ni se cere să creăm scena principală (Scene), pe care să fie desenate și afișate pe ecranul dispozitivului;
  • void onLoadComplete ()- această metodă se numește atunci când totul a fost încărcat și creat cu succes. Motorul este gata de funcționare.

Folosesc această variantă a acestui manifest:

Acordați atenție proprietății android: icon = "@ drawable / icon"(linia 7) - prima versiune a fost android: icon = "@ drawable / ic_launcher". Puteți scrie orice nume de fișier cu pictograma aplicației. Nu uitați să denumiți și fișierul. Pictogramele sunt localizate în folderele res / drawable-hdpi, res / drawable-ldpi și res / drawable-mdpi.

Linia 9 spune proprietatea Android: theme = "@ style / Theme.NoBackground". Din câte îmi amintesc, acest lucru accelerează puțin aplicația, deoarece dezactivează sistemul de a reda un fundal care nici măcar nu este vizibil. Forumul scrie că după o astfel de accelerare, FPS a crescut de la 45 la 60 !!! Fișierul tematic în sine se numește theme.xml și se află în folderul res / valori. Creați-l acolo și introduceți următoarele rânduri:

Linia 11 arată orientarea aplicației - în acest caz android: screenOrientation = "peisaj"- orizontală. Poate fi și verticală (portret).

Proprietate android: configChanges = "keyboardHidden | orientation" pe linia 10 împiedică Activitatea să înceapă din nou când se schimbă orientarea ecranului. Dacă nu îl scrieți, atunci Activitatea va fi creată de fiecare dată când opriți / porniți telefonul sau aplicația dvs. se va suprapune peste o altă aplicație.

ACTUALIZARE: Dacă doriți să înregistrați compatibilitatea cu Android 1.6+, atunci scrieți android: minSdkVersion = "4" in loc de android: minSdkVersion = "8" ... Deși motorul necesită Android 2.2+ pentru a compila jocul, jocul va fi lansat și cu succes pe 1.6+.

Bună ziua, Habrasosoobshchestvo!

În acest articol aș dori să vorbesc despre experiența mea (nu prima) a dezvoltării de jocuri pentru platforme mobile, despre istoria creării unui singur joc și despre rezultatele obținute. După cum reiese din titlul articolului, această experiență poate fi considerată un eșec, dar cum să analizăm ce va fi discutat mai jos.

fundal
Cu ceva timp în urmă, timp de doi ani, dezvoltam jocuri pentru Windows Phone. În acest timp, au fost lansate 6 jocuri, doar 2 dintre ele au fost plătite + probă și au adus doar câțiva dolari, restul au fost gratuite fără reclame. Am dezvoltat jocuri pentru această platformă, pentru că a existat XNA + C #, mi-a plăcut foarte mult acest pachet, dar apoi au existat zvonuri și apoi s-a încheiat realitatea că suportul pentru XNA. Am început să caut alte motoare, printre care cel mai mult mi-a plăcut Unity. Spun imediat că nu vreau să mă cert cu privire la oportunitatea folosirii acestuia pentru jocuri mici, totul mi se potrivește aici, chiar dacă alte motoare au un editor, C #, cross-platform etc. În acel moment, nu exista suport pentru Windows Phone în Unity, dar acest lucru nu m-a deranjat, pentru că Nu mai voiam să mă dezvolt pentru această platformă, cel puțin încă nu (așa cum a spus un prieten, de ce să călăresc pe un cal mort). Sincer vorbind, jocurile mele erau slabe, dar alegerea a fost făcută. Abonamentul dezvoltatorului Windows Phone a fost închis, a început o nouă fază de studii, tutoriale și, de fapt, dezvoltarea jocurilor.
Selectarea jocului, începe
După cum știți, nu puteți începe cu unul complicat. Din acest motiv, a fost aleasă o idee pentru jocul de încercare, pe care începusem deja să o implementez pentru Windows Phone, și anume, un puzzle în stilul Pilot Brothers (captură de ecran), dar cu mecanici ușor diferite. În jocul meu, când fac clic pe un obiect, starea nu se schimbă pentru întregul rând și întreaga coloană, ci doar pentru obiectul selectat și pentru obiectele învecinate (sus, jos, stânga, dreapta). Pentru a afișa vizual efectul de comutare, sa decis să se utilizeze direct pornirea sau aprinderea și ce poate arde? Stele! Prin urmare, numele de Stele strălucitoare a fost ales suficient de repede. Dezvoltarea a început.

Merită să spunem că nu a existat absolut niciun buget. Prin urmare, totul trebuia să se facă independent - programare, grafică, promovare etc.

Dezvoltare a
Aici practic nu au existat probleme. Funcționalitatea și mecanica sunt destul de simple, așa că am făcut baza foarte repede și ușor. A trebuit să sufăr doar cu efecte diferite sub formă de rotație, scalare, alunecare etc.

Rotire - Unitatea are metode pentru rotirea obiectelor. Dar, ca să fiu sincer, lucrează pentru mine uneori ciudat, pentru că, parțial, am scos la întâmplare și am căutat o opțiune care să mi se potrivească.

Glisarea a fost implementată în ecranul de selecție a nivelului. Doar o parte a pictogramelor cu niveluri au fost afișate pe ecran (dimensiunea piesei depinde de dimensiunea ecranului), restul sunt afișate când comutați cu butoanele „stânga” și „dreapta”.

Scalarea s-a dovedit a fi destul de simplă odată ce mi-am dat seama. Ideea de bază este că jocul ar trebui să arate bine pe toate dimensiunile ecranului. Nu sunt foarte multe lecții pe această temă pe net, mai ales a trebuit să studiez forumurile. Apropo, vreau imediat să-i sfătuiesc pe utilizatorii novici Unity să meargă la forumul lor de engleză, este foarte plin de viață, oamenii încearcă întotdeauna să ajute, spre deosebire de majoritatea forumurilor de limbă rusă cu diverse subiecte. Drept urmare, am ajuns la o opțiune în care este selectată o anumită dimensiune a ecranului ca bază, apoi se calculează coeficientul relativ la dimensiunea reală a ecranului telefonului sau tabletei. Toate obiectele jocului își schimbă scala și poziția în funcție de acest coeficient. Personal, am avut mai mult de un coeficient, pentru că diferite tipuri de obiecte de joc au trebuit să fie scalate diferit din cauza faptului că au fost percepute diferit pe diferite ecrane. Unele obiecte de pe ecrane mici ar putea fi lăsate la dimensiunea standard, altele trebuiau să fie ușor mărite față de cele din urmă.

Nivele
În chiar prima versiune a jocului, am vrut să fac 20 de niveluri. Hmm, ar fi un joc interesant. La sfaturi înțelepte, acest număr a fost extins la ~ 100 (în planuri). Desigur, nu am vrut să vin cu nivelurile și să verific dacă acestea sunt rezolvabile. Sunt programator, deci de ce să-mi bat joc de mine! După un timp, un generator a fost gata, care a produs toate combinațiile posibile de niveluri de o anumită dimensiune, apoi a verificat dacă nivelul a fost rezolvat și l-a trimis într-un fișier text. Aceasta a fost cea mai mare problemă a mea în acest joc. Dacă, cu dimensiunea terenului de joc 4 * 4, numărul nivelurilor a fost măsurat în zeci de mii, atunci pentru câmpul 5 * 5 erau deja milioane, pentru câmpul 6 * 6 ... Ei bine, veți obține idee. Da, sunt programator, pot scrie un generator, îl pot învăța să rezolve nivelurile, dar nu-l pot învăța să aleagă ce nivel este frumos și va intra în joc și care va fi eliminat. Prin urmare, toate aceste milioane de niveluri trebuiau vizualizate, selectate manual. Am încercat chiar la început, dar apoi mi-am dat seama de amploarea acțiunii (și am vrut să fac terenul de joc până la dimensiunea de 10 * 10) și mi-a fost rău.

Orice s-ar putea spune, dar a trebuit să se întoarcă la desenarea manuală a diferitelor modele. Aceste tipare au fost introduse în joc, rezolvate de mine personal pe telefonul meu (verificând în același timp rezolvabilitatea + plăcerea estetică de la rezolvarea nivelului). Nivelurile nerezolvabile au fost rafinate, cele neinteresante au fost aruncate. Și după o vreme aveam 120 de niveluri pregătite, aranjate în ordine crescătoare a mărimii și dificultății lor în limitele mărimii.

Exemplu de creare a unui nivel

Așa arată procesul de creare a unui nivel. Întregul câmp este marcat cu o grilă, celulele galbene sunt locuri unde există stele, celulele albe sunt acolo unde nu sunt. În colțul din stânga sus este codul de nivel, sub forma căruia sunt stocate și procesate în joc. În colțul din dreapta sus, numărul în verde deschis înseamnă că nivelul a fost rezolvat de mine într-un astfel de număr de pași (există încă pătrate roșii la nivelurile nerezolvate), iar semnul exclamării înseamnă că nivelul a fost selectat pentru a intra în joc.

Numărul 120 nu a fost ales întâmplător. Pe diferite dimensiuni de telefon, ecranul de selectare a nivelului poate găzdui un număr diferit de pictograme pentru nivelurile respective. Cu numărul 120, am reușit să împart icoanele în grupuri cu același număr de icoane în fiecare, ceea ce este important. Nu am vrut ca primele pagini să aibă 12 pictograme, iar ultima doar, de exemplu, 10.

Grafică
Grafica din jocul meu a trecut, după părerea mea, printr-o întreagă evoluție! Inițial, am vrut să fac jocul foarte rapid și să lansez „ceea ce este” cu cele 20 de niveluri. Și acest „acel” mi s-a părut foarte bun la început, dar după ce am primit câteva sfaturi de la alte persoane, m-am gândit mult și am început să redesenez totul. Au fost luate ca bază diverse jocuri celebre, de exemplu, Angry Birds, din care am luat ideea apariției interfeței, locația pictogramelor de nivel atunci când le-am selectat.

Vechea versiune a graficii

Meniul principal cu două opțiuni de buton. Desigur, după prima, a doua mi s-a părut minunată! Până la realizarea versiunii finale.



Fereastra de informare a jocului


Fereastra de selectare a nivelului



Pentru ca jocul să nu pară mort, a venit ideea de a face ceva în el care să dea efectul opus. Fundalul viu al jocului a devenit o astfel de idee - dacă te uiți atent, cerul înstelat din fundal nu este doar o imagine, alte stele colorate (albastru, galben și galben pal) clipesc pe el și, din când în când, chiar și o steaua căzătoare zboară! Da, acest efect nu atrage originalitatea și noutatea, dar cred că a funcționat bine și a contribuit la crearea atmosferei potrivite în joc.

Grafică finală

Meniul principal cu butoane de setări deschise (pentru a nu aglomera ecranul, acestea sunt inițial reduse la minimum și deschise făcând clic pe butonul de setări)


Fereastra de informare a jocului


Fereastra de selectare a nivelului


O fereastră cu un nivel în timpul jocului (una dintre opțiunile de fundal; există 3, selectate aleator)



S-a acordat atenție absolut tuturor. Obiectele de joc au fost îmbunătățite pentru a fi frumoase. Obiectele UI (butoane, pictograme de nivel) au fost îmbunătățite pentru a fi atât de frumoase, cât și intuitive doar prin imaginea lor. Chiar și pentru icoană, au fost dezvoltate mai multe opțiuni, dintre care cea finală a fost cu greu aleasă, iar ulterior a fost înlocuită cu alta care mi s-a părut mai potrivită. Și de câte ori am redesenat toate textele!

Icoane

Alegeri inițiale

Opțiunea finală

TexturePacker m-a ajutat foarte mult în compunerea graficelor, îl recomand cu drag! Funcțiile sale gratuite sunt suficiente pentru scopurile noastre și colectează foarte bine atlase. Am pregătit mai multe atlase - unul pentru butoane și două seturi pentru obiecte de joc (cu localizare în rusă și limbi engleze). Adevărat, în versiune veche Unitate Am avut de a tăia bucățile de care aveam nevoie folosind coordonatele UV, ceea ce este un pic ciudat. V versiune noua Unitatea poate face totul mult mai ușor cu sprites.

Sunete și muzică
Nu există probleme aici. Există multe resurse în care puteți cumpăra sunete sau puteți obține cele gratuite. pentru că Nu a existat buget, am ales mai multe sunete și melodii potrivite pe care aceste resurse vă permit să le descărcați gratuit, adică totul este absolut legal și fără furt (da, acest lucru este important pentru mine).
Ideea principală a fost crearea unui mediu calm în care jucătorul să poată gândi cu muzică liniștită în fundal. Dar chiar prima actualizare a jocului a schimbat situația - s-a adăugat muzică mai ritmată, cu posibilitatea de a selecta melodia dorită (calmă sau rapidă) în setări.
Lansare, promovare, rezultate
Rețineți că aveam să lansez jocul doar pentru Android. Am un telefon care se potrivește, dar nu am dispozitive iOS pe care aș putea testa jocul și nu vreau să îl lansez fără un test real. Același motiv a fost înregistrarea în Google Play Este o plată unică de 25 USD, iar Apple trebuie să plătească 99 USD în fiecare an. Poate voi lansa jocul și pentru iOS, dar puțin mai târziu.

Imediat după lansare, am scris despre joc pe mai multe forumuri despre Android și am început să urmăresc rezultatele, care au apărut în curând, dar problema s-a oprit practic acolo. Apoi am lansat două actualizări, fiecare dintre ele fiind postat pe forumuri (cel puțin unele, dar neplăcute). A existat, de asemenea, o variantă de evaluare încrucișată (acordați o notă mare jocului cuiva și îi cereți să acorde un rating ridicat jocului dvs.). Dar asta înseamnă să instalați o mulțime de jocuri ale altor persoane (nu întotdeauna cel puțin bune) pe telefonul dvs., o posibilă înșelăciune din partea celorlalți (la urma urmei, nu este un fapt că ei vă vor aprecia jocul în schimb), așa că a abandonat rapid această opțiune.

În acest moment, numărul de descărcări este foarte mic. Am ghicit că va exista un fel de eșec, dar atât de mult ... Acest lucru se datorează parțial faptului că am postat pe forumuri nu numai un link către Google Play, ci și eu fișier apkși, judecând după statistici, descărcările sale depășesc descărcările jocului de pe piață.

Jocul este gratuit. Ecranul publicitar a fost ales ca generare de bani. În timpul procesului de dezvoltare, am vrut să conectez mai multe module - dacă nu a fost posibil să se afișeze unul, să afișez al doilea etc. Cunoscutul Chartboost a fost conectat mai întâi, apoi am încercat să conectez RevMob și PlayHaven, dar au ieșit niște sughițuri cu ei (sincer, nu au funcționat în joc, nu am aflat motivul), prin urmare a existat doar unul modul stâng, din care trebuia să plece toate veniturile ... Dar dacă luați în considerare cele de mai sus (numărul de descărcări și dorința utilizatorilor de a da clic pe anunțuri sau de a instala jocuri publicitare), înțelegeți că nu există venituri.

concluzii
După cum se spune, un rezultat rău este, de asemenea, un rezultat. De la începutul dezvoltării pe Unity (timpul pentru Windows Phone Nu cred) au trecut vreo 14-15 luni înainte de lansare. Într-un mod amiabil, un astfel de joc este scris într-o lună de angajare cu fracțiune de normă, iar apoi acesta este cu o marjă. Motivul a fost lipsa de timp. Nu, a fost suficient timp - câteva ore seara, câteva ore în weekend au fost suficiente pentru a continua jocul fără pauze lungi. Și îmi lipsea bunăstarea morală. În această perioadă, au existat o mulțime de probleme personale, în timp ce a existat dorința de a face un joc, au existat idei, dar m-am așezat la computer, m-am uitat în gol la monitor, apoi mi-am dat seama că nu am inspirație, că nu a putut realiza absolut nimic și l-a oprit ... Și astfel anul acesta a zburat.

Să începem cu punctele negative. Chiar am petrecut mult timp în joc, dar aici circumstanțele sunt dincolo de controlul meu. Jocul a eșuat sincer, nu mi-a adus niciun venit (ei bine, câțiva dolari nu contează). Și din acest punct de vedere, este un eșec complet.

Dar există probabil momente mai pozitive. În primul rând, este o experiență! Pe acest joc, am studiat principalele caracteristici ale Unity cu o singură avertisment - jocul a fost dezvoltat pe o versiune veche, unde 2d nu era încă disponibil. Acum pot fi dezvoltate jocuri 2d cu aceasta tehnologie nouă, deoarece este posibil ca majoritatea dezvoltărilor mele din joc să nu mai fie necesare.

În acest joc, mi-am dat seama că grafica este cu adevărat importantă! Nu uitați de asta, niciodată! Dacă aș lansa jocul cu primele opțiuni de design, mi-ar fi rușine de asta. Acum am lansat un joc frumos. Da, a eșuat, dar sunt încă mândră de ea! Dacă aveți un buget, puteți angaja un designer bun. Dacă nu, atunci redesenați totul din nou și din nou până când rezultatul merită cu adevărat.

Cred că singura mare greșeală pe care am făcut-o aici a fost alegerea genului jocului. Probabil, majorității jucătorilor le plac jocurile de acțiune, arcadele, poate altceva, dar nu prea le place acest tip de puzzle. Oamenii văd jocul meu, unora s-ar putea să nu le placă grafica, iar alții îl întrerup din cauza genului. Și vorbind despre următorul joc pe care l-aș dezvolta, aș schimba doar genul, orice altceva ar fi la fel!

Etichete: Adăugați etichete

Dezvoltare a aplicatii mobile Este unul dintre cele mai profitabile segmente din industria calculatoarelor. Costă câteva sute sau mii de dolari pentru a construi o aplicație, dar profitul poate ajunge la milioane. În acest sens, mulți sunt interesați de modul de creare a unui joc pentru un telefon sau tabletă Android. Acest lucru este în puterea voastră (cu cunoașterea și aspirația adecvată). Trebuie doar să dezvolți un concept, să înveți un limbaj de programare, să configurezi un mediu de dezvoltare și apoi să începi să creezi.

Dezvoltarea ideii

În primul rând, trebuie să vă dați seama ce veți crea. Dacă acesta este un fel de aplicație, atunci ar trebui să decideți împreună cu publicul ce oportunități va oferi utilizatorului. Poate fi o aplicație informațională sau un program care oferă astfel de informații funcții suplimentare ca un player video sau audio.

Realizarea unui joc este un pic dificil, deoarece magazinul de aplicații este plin de o varietate de jocuri de toate genurile. Este dificil să creezi ceva cu adevărat unic și captivant, dar fără să încerci, nu vei ști niciodată. Pentru început, puteți crea o idee pe hârtie. Treceți prin toate detaliile, evidențiați caracteristici cheie, încercați să creați un joc simplu și ușor de înțeles care să-l intereseze pe utilizator.

Cercetarea potențialilor concurenți este un pas util. Răsfoiți magazinul Aplicații Google Joacă și găsește jocuri similare. Încercați să înțelegeți de ce acest joc este atât de popular și ce poate fi îmbunătățit în el. Pe baza acestor observații, vă puteți crea propriul proiect. Dar, în orice caz, nu copiați elemente de interfață sau altceva. Originalitatea și unicitatea joacă un rol important, influențând în același timp prima impresie a utilizatorului.

Model de obiect și crearea BOM

Înainte de a începe programarea, trebuie să rezolvați o anumită listă de probleme. Include:

  • Model de obiect.
  • Specificații funcționale.
  • Interfață și conținut.

Modelul obiect este descriere detaliata fiecare obiect din joc. Acesta poate fi direct jucătorul însuși, orice obiecte (arme, armuri și așa mai departe), proprietăți unice, obiecte ale lumii înconjurătoare.

Specificațiile funcționale sunt tot ceea ce descrie modul în care va funcționa jocul. Acestea sunt acțiunile posibile ale jucătorului și ale personajelor care nu pot fi jucate (NPC-uri), cât de multă pagubă are arma sau modul în care armura este consumată. Dezvoltatorul trebuie să elaboreze funcțiile fiecărui obiect din joc, acest lucru se aplică și tuturor tipurilor de Provizii(truse de prim ajutor, cartușe).

Interfața este o componentă extrem de importantă, deoarece utilizatorul va lua legătura cu aceasta. Este necesar să se dezvolte ce ferestre vor fi în joc (încărcarea ferestrei, meniuri, setări, jocul în sine), precum și să se prevadă schema de tranziție de la o fereastră direct la alta.

Aspectul tastelor se aplică și interfeței. Ecrane tactile telefoanele, de regulă, au o diagonală de până la 5 inci, deci este important să compactați, dar în același timp, este convenabil să plasați toate butoanele de control.


Conținutul este umplerea textuală a jocului. Acestea sunt elemente de meniu, text de setări, dialoguri de caractere, descrieri ale oricăror elemente și multe altele. Totul depinde de imaginația dezvoltatorului. Puteți crea un joc interesant cu un conținut minim de text.

Aici aveți două căi: începeți complet dezvoltarea de la zero folosind programarea pură sau utilizați un constructor special. Vă permite să utilizați elemente gata făcute, în timp ce are o interfață simplă, datorită căreia, chiar și fără abilități avansate de programare, puteți crea un joc.

Dacă l-ați ales pe primul, înainte de a crea un joc pentru Android, trebuie să instalați driverele pentru smartphone pe computer și apoi să instalați mediul de dezvoltare. Pentru a crea programe pentru sistemul de operare Android, Android Studio... Acest mediu de dezvoltare este creat de Google, oferind în același timp oportunități ample pentru a crea aplicații și jocuri pentru orice gust.


Programarea are loc în limbajul Java. Este una dintre cele mai populare limbi. Fără un nivel de intrare, nu veți putea lucra în Android Studio. Este puternic tastat și mult mai ușor de învățat decât C sau C ++. Ar trebui să găsiți mai multe cărți despre Java și apoi să învățați treptat toate caracteristicile acestui limbaj de programare. În paralel, asigurați-vă că efectuați diverse sarcini practice pentru a solidifica teoria. Aceasta este o cale dificilă, dar oferă oportunitatea maximă în implementarea proiectului dumneavoastră. Jocurile online pot fi create și cu Android Studio.


Dacă nu te pricepi la programare, încearcă să folosești aplicația de creare a aplicațiilor. Dezvoltarea jocurilor folosind un constructor se reduce la crearea de niveluri, personaje și alte elemente folosind un editor special. Mulți constructori se bazează pe principiul WYSIWYG - ceea ce vedeți este ceea ce obțineți. Utilizatorul poate proiecta niveluri, caractere și alte elemente afișându-le în editor specialși modificarea setărilor / proprietăților. Este mult mai ușor decât programarea unui joc de la zero.

Cu toate acestea, posibilitățile jocului vor fi limitate de funcționalitatea constructorului în sine, deci ar trebui să abordați cu atenție alegerea. Există mai multe opțiuni pentru constructori gratuiți și cu plată pe Internet.

Construct 2 ocupă primul loc în popularitate. Există o versiune inițială gratuită, care are o gamă largă de funcționalități pentru a crea jocuri de orice gen. Programul vă permite să dezvoltați un joc nu numai pentru sala de operație Sistem Android dar și pentru iOS și chiar pentru browser (se folosește HTML5). Chiar și începătorii pot stăpâni cu ușurință programul. Dacă funcționalitatea nu este suficientă pentru dvs., puteți achiziționa versiunea completa pentru 129 USD.


Unul dintre cele mai populare este Clickteam Fusion. Este diferit interfață simplă, capacitatea de a crea gratuit aplicații de browser, diverse jocuri online, acceptă accelerarea hardware, funcționează cu diverse platforme (inclusiv Android).

Programul are o interfață vizuală depășită, care are doar 8 ferestre. Dar datorită acestui fapt, utilizabilitatea este crescută. În acest program, puteți crea aproape orice joc 2D: puzzle-uri, jocuri de cărți, misiuni și multe altele. Puteți cumpăra versiunea completă la doar 100 USD.


Ușor de învățat este constructorul Game Maker. Cu acesta, puteți crea un proiect pentru iOS, Android, Mac, XBox și chiar PS3. Inițial, programul a fost dezvoltat ca o aplicație educațională pentru copii, deci nu ar trebui să aveți probleme cu stăpânirea. Ca tutorial, există procesul de creare a unui joc Pacman.

Un alt avantaj incontestabil al Game Maker este abilitatea de a modifica funcțiile standard. Puteți săpați codul și, de asemenea, să scrieți fiecare acțiune. GML (GameMaker Language) are multe metode puternice, precum și o sintaxă ușor de înțeles. Din păcate, constructorul are câteva dezavantaje, în special complexitatea depanării, precum și comportamentul instabil al aplicației pe diferite platforme.

Cum se creează un joc pentru Android?











Realizarea unui joc pentru oricine sistem de operareîși asumă cunoștințe de programare. Chiar și cele mai simple jocuri precum Flappy Bird trebuie să cunoască elementele de bază. Să vedem cum este creat un joc folosind sistemul de operare Android ca exemplu.

Motor

Primul pas în scrierea unui joc este instalarea motorului. Există multe motoare pe web scrise în diferite limbaje de programare. Desigur, motoarele plătite au mai multe caracteristici, sunt mai stabile și deschid mai multe posibilități. Cu toate acestea, costul lor poate fi foarte mare. Prin urmare, vom lua ca exemplu motorul LibGDX gratuit.

Acest motor are capacități destul de mari și are instrucțiuni de utilizare în limba rusă. Motorul este multiplatform și, prin urmare, jocul care va fi scris pe acesta poate fi instalat pe alte platforme.

Mediu de programare

Este, de asemenea, foarte punct important este utilizarea unui mediu de programare. Acest termen înseamnă un instrument în care va fi scris jocul. În cazul motorului LibGDX, mediul de programare va fi Exlipce. Deoarece motorul de joc a fost scris în limbajul de programare Java, pentru a utiliza mediul de programare, va trebui să utilizați abilitățile și cunoștințele de bază de programare în acest limbaj special. Prin urmare, dacă nu cunoașteți elementele de bază, va trebui să le învățați.

Crearea proiectului

Pentru a scrie un joc pentru Android, ca orice altă platformă, trebuie mai întâi să creați un proiect. Nu este greu de făcut. În cazul LibGDX, este suficient să despachetați motorul într-un folder și să găsiți fișierul cu același nume în el. Apoi, trebuie să faceți clic pe butonul „Creați un proiect” și veți fi deja în etapa de creare a unui proiect. Apoi, trebuie doar să selectați o platformă pentru joc și să indicați numele proiectului. În configurație, trebuie să specificați unde va fi plasat jocul în mediul de programare. Motorul va crea proiectul în sine și vă va spune dacă ați făcut ceva greșit. Apoi puteți merge la mediul de programare și puteți începe să scrieți un joc.

După cum puteți vedea, crearea unui joc pentru Android și orice alt sistem de operare este pur și simplu imposibilă fără cunoașterea elementelor de bază ale limbajelor de programare. Cu toate acestea, acum motoarele devin mai bune și mai convenabile chiar și pentru cei care abia își încep drumul în această afacere. Game Maker este, de asemenea, un exemplu de astfel de motor. Puteți citi despre acest motor și despre crearea unui joc pe acesta în articol.