If you have an idea for an Asha game for kids, join this webinar and learn about technical details that will help your project succeed. We will introduce and demonstrate Asha APIs for 2D and 3D graphics, sensors, music, sound, asset management and storage. We’ll also discuss game design, menu structures and how to tailor your UI for the age group you’re addressing.
1. NOKIA ASHA IDEA TO APP
Games for Kids
Michael Samarin
Director,
Developer Training and Evangelism
Futurice
@MichaelSamarin
2. BEFORE WE BEGIN…
•
•
•
This webinar is for beginner Asha game developers
All information you need in order to start making
games is available in Nokia Asha SDK 1.1:
• IDE and Asha 50x Emulator
• Complete 2D and 3D game examples
• Extensive offline Help system with
documentation on Java APIs and step-bystep developer guides
We encourage you to download SDK and start
experimenting:
http://developer.nokia.com/asha/java/downloads
3. ASHA GAMES FOR KIDS
•
•
•
•
•
•
•
It’s only about your Ideas …
Understand your target age
Understand Store Content Guidelines
APIs for sound and music
APIs for user input – touch and sensors
APIs for persistence
APIs for 2D and 3D graphics
4. MENU AND GAME CONTROLS
• Avoid complex hierarchical menu structures
• Remember about “Angry Birds” generation – in
many cases text is not required in game menus
• For Asha 500 series do not use concept of soft
keys – design separately for keyboard based
Asha
• Do not invent complex in-game controls – use
direct touch and accelerometer
• Sound and music are as important as graphics –
don’t make them annoying and too simple
5. MEDIA PLAYBACK
• Following JSRs allow developers
incorporating and controlling sound /
music playback on Asha:
• Mobile Media API (MM API) (JSR-135)
• Advanced Multimedia Supplements
API for J2ME (AMMS API) (JSR-234)
• Both JSRs are available on all Asha
devices, but with different capabilities
6. TOUCH
• Single touch, part of MIDP
• Only tracks 1st touch point
• Multipoint Touch (Nokia API)
• Tracks multiple touch points
• Call-back for touch changes, but status
available any time
• Gestures recognition (Nokia API)
• Tap, Long Press, Drag, Drop, Flick,
Pinch
7. SENSORS
• JSR 256 Sensor API
• Optional Generic API: designed for
battery, network status, also for
temperature, blood pressure, etc.
• Acceleration: –2g .. +2g, x / y / z axis
• Double Tap: 1 .. 63, phone sides
• Orientation: 0 .. 6, phone orientation
8. PERSISTENT STORAGE
• Keeping data between game sessions
• Extending game’s data or graphical assets (not code) beyond JAR file
size limit
• FileConnection API
• Optional JSR-75, but available on all Series 40 devices
• RecordStore (also known as RMS)
• Part of MIDP specification
• Both APIs operates on file system level, but with different abstraction
layers. There are no performance benefits of using one vs. another,
they are equally fast (or slow) – you should choose, according to your
game needs
9. ASHA APIS FOR 2D AND 3D GRAPHICS
• 2D Game Development
• Game API, part of the MIDP 2.0
standard, java package:
javax.microedition.lcdui.game
• LWUIT, available as SDK Plug-In,
suitable especially for Puzzle games
• 3D Game Development
• Mobile 3D Graphics API, optional JSR184 also known as M3G
10. 2D GAME API
•
•
•
•
•
•
Game API Package (MIDP):
GameCanvas
• Double buffered
• Convenient for minimizing code of game loop
• Methods for querying status of keys
Layer
• Abstract class, any visual game element
LayerManager
• Combines layers together, provides viewport
Sprite
• Animated game object
TiledLayer
• Game areas, backgrounds
11. LWUIT
•
•
•
•
Comprehensive UI library
• Use the rich set of easily customizable UI
components, such as Table, Calendar, and
HTML.
Transitions and animations
• Add animations to UI components and
transitions between Forms using Animation
Framework.
UI and theme design
• Use Asha themes or create custom themes.
Create UIs and themes with Resource Editor.
Layout management
• Define Layouts, such as grid, table, and flow
in code editor or using Resource Editor.
12. MOBILE 3D GRAPHICS API JSR-184 OR M3G
•
•
•
•
•
•
•
Object-Oriented 3D and Scene Graph based
Very compact API with fast development
Optimized for small memory and budget CPU
Immediate mode
• Similar to OpenGL ideology
Retained mode
• Scene Graph based
Entire Scene Graph can be restored from file
• Well defined M3G format
Modes can be freely mixed