JAM 380 Aaron Ardiri, Julien Donguy, Stefan Diem 5 6 February, 2013 Development Platform Freedom 2 Open Industry Standards 3 Commitment to Open Source 4 http://blackberry.github.org Code Sample: Main Entry Point 5 #include <stdio.h> #include <stdlib.h>
int main(int argc, char **argv) { fprintf(stdout, Hello World\n); return EXIT_SUCCESS; } BlackBerry 10 6 Integrated Social Beautiful BlackBerry Platform Services low level integration with the BlackBerry platform 7 BlackBerry Platform Services 8 overview
the BlackBerry Platform Services (BPS) library provides an application with a single consistent interface to a number of different services during the execution of the application.
- universal event management - user interaction working with the navigator - input/output (sensors, audio, LED, screen, multimedia) - device information, locale and payment services - network status and geo-location
BPS: Event Loop Code Sample 9 for (;;) { bps_event_t *event_bps = NULL; bps_get_event(&event_bps, timeout); // -1, forever if (event_bps != NULL) { event_domain = bps_event_get_domain(event_bps); if (event_domain == xxx) { // request event information within the domain } } } BPS: Platform Services Template handling {service} events
the BlackBerry 10 platform provides a composited windowing API (low level) which allows the creation of a windows and defining the appropriate properties (colors, depth, dimensions).
14 BPS: Screen and Window Handling creating a 1280x768, 16bpp 565 (RGB) window
int param = SCREEN_FORMAT_RGB565; screen_set_window_property_iv (win, SCREEN_PROPERTY_FORMAT, ¶m);
int rect[] = { 1280, 768 }; screen_set_window_property_iv (win, SCREEN_PROPERTY_BUFFER_SIZE, rect); 15 BPS: Screen and Window Handling FrameBuffer
for old skool computer graphics enthusiasts a pixel FrameBuffer can be easily obtained from the window object allowing for the development of retro games and emulators.
16 BPS: Screen and Window Handling Open GL ES 1.1 or 2.0
to take advantage of the hardware accelerated 3D graphics (Open GL ES 1.1 or 2.0) simply use the standard eglXXX API calls to initialize the environment.
17 BPS: Screen and Window Handling handling screen events
screen_request_events(screen_ctx);
then capture the appropriate screen related events
if (event_domain == screen_get_domain()) { event_scr = screen_event_get_event(event_bps); screen_get_event_property_iv(event_scr, SCREEN_PROPERTY_TYPE, &e_id); 18 BPS: Screen and Window Events screen events of use for game developers
BPS: Network Status 23 handling network status events
netstatus_request_events(0);
then capture the appropriate network status related events
if (event_domain == netstatus_get_domain()) available = netstatus_event_get_availability(event_bps);
to check the network status at any time:
netstatus_get_availability(&available); Scoreloop Integration 24 social integration user profiles challenges achievements leader boards and high scores virtual goods and currency Games 3 rd Party Game Engines 25 Simple Directmedia Layer 26 GNU LGPL v2 License
FrameBuffer and hardware accelerated Open GL audio and multimedia playback threads, timers and endian independence http://www.libsdl.org gameplay 27 Apache 2.0 License
hardware accelerated Open GL scene graph audio and multimedia playback input, sensors, physics and particle engines http://www.gameplay3d.org Cocos2D-X 28 MIT License
hardware accelerated Open GL scripting support (JavaScript, LUA)
hardware accelerated Open GL (3D) audio and multimedia playback numerous licensing models cross platform http://www.madewithmarmalade.com Game Developer Highlights lets take a look at some regional indie developers making the most of the BlackBerry 10 platform. 30 Developer: Tactile Entertainment 31 ChasingYellow
Cocos2D-X Leader boards Challenges Achievements (entry point, add friend, rematch) Fruit Blitz
C++ with Open GL ES 2.0, Open AL Leader boards Challenges Achievements (entry point, add friend, rematch) Progress Sync Developer: Tactile Entertainment 32 Dyna Stunts
C with Open GL ES 1.1, Open AL Leader boards Custom Profile Image Achievements (entry point, add friend, rematch) Developer: Tactile Entertainment 33 Distribution and Marketing 34 how to sell and make your games a success Application Publishing
Publishing to BlackBerry World
BlackBerry World is the on-device distribution catalogue a publishing account is required to use BlackBerry World free to sign up royalty share between BlackBerry and developer (70% developer) provide payment details (PayPal, et al) create product (metadata) and release BAR files 480x480 icon, featured image, screenshots and description
Application Monetization
Pre-mium, free-mium or combination?
many methods to monetize; all options are available to you
paid applications free applications with in-app purchases free applications with advertising
Built for BlackBerry 37 Application Certification
recognized high quality the official stamp of approval give customers peace of mind improve visibility in BlackBerry World For More Information JAM 307: Tuesday 16:15 promotion and monetization strategies with BlackBerry World JAM 347: Tuesday 16:15 leveraging BlackBerry services: BBM and Scoreloop JAM 351: Tuesday 17:30 leveraging BlackBerry services: ad service and in-app payments JAM 383: Wednesday, 09:30 native application porting and rapid development with Marmalade JAM 389: Wednesday, 10:45 porting iOS and android native to BlackBerry 10 JAM 382: Wednesday, 12:45 open source game middleware JAM 390: Wednesday 14:00 BlackBerry 10 games: HTML5 vs Action Script 3 38 For More Information Native Development Resources http://developer.blackberry.com/native/
BlackBerry Developer Blog http://devblog.blackberry.com/
39 Dont Forget Download the Mobile Conference Guide from BlackBerry World. Search for BlackBerry Jam Europe! Complete your session surveys in your conference portal or on your BlackBerry 10 device using the Mobile Conference Guide. Join us at the BlackBerry Jam Europe Appreciation event tonight in the Europa Foyer on the RAIs ground floor.
40 THANK YOU JAM 380 Aaron Ardiri, Julien Donguy, Stefan Diem 5 6 February, 2013