A mobil játékfejlesztés elméleti és gyakorlati momentumai IV. Gyires Béla Informatikai Napok Debrecen 2005 Bátfai Norbert
[email protected] Debreceni Egyetem Informatikai Kar, Alkalmazott Matematika és Valószínűségszámítás Tanszék EUROSMOBIL Játék- és Alkalmazásfejlesztő Bt.
Mottóink valának „S mivel a játékok szocializációs funkciója alapvető jelentőségű, meglehet, hogy éppen az információs ipar játéktermékei adják meg a döntő, visszavonhatatlan lökést a homo informaticus evolúciójához.” Mérő László: Az élő pénz. Tericum 2004. 125. o. teteje. 60. 000 éve – Homo sapiens sapiens, a modern ember 40. 000 éve – Homo sapiens perfekt, a tökéletes ember „20.000 éve megjelent a Homo sapiens virtualis. Ennek az új fajnak az egyedeit MMG RPG RTS hibrid játékok toplistáinak elejéről azonosították i.e. 19984-ben perfekt hackerek.” Bátfai Norbert: Atla Mobilis története. http://www.atlamobilis.hu „Elektronikus játékokkal piacvezetők lehetnénk? Társadalmi vita arról, kitörési pont-e az információs technológia „ http://www.nkth.gov.hu/main.php?folderID=774&articleID=4066&ctag=articlelist&iid=1
A tanszékről, http://www.inf.unideb.hu/valseg Hogyan oldja meg a felmerülő számítási feladatokat? • Programcsomagokkal, Matlab, SPSS, SAS, R • Tetszőleges környezetben Java programozással • Unix környezetben C programozással
Az EUROSMOBIL-ról, http://www.eurosmobil.hu Az EUROSMOBIL (Eurosz = keleti szél) 2003-ban alakult családi cég formájában. A tagok egyike nyerte 1998-ban a Java Szövetség Java Programozási Bajnokságát. Az EUROSMOBIL Szenvedély nevű játékával 2003-ban második helyezést ért el a Motorola Mobil JavaJáték Versenyén. Ma számos újszerű játékával jelen van a magyar mobil játékpiacon. 2004-ben a Sun és a Nokia Mobil Java Fejlesztői Versenyén a Ha hívsz, támadok! (H.A.H) játéksorozattal első díjat nyert.
EUROSMOBIL Játék- és Alkalmazásfejlesztő Bt. Dolgozók: 2 fő, Bátfai Erika és Norbert Munkaállomások: PC-k, Sun W1100z Szerver: Sun Fire V250 Mobil eszközök: Motorola, Nokia Series 40, 60, SonyEricsson.
Amit szeretnénk bemutatni • • • •
A fejlesztés fogalmi keretei Mobil Java játék ipar Java2/J2ME Jávácska játékok (velük a fejlesztés eszközeinek bemutatására) • Kis kitekintés • Mobil Java játékok
Amit nem • Tesztelés • Értékesítés
A fejlesztés fogalmi keretei A momentumok: • Az élmény • Az élmény kódolása • A játék portolása
Forrás
Kódoló
Csatorna
Dekódoló
Élmény
Fejlesztés
Játék program
Játszás
Cél Élmény
Kolmogorov bonyolultság K ( x) min T y : x U (T , y )
• Melyik játék jó? • Melyik jobb? • Melyik a legjobb?
T egy Turing gép, y az inputja, U az univerzáli s Turing gép K ( x ) K ( x' ) c K ( y) f x
K ( x) K ( x ' ) K ( y) K ( x ' )
K ( x' ) j y
c K ( x' ) Forrás
Kódoló
Élmény
Fejlesztés
x
y=U(f,x)
Csatorna
Dekódoló
Játék program
Játszás
Élmény
y
x’=U(j,y)
x’
Cél
Mobil Java játék ipar Néhány adat • 579 millió Java képes mobil (*Sun) • Havonta 10 millió mobil Java alkalmazás letöltés (Nokia becslés**) • 1 millió letöltött fejlesztői csomag (Nokia**)
* John Loiacono: Sun’s Software Advantage. http://www.sun.com/aboutsun/media/analyst/sas2005 ** Vesa-Pekka Kirsi: Make Business With Mobile Games. Nokia Mobile Internet Conference 2003.
A J2ME elhelyezése a Java 2 platformon J2EE
J2SE
J2ME
Java nyelv Java Virtuális gép (CA FE BA BE) Ábraötlet: [6]
Java 2 Micro Edition (J2ME) J2ME
Profil Konfiguráció Java nyelv Java Virtuális gép
CLDC/MIDP (Connected
Limited Device Configuration, Mobile Information Device Profil)
Ábraötlet: [8]
J2SE
CDC CLDC
J2ME
MIDP 1.0, 2.0 CDC
CLDC 1.0, 1.1 Java nyelv
KVM, CLDC Hotspot VM
Java™ Technology for the Wireless Industry (JTWI, JSR 185) MIDlet csomag MIDP 2.0
JSR 120 WMA JSR 135 MMA
Továbbiak Bluetooth for J2ME (JSR 82)
CLDC 1.0 (JSR 30) ,1.1 (JSR 139) Java nyelv Java Virtuális gép JSR: Java Specification Request
OEM
CLDC 1.0 API • • • •
java.io (része a J2SE-nek) java.lang (része a J2SE-nek) java.util (része a J2SE-nek) Hálózatkezelés (javax.microedition.io)
MIDP 1.0 API • • • •
Életciklus (javax.microedition.midlet) Felhasználói felület (javax.microedition.lcdui) Perzisztens tárolás (javax.microedition.rms) Hálózatkezelés (javax.microedition.io)
MIDP 2.0 (JSR 118 ) • RGB képek • Game API (javax.microedition.lcdui.game) – GameCanvas (full screen lehetőség) – Layer-ek, sprite-ok! (transzformációkkal és ütközés detektálással) • Media API (javax.microedition.media )
• UI – Háttérvilágítás, vibrálás – Formok
• Biztonság • Hálózatkezelés
A MIDlet csomag • jad
text/vnd.sun.j2me.app-descriptor
MIDlet-Jar-URL: http://javacska.lib.unideb.hu/dk/DelKeresztje-MOTO-V525.jar
application/java-archive
• jar
Életciklus (Bejövő hívás, SMS)
startApp() Felfüggesztett
Aktív pauseApp()
Leállított destroyApp()
Jávácska platform
Ezen egy további absztrakció a MIDlet fölött:
javax.microedition .midlet.MIDlet
javacska.Lanc
saját Osztályunk
A fejlesztés eszközeit a következő néhány lapon egy Jávácska programmal mutatjuk be.
Jávácska mobil láncok és gyöngyök A Jávácska platform terminológiájában a mobiltelefonos Java program egy lánc, amire a program képernyőit, mint egyfajta gyöngyöket fűzzük fel. Minden gyöngy meg tudja mondani magáról, hogy ő ki után következik és, hogy ő utána ki következik. Íme egy egyszerű eset:
Medalion lánc – azaz családi képeket fűzzünk fel! A Jávácska API megmondja, hogy képeket a VaszonGyongy gyöngyre tudunk rajzolni, ezért saját gyöngyeinket ebből az osztályból származtatjuk, ez lesz a KepGyongy saját osztályunk (letölthető a vortálról) .
START STOP
Hogyan kezdjünk? A fejlesztéshez a J2SE Development Kit (JDK)-ra lesz szükségünk: http://java.sun.com/j2se/1.5.0/download.jsp Továbbá a J2ME Wireless Toolkit 2.2-re: http://java.sun.com/products/j2mewtoolkit/download-2_2.html A Jávácska vortál J2ME foglalkozások szakköri lapján: http://javacska.lib.unideb.hu//seged/#j2me az alábbiakat nézzük meg: • A Sun J2ME Wireless Toolkit használata • A javacska csomag • A Kepek program
Programozás – a lánc
Tesztelés
Kis kitérő: LEGO® Mindstorms™ robotok
http://mindstorms.lego.com
Kis kitérő: LEGO® Mindstorms™ robotok Java programozása, http://www.lejos.org A Jávácska vortál robotos foglalkozások szakköri lapja: http://javacska.lib.unideb.hu/seged/#jrobot
Kis kitérő: full screen Java (Nem ugyanaz, mint a Hangyársadalom: Biológia stratégiai játékok [7, 84. o.])
HangyaTársadalmak: MMO RTS hibrid http://javacska.lib.unideb.hu/hangyatars
Mobil Java játékok típusai Kiemelve: • „Egyszerű”* letölthető mobil Java játékok MIDP 1.0, 2.0 • Hálózati játékok • Bluetooth® játékok (JSR 82: JavaTM APIs for Bluetooth: http://www.jcp.org/en/jsr/detail?id=82 )
http://www.eurosmobil.hu/jatekaink.html
EM házi besorolás: utalás az élményre!
*: nem hálózati és nem Bluetooth
Mobil Java játékok típusai
Az élmény?
Kapitális sorozat
Karafónia sorozat
Ezek az említett EUROSMOBIL Játékok a kereskedelmi forgalomban megtalálhatóak, lásd [5]
Mobil Java játékok típusai
Az élmény?
Magyar csaták sorozat
Detektív sorozat
Ezek az említett EUROSMOBIL Játékok a kereskedelmi forgalomban megtalálhatóak, lásd [5]
Ha hívsz, támadok!
A játék I. helyezést ért el a Sun és Nokia Mobil Java Fejlesztői Versenyén: http://hu.sun.com/javaverseny
Ha hívsz, támadok!
Bluetooth® Java (JSR 82) mobil játékok • Kék parti • Atla Mobilis
http://www.eurosmobil.hu/pdf/EM_PartyBlue_0_1_0.pdf
http://www.atlamobilis.hu
SvOutPlaceObject
SvOutPlaceObject
Összefoglalás • • • •
A fejlesztés fogalmi keretei Mobil Java játék ipar Java2/J2ME Jávácska játékok (velük a fejlesztés eszközeinek bemutatására) • Kis kitekintés • Mobil Java játékok
Linkajánló http://javacska.lib.unideb.hu
http://www.javacska.hu
http://www.eurosmobil.hu
http://www.inf.unideb.hu/valseg
Kérdések és válaszok
IV. Gyires Béla Informatikai Napok Debrecen 2005 Bátfai Norbert
[email protected] Debreceni Egyetem Informatikai Kar, Alkalmazott Matematika és Valószínűségszámítás Tanszék EUROSMOBIL Játék- és Alkalmazásfejlesztő Bt.
Felhasznált és ajánlott irodalom • • • • • • • • • • • • • • • • • • • •
[0] Bátfai Erika, Bátfai Norbert: A mobiljáték fejlesztés elméleti és gyakorlati momentumai (kézirat). [1] EUROSMOBIL Játék- és Alkalmazásfejlesztő Bt.: http://www.eurosmobil.hu [2] Gyermek-Robot Barátság: http://www.javacska.hu Verzió: 0.1.1 [3] Jávácska vortál: http://javacska.lib.unideb.hu 2005. V. 4. [4] Atla Mobilis: http://www.atlamobilis.hu [5] t-zones: http://www.t-zones.hu [6] Java Technology: http://java.sun.com [7] Bátfai Mária Erika, Bátfai Norbert: Fantasztikus programozás I. Debrecen, DEENK, 2004. [8] Vartan Piroumian: Wireless J2ME Platform Programming. The Sun Microsystems Press. 2002. [9]Tommi Pelkonen: Mobile Games. ACTeN report, http://www.acten.net Mobility: http://wireless.java.sun.com Java 2 Platform, Micro Edition: http://java.sun.com/j2me J2ME Wireless Toolkit: http://java.sun.com/products/j2mewtoolkit Forum Nokia: http://www.forum.nokia.com MOTOCODER: http://www.motocoder.com leJOS: http://www.lejos.org Jabwt.com: http://www.jabwt.com JBenchmark: http://www.jbenchmark.com Technical Articles and Tips: http://developers.sun.com/techtopics/mobility/reference/techart Games on the Java Platform for Mobile Information: http://www.sun.com/aboutsun/media/presskits/gdc2004/MobileJavaGames.pdf