åºæ¬
ãããããå ã»ã©ã®ç§ã®ããã«ãPlayBookã¯BlackBerryé»è©±ã«çµã¿èŸŒãŸããŠãããã¯ãããžãŒãšäžå®ã®é¢ä¿ããããšæããŸãã ç§ã¯åãããã«èããŠããã®ã§ãé·ãéãã²ãŒã ã転éãããšãã«ãã®ã¿ãã¬ãããèæ ®ããŠããŸããã§ããã å®éãPlayBookã¯ãRIMãQNXãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«åºã¥ããŠäœæããæ°ãããã©ãããã©ãŒã ã«åºã¥ããŠããŸãã ãŸããæ°ããBlackBerry 10ã¹ããŒããã©ã³ã§ã䜿çšãããŸããRIMã¯ãGoogleã®ããã«ãéçºè ã«Javaã®äœ¿çšã匷å¶ããåŸæ¥ãã€ãã£ãéçºããŒã«ã®ãµããŒããè¿œå ããã®ã§ã¯ãªãããšããæžå¿µã«ãããããããçŸå®ã¯ã¯ããã«åªããŠããããšãå€æããŸããã ã«ããã®äŒç€Ÿã¯ãã¿ãã¬ããçšã®ãœãããŠã§ã¢ãäœæããããã®å æ¬çãªãœãªã¥ãŒã·ã§ã³ã§ãããã€ãã£ãéçºç°å¢ ïŒNDK-Native Development KitïŒãæäŸããŠããŸãã NDKãã¡ã€ã³éçºç°å¢ã®æ¡åŒµæ©èœã§ããAndroidãšã¯ç°ãªããã»ãšãã©ã®å Žåãæå°éã®æ©èœããµããŒãããJavaãžã®ã¢ã¯ã»ã¹ãå¿ èŠã§ããPlayBokã®å ŽåãJavaãèŠãã«ããã€ãã£ããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã NDKã¯ãç»é¢ãå ¥åããŒã«ã®æäœããã²ãŒã å ã§ã®è³Œå ¥ãŸã§ãå¿ èŠãªãã®ãã¹ãŠã«å¯Ÿå¿ããå®å šãªAPIãæäŸããŸãã

RIMãæäŸããéçºç°å¢ã¯QNX MomenticsãšåŒã°ããEclipseã«åºã¥ããŠããŸãããå¿ èŠã«å¿ããŠã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãããè¡ãããšãã§ããŸãã Eclipseã¯C / C ++ïŒãããã¬ãŒããããã¡ã€ã©ãŒãªã©ãåããŠããïŒã§éçºããã®ã䟿å©ã§ãããããEclipseããã£ãããšèããã«ãããããããMomenticsãéžæããŸããã ããã«ãã³ãã³ãã©ã€ã³ãèŠéãå§ããç¬éãŸã§ãã©ãã ãã®éã§ååãã確èªãããã£ãã®ã§ãã é©ãã¹ãããšã«ãEclipseã«åºäŒã£ãŠä»¥æ¥åããŠãç§ã¯éžã°ããéãåŸæããªãã£ãã
次ã«ãã²ãŒã ã¢ããªã±ãŒã·ã§ã³ãiOSããPlayBookã«è»¢éããäž»ãªåŽé¢ãæ€èšããŸãã
ããŒã¿å ¥å
PlayBook OSã§ã®ããŒã¿å ¥ååŠçã¯éåžžã«ç°¡åã§ãiOSã®åŠçæ¹æ³ã«å¿ããŠãç¹å¥ãªåé¡ã¯çºçããŸããã ã·ã¹ãã ã®ä»ã®ã€ãã³ããšåæ§ã«ãã¿ããã¹ã¯ãªãŒã³ã€ãã³ãã¯ãbps_get_eventïŒïŒã§åãåãbps_event_tæ§é ã®åœ¢åŒã§è¡šç€ºãããŸãã ãã®ã€ãã³ãã¯ãç»é¢é åãã«å±ããé¢æ°screen_get_event_property *ïŒïŒã®ã»ããã䜿çšããŠãã®ããŒã¿ãèŠæ±ããŸãã
int touch_state; int id; int position[2]; screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_TYPE, &touch_state); screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_TOUCH_ID, &id); screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_SOURCE_POSITION, position);
äžèšã®ã³ãŒãäŸã¯ãç»é¢ã®ã¿ããã«é¢ããåºæ¬çãªæ å ±ãååŸããããã«å¿ èŠãªãã¹ãŠã§ãã touch_stateã«ã¯ãSCREEN_EVENT_MTOUCH_TOUCHãSCREEN_EVENT_MTOUCH_MOVEãããã³SCREEN_EVENT_MTOUCH_RELEASEã®ããã€ãã®ã¿ã€ãããããŸãã ãããã¯ãiOSã®ã€ãã³ããã¿ããã®éå§/äœçœ®ã®å€æŽ/ã¿ããã®çµäºããšæ¯èŒã§ããŸãããããã£ã³ã»ã«ãã€ãã³ãããªãããšã«æ³šæãã䟡å€ããããŸãã
ããã«ãã€ãã³ããããŒãªã³ã°ããŠããã®ã§ãå¿ èŠãªã¹ããªãŒã ã§ãããååŸããiOSããAndroidã«ã²ãŒã ã移æ€ãããšãã«å人çã«åé¡ãçºçããããšã¯ãããŸããã
PlayBookã«ã¯åºæ¬çãªããŒããŠã§ã¢ããŒããªããããããããåŠçããå¿ èŠã¯ãããŸããã
é³
iOSãšåæ§ãPlayBook OSã¯OpenALããµããŒãããŠããŸãã ãã®ãªãŒãã³ã©ã€ãã©ãªã䜿çšããŠãµãŠã³ããæäœããå Žåãããã°ã©ã ã転éããããã»ã¹ã§äœãå€æŽããå¿ èŠã¯ãããŸããã ã¿ãã¬ããOSã¯ãå¿ èŠã«å¿ããŠALUTïŒOpenAL Utility KitïŒãŠãŒãã£ãªãã£ã»ããããµããŒãããŠããŸãã

ã°ã©ãã£ãã¯ã¹
ãæ³åã®ãšãããPlayBookã¯OpenGL ESïŒããŒãžã§ã³1.1ããã³2.0ïŒãåé¡ãªããµããŒãããŠããŸãã NDKã«ã¯ãç»é¢èšå®ã«é¢ãããã¹ãŠã®ãã¥ã¢ã³ã¹ãåŠçããOpenGLã䜿çšããç°¡åãªã¢ããªã±ãŒã·ã§ã³ã®äŸãå«ãŸããŠããŸãã ã·ã³ãã«ã ãå¹æçãªAPIèšèšã®ãããã§ããã®äŸã¯èªçµŠèªè¶³ã§ããã詳现ãªæ€èšã¯å¿ èŠãããŸããã

ã¿ãã¬ããã®ç»é¢ã®è§£å床ã¯1024x600ãã¯ã»ã«ã§ãã¢ã¹ãã¯ãæ¯ã¯ã»ãŒ16ïŒ9ã§ãããã®çµæãçŸåšã®iPhoneãiPadã®ç»é¢ãããçããªã£ãŠããŸãã ã²ãŒã ã«ãã£ãŠã¯ããã®è§£å床ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãäœãçŽããããšããžã®åšãã«é»ãããŒãè¿œå ããå¿ èŠããããŸãã Pop Cornyã®å Žåã1.33ãã1.50ã®ã¢ã¹ãã¯ãæ¯ãç¶æããããã«èªåçã«èª¿æŽããã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããŸãã ãã®ãããPlayBookã®ããŒãžã§ã³ã®ã²ãŒã ã§ã¯ãé»ãããŒãè¿œå ããã¢ã¹ãã¯ãæ¯ã1.7ãã1.50ã«æžãããŸããã
ç»é¢ã®ãã¯ã»ã«æ°ã¯ãiPhone 4ããã³iPad 2ã®ãã¯ã»ã«æ°ãšã»ãŒåçšåºŠã§ãããããã£ãŠããããã®ããã€ã¹çšã®ã°ã©ãã£ãã¯çŽ æãããã°ãåé¡ãªãPlayBookã«äœ¿çšã§ããŸãã ã²ãŒã ãiPad 3ã®ç»é¢è§£å床ã«æé©åãããŠããå Žåãã»ãšãã©ã®å Žåãã°ã©ãã£ãã¯èŠçŽ ã®ãµã€ãºãå°ããããŠããŠãŒã¶ãŒã®ã¿ãã¬ããã®è²Žéãªã¡ã¢ãªãç¡é§ã«ããªãããã«ããå¿ èŠããããŸãã
å 容
ã³ã³ãã³ãã®ããŠã³ããŒã-ããã¯æ±ºããŠç°¡åãªããšã§ã¯ãããŸãããZipãã¡ã€ã«ãçªã£èŸŒãã ããå§çž®ãç¡å¹ã«ããããç¹å®ã®æ¡åŒµæ©èœãã¢ã»ãã管çãããŒãžã£ãŒïŒhelloãAndroidïŒïŒ ã¢ããªã±ãŒã·ã§ã³ã¯ãåºæ¬çã«zipã¢ãŒã«ã€ãã§ãã.barãã¡ã€ã«ãšããŠé åžãããŸãã ã€ã³ã¹ããŒã«äžã«ã.barãã¡ã€ã«ã®å 容ã解åãããã¢ããªã±ãŒã·ã§ã³ã¯POSIXäºæã®æ¹æ³ã§ãã¡ã€ã«ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããŸãã
.barãã¡ã€ã«ã«å«ãŸãããã¡ã€ã«ïŒãã¯ã¹ãã£ããµãŠã³ããªã©ïŒãããŠã³ããŒãããå Žåã¯ã次ã®æ¹æ³ã§ããããèŠã€ããããšãã§ããŸãã
./app/native/
ãã¡ã€ã«ãäœæããŠã¢ããªã±ãŒã·ã§ã³ããŒã¿ãä¿åããå Žåã¯ã次ã®å Žæã«é 眮ããŸãã
./data/
ç°¡åã«ã¯ãªããŸããã
èšé²ãšå®çžŸã®è¡š
OpenFeintïŒGeeãšãåŒã°ããŸãïŒã¯PlayBookã§ã¯äœ¿çšã§ããŸãããããã¯ãã¡ãããAppleãææããGame Centerã«ãé©çšãããŸãã RIMã¯ã ScoreloopãšåŒã°ããç¬èªã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸããããã¯ããã¬ãŒã€ãŒãããã¡ã€ã«ããã€ã¹ã³ã¢ããŒãã«ãå®çžŸãããã³æŠãããµããŒãããŸãã
çµè«ãšããŠ
ç§ã«ãšã£ãŠãPlayBookã¯ãããŸã§ã«ç§»æ€ããäžã§æãç°¡åãªãã©ãããã©ãŒã ã§ãã éçºè ã«æãããŠããããã¹ãŠã®ãªãŒãã³ãã¬ãŒã ã¯ãŒã¯ããµããŒãããPOSIXäºæãã©ãããã©ãŒã ãæããã«ããRIMãšã³ãžãã¢ã«æ¬æãè¡šããŸãã ä»ã®ã»ãšãã©ã®ãã©ãããã©ãŒã ã§ã¯ãå®è¡å¯èœãã¡ã€ã«ã«å¿ èŠãªãã¹ãŠã®ã©ã€ãã©ãªããããžã§ã¯ãã«è¿œå ããå¿ èŠããããŸãã PlayBookã«ã¯ãlibpngãlibjpegãfreetypeãªã©ããã§ã«å«ãŸããŠãããããã«äœ¿çšã§ããŸãã ã³ã³ãã€ã«ã«åé¡ã¯ãããŸãããã·ã¹ãã ã«æ¢ã«ååšããã©ã€ãã©ãªãšã®éçãªã³ã¯ã«ãããå®è¡å¯èœãã¡ã€ã«ã®ãµã€ãºãå¢å ããŸãã
ãã ãããµãŒãããŒãã£ã®PlayBookãµããŒãã¯ãä»ã®ãã©ãããã©ãŒã ã»ã©é©åã§ã¯ãããŸããã ããšãã°ãiOSã§çµ±èšãåéããã«ã¯ãåªãããµãŒãã¹flurry.comã䜿çšããŸãããRIMã¿ãã¬ããã«ã¯ããã¬ã³ããªãŒãã§ã¯ãããŸããã ãã®ãµãŒãã¹ã¯ãJavaãä»ããBlackBerryã®ãµããŒããæäŸããŸããããã®èšèªããŸã£ããæ±ããããããŸããã
iOSãAndroidã¹ãã¢ãšã¯ç°ãªããAppWorldã§ã¢ããªãå ¬éããããã®æéã¯ããããŸããã 移æ€ã®æåŸã«ãç»é²ããããžã¿ã«çœ²åã®ããŒãååŸããŠãéçºãå ¬éããŸãã ãã ããAppWorldã¯Apple Storeã®æ¹æ³ã§èªå®ããã°ã©ã ãé©çšããŸãã
çµè«ãšããŠãç§ã¯çµæãåªåã®äŸ¡å€ããã£ãããšã«æ³šæããããšæããŸãã 移æ€ããã»ã¹ã«ã¯2ã3æ¥ããããŸããã ç§ã¯ãã¹ãŠã®ç¬ç«ããéçºè ã«ãã®ãã©ãããã©ãŒã ã«æ³šæãæãããšãå§ããŸãã iOSãšAndroidã®ã¹ãã¢ã«ã¯ã¢ããªã±ãŒã·ã§ã³ããã£ã±ãããããšãèæ ®ãã䟡å€ããããŸãããã®ãããPlayBookã¯ã²ãŒã ã«æ°ä»ãè¯ãæ©äŒã«ãªããããããŸããã åºçã®ç¬éãããã®èšäºã®å·çãŸã§ãPop Cornyã¯4æ¥éãNewãã»ã¯ã·ã§ã³ã®ãªã¹ãã«ãããŸããã ããªããç¬ç«ããéçºè ã§ããã°ãããªãã®è£œåãã§ããã ãé·ã顧客ã«èŠããããšã®éèŠæ§ãããç¥ã£ãŠããŸãã
PSé©ãã®PlayBook OS
RIMã¿ãã¬ããã«ã©ãã»ã©æéãåããããäŒããããšã¯ã§ããŸããã ç§ã¯ã圌女ãšããžãã¹ãããããšããªãéçºè ã2ã3æ¥ã§èªåã®ã²ãŒã ã移æ€ã§ãããã©ãããã©ãŒã ã¯çŽ æŽããããšä¿¡ããŠããŸãã ããããããã«é©ããã®ã¯ãPlayBookã®Pop Cornyã®é床ã§ãiPad 2ãããèããé«éã§ããã
èšèã確èªããããã«ã2ã€ã®ã¿ãã¬ããã§äžŠè¡ããŠã²ãŒã ãéå§ãããããªãé²ç»ããŸããã Pop Cornyã®äž¡æ¹ã®ããŒãžã§ã³ã¯æ¯ç§60ãã¬ãŒã ãçæãããããã²ãŒã ã®éãã«æ°ä»ãããšã¯å°é£ã§ãã ã¿ãã¬ãããã»ãŒåçã®ããŒããŠã§ã¢æ©èœïŒ1 GHzã®åšæ³¢æ°ã§åäœãããã¥ã¢ã«ã³ã¢Cortex-A9ããã»ããµïŒãåããã²ãŒã ãæåã«iOSã§ãªãªãŒã¹ããããã®åŸPlayBookã«ç§»æ€ãããããšãèæ ®ãã䟡å€ããããŸãã ããããåæã«ãRIMããã€ã¹ã¯ã²ãŒã ã®èµ·åïŒãã¯ã¹ãã£ã®ããŒãããããã®ã¢ã³ããã¯ãGPUã®è»¢éããµãŠã³ãã®ããŒããªã©ïŒã30ïŒ é«éã«å®è¡ã§ããŸãïŒ ããã¯çŽ æŽãããææã ãšæããŸãã
å ã®ããã¹ãïŒ kalogirou.net/2012/08/31/porting-your-ios-game-to-blackberry-playbook-and-future-bb10-phones ã
kalogirou.net/2012/08/25/impressed-by-the-new-blackberry-os-or-how-ios-ate-dust