Google Android, játékfejlesztői szemmel

Google Android

Hát kicsivel több mint egy hét csúszással, de csak összeszedném a Google mobil platformjával, az Androiddal kapcsolatos gondolataim. Miért lehet jó pl a játékfejlesztőknek, ha így egymás nyakába borulnak a résztvevő cégek? Mert hiába az egységes szabvány, minden egyes mobil gyártónak sikerül a saját Java implementációjába saját bug-okat csempészni. Az Android szabad forráskódja lehetővé teheti, hogy az ilyen bugok hamarabb kijavításra kerüljenek, vagy legalább minden készülékben egyformán jelentkezzenek. :) A jelenlegi mobil Java (J2ME) játékok esetében számtalan készülékverziót kell készíteni az opcionális és készülékgyártó specifikus kiegészítések miatt. Ebben nem látok nagy előre lépést az Android esetében, hiszen egyrészt a MIDP 2.0 hanem is mindent, de már egy rakás hasznos funkciót egységesített, másrészt az Android esetében is maradtak opcionális funkciók: a 3D megjelenítésért felelős OpenGL API és pl. a játékok hangeffektjeiért, háttérzenéjéért felelős Média API… Maga az OpengGL API már ismerős, a hivatalos mikró Java megoldást vette át a Google is. Én egyelőre azért még nem mernék rá építeni, hiszen mint említettem, a csomag opcionális és ha már benne is lesz az első telefonokban (szinte biztos, még hardware gyorsítás nélkül), ki tudja milyen minőségben. És akkor nagyon fog hiányozni az old skool játékfejlesztőknek, demoscener programozóknak a MIDP 2.0-ban bevezetett javax.microedition.lcdui.game 2D grafikai funkció gyűjtemény. Nem azért mert nekem is módom volt inputot adni hozzá, mert a leghasznosabb Gameboy feature-öket igyekeztem én is beleoltatni, de egy egész jópofa és hasznos dolog kerekedett ki belőle. Sajnos a hivatalos dokumentációban semmi nyoma, hogy ezt átvenné az Android, bár állítólag egyes részei azért már ott vannak a hasában.

Hogy külön cégek, fejlesztők szakosodnak kifejezetten a mobilos játékok egyik készülékről a másikra való portolására, annak további oka a sok eltérő képernyő felbontás / kép arány és a minimum gyártónként eltérő billentyűzet kiosztás. Ebben sem fog segíteni az Android, de aki ezt várta tőle, az valószínűleg rózsaszín ködben él. Nem célja a Google-nek egy egységes mobiltelefon platform specifikálása, a fókusz egy általános, moduláris és eddig nem látott módon bővíthető, konfigurálható keretrendszer. Közben több funkciójában is inkább már a standard (asztali) Java-ra üt az Android, de ugyanakkor a J2ME-nél megszokott, embedded alkalmazások fejlesztésére általánosan igaz módszerek alkalmazására hívja fel a dokumentáció a figyelmünk, aminek eredménye: megint nem nyerünk szépségversenyt forráskódunkkal, mert sok konvenciót és ajánlást kényszerülünk felrúgni. Ezért aztán az Android inkább csak egy újragondolása a mikró Java-nak, azzal a hatalmas plusszal, hogy szépen kidolgozták a különböző alkalmazások együtt és egymás mellett működésének a lehetőségét. Persze tűkön ülve várom az első készülékeket, mi lesz az elméletből, mennyire hozzák a papírformát…
Apróapó! Az megvolt, hogy?

  • A default emulátor tiszta Palm Centrino? Miközben a Palm nincs is a fedélzeten…
  • Ha a kód mellé grafikát, előre legenerált más tartalmat akarsz tenni, akkor nem tudsz név szerint hivatkozni rá. Egy adott könyvtárba kell őket helyezni és sorszám szerint hivatkozni rájuk… bah, 15 évesen csináltam ilyet utoljára amikor az első intróinkhoz logót linkeltünk.
  • Ami az asztali Java-ból jön (J2SE) az sem teljesen kompatibilis önmagával. Pl. a DOM-os, be nem állított változókat megpróbálva elérni nem null -ot kapunk eredményül, hanem üres stringet… Van aki itt még velem tart? :)
  • Ha Java nyelven is lehet írni Android alkalmazásokat, azok nem egy Java virtuális gépben futnak, hanem a Google saját motorján, amihez a fejlesztői környezet átforgatja a Java byte kódot. Ettől lehet majd gyorsabb?

0 Responses to “Google Android, játékfejlesztői szemmel”


  1. No Comments

Leave a Reply