A mobil játékfejlesztés elméleti és gyakorlati momentumai IV. Gyires Béla Informatikai Napok Debrecen 2005 Bátfai Norbert nbatfai@inf.unideb.hu 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 nbatfai@inf.unideb.hu 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