Numarul 16 - Today Software Magazine

Page 44

programare Dezvoltarea de jocuri cross-platform Pentru alte aspecte însă, copierea nu este la fel de eficientă și în acele situații a trebuit să adaptăm jocul. Am făcut butoanele mai mari, pentru că utilizatorii interacționează cu jocul folosind degetele și nu mouse-ul, care este mult mai precis și fin. Am eliminat pe cât posibil textele pe care utilizatorii de telefoane nu sunt obișnuiți să le citească; aceștia se ghidează mai mult după icoane, animații sau feedback vizual contextual. Am adaptat jocul astfel încât să răspundă la diverse întreruperi: recepţionarea de apeluri, mesaje, apăsarea butonului de home (pe iOS) sau back (pe Android) etc. Toate aceste elemente nu există pe Facebook. Până acum, am abordat aspectele oarecum evidente în procesul de portare a unui joc de pe Facebook pe mobile, pentru că acestea țin de interacțiuni vizibile sau de interfață. Însă foarte mult timp este investit în aspectele care nu sunt imediat aparente. Jocul de Facebook rulează pe un calculator foarte puternic. Asta înseamnă că jocul de Facebook are acces la o putere de procesare virtual nelimitată. În schimb, este limitat de viteza rețelei și a conexiunii la Internet. Utilizatorul nu doreşte să fie ţinut prea mult în fața unui ecran de loading și atunci apare problema limitării cantităţii de date care poate fi trimisă pe rețea, fără ca utilizatorul să aștepte prea mult. Toate aceste limitări sunt cel puțin de două ori mai mari pe mobile. În primul rând, procesoarele ARM cu care sunt echipate telefoanele mobile, în general, sunt mult mai slabe decât un procesor Intel care se găsește de obicei pe PC sau Mac. În al doilea rând, memoria RAM pe telefoane este de 4 - 6 ori mai mică decât pe PC. În același timp, telefoanele au cerințe speciale de consum al energiei. De exemplu, dacă jocul nu este activ, atunci nu trebuie să consume, pe cât posibil, resurse. Fiind un joc casual-social, ne doream ca acesta să fie descărcat atât prin rețea WIFI, cât și prin 3G. Pentru a fi eligibilă pentru descărcare prin rețea 3G, aplicația trebuia să aibă sub 50 MB. Aceasta este o altă limitare pe care jocul de pe Facebook nu o are. Ce au însemnat pentru noi toate aceste limitări? În primul rând, a trebuit să găsim metode mai bune de împachetare și de compresie a datelor. Când vorbim despre compresie, vorbim tot timpul despre un compromis care se face între memoria ocupată și ciclurile de procesor consumate pentru decompresie. A trebuit să ne gândim foarte atent la aceste compromisuri, deoarece nici cea de a doua resursă (procesorul) nu ne oferea foarte multe. Compromisurile sunt și mai importante când este vorba

44

despre lansarea unui joc universal pe App Store, adică un singur pachet/ aplicație care rulează pe toate modelele de iPhone, iPod sau iPad. Acest lucru înseamnă că, în anumite cazuri, în același pachet o să existe aceeași resursă (imagine, sunet, text) multiplicată pentru fiecare device. În alte cazuri, soluţia a constat în găsirea unor hack-uri istețe prin care reușeam să refolosim aceeași resursă pe toate device-urile. Deși poate părea excelentă, soluția rămâne totuși un compromis, pentru că la fiecare modificare a unei resurse comune trebuia să ne asigurăm că jocul se comporta consistent pe toate device-urile. Acest lucru se traduce printr-un timp de QA crescut. Până acum am vorbit despre jocul pe mobile versus jocul pe Facebook. Dar mobile nu este o platformă mare, unitară și uniformă. Din contră! Este o platformă mare, neunitară, neuniformă și fragmentată. Am început să portăm Bubble Witch Saga pe iOS (iPhone, iPod, iPad) în ianuarie 2012 și l-am lansat (doar în câteva țări pentru început) în luna mai a aceluiași an. Apoi, ne-am concentrat pe versiunea de Android, care a plecat de la aceeași bază de cod și a fost lansată aproximativ cinci luni mai târziu. O echipă împărțită în două - o parte (trei programatori) concentrată în continuare pe lansarea versiuni de iOS și ulterior a update-urilor, iar cealaltă parte (tot trei programatori) concentrată pe versiunea de Android. În total, a durat aproximativ 10 luni să lansăm un joc pe toate platformele mari (iOS, Android). Cel mai important factor, care conduce la mărirea timpului de dezvoltare, este reprezentat de fragmentarea platformelor. Deși jocul rula atât pe iOS, cât și pe Android încă din ianuarie (pentru că aproximativ 90% din totalul codului era comun), ne-au mai trebuit încă cinci luni ca să lansăm un joc “polished” pentru Android. Am vrut ca jocul să fie compatibil cu cât mai multe modele de telefoane și ne-am confruntat cu tot felul de diferențe subtile între aceste modele, între versiunile de sistem de operare și între rezoluțiile telefoanelor, uneori foarte atipice. Pentru că o mare parte din grafică era deja realizată pentru varianta de Facebook, am avut un singur grafician în echipă care s-a ocupat de elementele noi specifice

nr. 16/Octombrie, 2013 | www.todaysoftmag.ro

Echipa King România

versiunii de mobile și de adaptarea graficii existente. Din punct de vedere al QA-ului, proiectul rămâne unul foarte dificil. Are câteva sute de niveluri, avea peste zece charm-uri permanente care influențau și modificau jocul (în varianta curentă s-a renunțat la acestea în favoarea wish-urilor), o serie de elemente speciale in-game (Doom Skull Bubble, Infected Bubble, Bomb Bubble etc) și booster-e temporare. Multitudinea de elemente creează foarte multe situații posibile care trebuie testate. Pentru acest proiect am avut șase analiști care testau jocul în cele mai mici detalii. Un ciclu de testare tipic, spre finalul proiectului, dura între trei și șapte zile, în funcție de ce se testa. Ciclul de testare pre-release era mai lung, pentru că se testau elemente adiționale specifice lansării. Asigurarea calității este foarte importantă pentru noi, pentru că după trimiterea versiunii de joc la Apple, durează în medie două săptămâni până ca aceasta să fie aprobată și lansată pe store. Dacă detectăm vreo greşeală după lansare, trebuie să o luăm de la început şi s-ar pierde nepermis de mult timp! De aceea, ne concentrăm foarte mult pe QA și încercăm să fim cât mai proactivi când vine vorba de calitatea produsului. Multă muncă, foarte multă atenție și concentrare la detaliile care contează, o mică armată de oameni implicați direct în dezvoltarea produsului și o altă mică armată implicată în activități adiacente produsului (marketing, finance, accounting etc) și la final un scor de cinci stele ne face pe toți să decretăm: “da, e distractiv să faci jocuri!”

Cristian Bidea Lead developer @ King


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.