Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
JavaPolis 2004 Exciting times for J2ME developers And especially Game Developers! •Thomas Landspurg •CTO In-Fusio • Who am I? – CTO of In-Fusio since 99 – Early adopter of Java and J2ME (wrote some of the first Java games during Java One 99) – Representing In-Fusio in several JSR Why mobiles? • Life is too simple! If you like challenges, go to mobile! Objectives of the presentation • Give an overview of J2ME/MIDP, and present some of the evolutions in this area • And hope to give you some great idea to start to develop Wireless Games Agenda – – – – Who is In-Fusio? J2ME today The JCP: Good or Bad for J2ME? Trends o Multiplayer, 3D, 3G o Other cool stuff – Alternatives? o Brew, Symbian o Flash? Who is In-Fusio? IN-FUSIO is a Mobile Game Publisher and a Player Community Management Services Provider Company background • • • • • • • Founded in 1998 200 employees of 18 different nationalities, based in Los Angeles, Chicago, London, Bordeaux, Moscow and Shanghai Raised €45.9m between Banexi, Insight, Partech, Viventures, Innoven and Openwave Acquire US development studio Cybiko in November 2003 25% MS in Europe (number of downoads). Leader in China (1/3 of downloads). Launch in US in Q2 03 Company profitable in 2003. Revenues of $14.5m. Listed in Red Herring Top 100 Brands, Quality, Diversity, Interactivity Brands, Quality, Diversity, Interactivity Terminator, I’m Back! Rollerblade South Park Rollerblade Golden Tee Incredible Technologies Comedy Central Canal Studio Image Smiley IF Racing IN-FUSIO Smileyworld Some numbers • Manage 20 Millions of download, • 13 Millions of Subscribers • 140 Millions of interactions • IF Server side is Java based too! • Developed his own Game Engine: – First gaming engine to hit the market in 2001 In-Fusio involvement in Java Community • In Fusio is participating to 5 JSR • And will be the only technology provider to be a J2ME Sun Licensee (on the way) • Member of the OMA (Open Mobile Association) • Working with several operators, including Orange, to improve end user experience around game – EGE: ExEn Gaming Extension on top of MIDP2.0, selected by orange as his Gaming platform Reminder about J2ME • Mobile is a very limited devices in terms of: – – – – Memory (RAM and ROM) CPU Screen Size User interface capacities • But is a very powerful device in terms of – Connectivity J2ME Today • MIDP2.0 – Good basis, implemented in most of the 2004 devices, and probably around 100% of new 2005 MIDP devices – Better interoperability between handset – At least some premises of a Game API • But still some issues: – Lot of service oriented features are missing – Nightmare in terms of development: o Around 400 SKUs (different binaries) delivered for a single game. This number is increasing every month. Game package • GameCanvas o Basic class for rendering, key polling • LayerManager: – Container for all Layers (and more specifically TiledLayer and Sprite) • Layer – Abstract class mother of Tiled Layer and Sprite • Tiled Layer – Background made of Cells, each cell contains a reference to a subset of an image – Use case: background • Sprite – Single image that can be freely positioned on the screen, and animated. – Use case: space ship, aliens, etc… Today cont • Several good extensions: – SMS: JSR120 o Handle SMS interactions definition o Allows the reception of SMS, but it’s not mandatory( Registrery support) – Media API: JSR135, define a multimedia framework o unfortunately, does not require any specific media type support, except wave which is unusable on current handset for size reasons What is so exciting about J2ME – – – – – Underlying technologies are maturing Standardization is on the way Installed base is here Business model is now mature New innovation are coming What is so disappointing about J2ME • After manufacturer fragmentation, we now have JSR fragmentation! – – – – Every JSR try to solve one part of the problem Some are overlapping! Start to be the Babel tower No guarantee that JSR will be present on phone o Answer to this issue should be done through JTWI The dream…. • Thanks to J2ME, my application (and more especially my Game) will run on all J2ME compatible devices…. Reality (most of the time!) • Yes, you write once, for one device…. Few words about JCP and JSR • Good: JSR objective is to define standard in the Java world • Bad: Everybody wants his own standard! – – – – Around 2 JSR for 3D 4 related to presence/localization 2 to user interface One for location, but one also to access to sensor and GPS could be one of these… – Etc, etc, …. • Most of them are relevant, but frequently, there are overlapping, But still bug issues • Number of JSR increasing – In-Fusio is member of 6 JSR, looking at 28 JSR related to wireless gaming technologies – Approximately a new JSR every two weeks! • The JCP will face big challenges to maintain a coherent proposal to developers What is coming next? The trendy words: Multiplayer 3D 3G Multiplayer • Yes, multiplayer games start to roll out • Market still very small – – – – Lot of hype, everybody have his own multiplayer game But users not yet used to play a lot online Needs to be educated Will take time • Lot of technical issues – Billing issues o What is the business mode: pay per play, subscription, wallet? o Who will manage this? – User base is yet small Multiplayer • OMA: GS Group is defining the protocol between the client and the server • Most Multiplayer API are done using HTTP connection: – Not so bad, but a lot of overhead – TCP or UDP could be much better – Not implemented in many handsets, and even, operator GateWay is another issue! • Games that can be easily adressed! – – – – Slow update Turn based More hardly real time…. Solution is to adapt the game design to these situations 3D in Java for mobiles? • Great for 3D – JSR184: Java 3D for ME. Define an API to render 3D scenes. – Will be the standard end of next year • Features – – – – Provide high level scene graph And some kind of immediate rendering mode Texture Mapping ZBuffer Issues for JSR184 • JSR184 issues: – Still very slow in Software mode – Some handset have a second API better suited for low end devices – But result should be much better when first 3D accelerator will arrive – FYI: Samples of the WTK does not work on real device…. • JSR239: Threat or opportunity? – Open GL-ES binding for ME – Alternate to JSR184. – Advantages: lower level, closer to OpenGL-ES implementation Trends for 3D • On board accelerated 3D – NVidia, ATI and others on the race….. • But more complex games means also increased price of the game – Moving from 100k€ / game to 1M€/game! – End user price increase? • Opportunity: – Reuse assets and contents from original title more easily 3G • Will not introduce something directly specific regarding Java, but: – New and more powerful handsets, means new capacities • 3G capacities: – – – – – More bandwidth but…. …no major changes for small interaction Could be even worst than GPRS on certain conditions Interactive games need to be optimized for 3G Increased multi media usage within games (music, video, etc..) Other cool topics for Games • Localization – No need to wait for GPRS to be gelocalized – Several technologies available o GPS: – Best but require a GPS enabled handset! – Don’t work inside building o Cell ID – Low precision (100 to 700m) but work with all handsets o Triangulation and BTS power measurement – Better, but require some change in SIM and in network o EOTD (enhanced observed time difference) – Very similar to previous one, but require also some network changes Issues with LBS • Constraints – Legal obligation, depending the country, to inform and get the approval of the user (opt-in) to activate the location system • Precision – The precision, except with a GPS module, doesn’t allow currently to get the real geographic position of the user – With the UMTS, depending the technology, it’s sometimes better, sometimes worse • Game design – What is a good location based game? o A game that make you move, or a game that use your displacements? IM/Presence • OMA standardized the Instant Messaging and presence functionalities through Wireless Village initiative http://www.openmobilealliance.org/tech/affiliates/wv/wvindex.htm l • No provider specific protocol • Some handset already have such capacities • Create huge community features • Games will benefit from it, especially multiplayer games Still open questions • Link between the IM client and the game? – Nothing defined yet? One client per handset, or does every application needs to embed the client? • Who will manage the community – Operators? – Traditional actors (MSN, Yahoo?) – Will the user be able to do these choice Other interesting topic • Payment API: – JSR229 – Allow the separation of the game from the payment model. Same game could be deployed through different billing models • Advanced Multimedia Supplement – JSR234 – Access to 3D Audio, Sound Effect, Camera, Radio, etc… SVG • Scalable Vector Graphics – Good compromise between size and rendering features – Java provide the behavior o Compared to Flash, SVG just provide the rendering function and Java provides the equivalent of ActionScript. – But require some specific knowledge of a mobile o Mobile animation needs to be in line with processing power of the mobile o Don’t expect to be able to do very complex Vector animations. • MMS: – JSR 205 – Very few handset (none?) yet available with this JSR • Customization of user interface – JSR256: enable skinability of some UI component, XML description of interface • Mobile sensor API – JSR 256 – Get actual data from some sensor embeeded in your device: could be temperature, acceleration, etc… Some advices • If you are a developer and wants to enter this market: – Use innovation to differentiate yourself. It will be very hard to compete on « classical genre » – Find yourself new genres, be the creator what will be the « Tetris of the mobile » • In-Fusio would be happy to work with innovators and promote them Alternates to Java? • OpenOS: – Symbian, Smartphone can they grow enough? – Linux? Can it go beyond • Brew – Verizon, with Brew, is one of the biggest money generator. Can they reproduce this success elsewhere? • Flash – Credible alternative for traditonnal J2ME target – Simple games, entertainment and simple business app could be done in Flash o Proprietary technology (but could be an advantage in term of time to market) Conclusion • Most of technical block are here to allow you to create good mobile games • Still a lot of technical challenges, especally due to various JSR • But it’s time now to create innovate! Thank you • IN-FUSIO - The Mobile Fun Company – http://www.in-fusio.com – Tel : +33 (0)557773800 • Thomas LANDSPURG - CTO – [email protected] • Questions?