În Studii de caz

Spot the Number: provocări și soluții în dezvoltarea jocului

jocul Spot the number

Spot the Number este un joc cu caracter social, disponibil momentan doar pentru Android. Acesta a fost creat de către o echipă alcătuită din 3 timișoreni, prezentă la ediția din februarie a întâlnirilor TiMo. Totul a pornit de la o premisă simplă, aceea de a aduce o modalitate ușoară și plăcută de petrecere a timpului, îndeajuns de interesantă încât să creeze dependență și să atragă constant jucători noi. Despre provocările întâmpinate în procesul de dezvoltare și de promovare, precum și despre soluțiile găsite, puteți citi mai jos.

Jocul Spot the Number, așa cum îi spune și numele, este un joc multi-player “de găsit numere”, din categoria Brain Games: jucătorii trebuie să identifice cât mai rapid un set de numere amestecate printre multe altele afișate pe planșa de joc. Valoarea fiecărui număr găsit este înmulțită cu bonusul pentru timp (acesta pornește de la 5 puncte și decrește pe măsură ce se termină timpul de joacă) și culoare (numele de culoare portocalie sunt cele mai valoroase), iar cei care găsesc cât mai repede numerele de pe ecran obțin scor cât mai mare. Toți jucătorii joacă pe aceeași planșă în același timp, iar la final se afișează clasamentul într-un top mondial.

Fiind un joc făcut mai ales din dorința de a experimenta, un aspect foarte important pentru membrii echipei a fost acela de a găsi factorul viral, care să ajute jocul să se promoveze singur.

Echipa

Echipa care a dezvoltat acest joc este alcătuită din 3 membri:

  • Adrian Păsărică – concept, programare client business logic și animații
  • Oana Bratu – grafică
  • Mircea Rilă – programare server, rețea, securitate

Procesul de dezvoltare – provocări și soluții

1. Tehnologiile folosite:

  • Engine cross-platform: Cocos2D-X (Business logic: C++)
  • IDE: Visual Studio 2010, Eclipse, XCode
  • Device specific SDK: Android SDK, Kindle Fire SDK, iOS SDK
  • Server back-end: Java on Google App Engine
  • Database: BigTable on Google App Engine
  • SDK adiționale: Facebook, Google Analytics, alte SDK pentru advertising (AdMob, Millennial Media etc)

Prima provocare a constat în faptul că modulul de rețea din Cocos2d-X nu corespundea cerințelor:

  • fără suport SSL – librăriile LibCUrl au trebuit reconfigurate/recompilate pe toate platformele
  • fără suport de timeout la name resolution (DNS resolve); în caz de conexiune instabilă, engine-ul se bloca, așteptând rezolvarea numelui
  • fără suport de abandon al cererilor în curs

Drept urmare, cea mai bună soluție găsită a fost aceea de a rescrie complet modulul de rețea.

2. Optimizarea bazei de date

Google App Engine taxează inclusiv citirile și scrierile din baza de date, astfel că optimizarea structurii a devenit esențială. De la începutul design-ului și până în faza actuală, costurile legate de database au fost reduse cu un factor de până la 100x, prin folosirea MemCache și a design-ului entităților. A trebuit “reînvățat” conceptul de optimizare a unei baze de date, deoarece BigTable este diferit major față de bazele de date tradiționale SQL.

3. Securitatea

SSL și HMAC sunt tehnologii de securitate absolut necesare pentru un joc client/server, pentru a evita, pe cât posibil, atacurile și abuzurile, cum ar fi, de exemplu, scorurile exagerate.

4. Suportul pentru multiple rezoluții și dispozitive

Toate texturile sunt prezente în 3 dimensiuni (mică, medie și mare), corespunzătoare rezoluțiilor de pe tablete/telefoane mobile.

5. Timpul de dezvoltare

Dat fiind că membrii echipei sunt angajați în diverse firme multinaționale, timpul de dezvoltare a fost limitat la 2-3 ore/zi. În total, aceștia au lucrat timp de 4 luni (inclusiv weekend-urile), timpul estimat de lucru fiind de aproximativ 1500 de ore. În final, au rezultat 18,000 linii de cod C++ și 3500 linii de cod Java.

Lansare și promovare

Jocul a fost lansat în 20 ianuarie 2013 pe Google Play (poate fi descărcat de aici), iar pe Amazon Appstore, cu o săptămână mai târziu. După aproape 2 luni, jocul a atins pragul de 30,000 descărcări, având în jur de 1000 de utilizatori unici pe zi și o medie de 10:44 minute/utilizator.

În ceea ce privește promovarea, Facebook a fost un canal eficient, mai ales că este vorba despre un joc cu caracter social. Rezultatele campaniei desfășurate pe Facebook au fost bune, aducând jocul în Google Play Trending apps, fapt care a generat un număr mare de descărcări.

Lansarea pentru iOS a fost amânată până la finalizarea altor feature-uri ale jocului, astfel încât să fie lansate concomitent noile versiuni pe toate cele trei platforme – Google Play, App Store și Amazon Appstore.

Planuri de viitor

Următoarea versiune va aduce noi elemente în joc, printre care și faptul că utilizatorii vor avea un drum de parcurs, din dorința de a-l face mai captivant și, totodată, pentru a crește timpul mediu petrecut în joc.

 Screenshot-uri din joc: