JavaPolisPres
Download
Report
Transcript JavaPolisPres
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?