ShiVa Developer Forum • View topic - Build for BB10?
 

Build for BB10?

BlackBerry Tablet OS and BlackBerry 10

Build for BB10?

Postby lcocea » 2013-10-07 17:27

Can anyone confirm that exporting/building for BB10 works with Editor 1.9.2 beta 6, UAT 1.4 beta 12, and BBRY/QNX NDK 10.2? Thanks.
lcocea
Platinum Boarder
Platinum Boarder
 
Posts: 577
Joined: 2012-06-07 03:12

Re: Build for BB10?

Postby _geo_ » 2013-10-08 00:41

Works like a charm - all you have to do is to copy the right S3DX client lib from the UAT to your momentics IDE and update the makefile accordingly.

We have just released our new game "Zoo Island" and got featured right away. I just hope BB will survive a little longer. On this game BB performs 5 to 10 times better than Android and iOS combined.
fly yes, land no | Modern Alchemists | Blog | MASH | MATWEEN-AI
_geo_
Gold Boarder
Gold Boarder
 
Posts: 201
Joined: 2010-10-30 14:32
Location: Austria

Re: Build for BB10?

Postby lcocea » 2013-10-08 01:13

Do we need Momentics for a ShiVa game to run under BB10?

Also, what's the deal with the three types of GPU for Z10 that you can choose from? Do your games work with all three or just some? Thanks.
lcocea
Platinum Boarder
Platinum Boarder
 
Posts: 577
Joined: 2012-06-07 03:12

Re: Build for BB10?

Postby _geo_ » 2013-10-09 00:34

You don´t have to but I would use the Monentics IDE. Once set up it´s pretty straight forward, just like the Android Eclipse projects. It makes signing, updating the bar-descriptor.xml and creating release builds easier.

I am not sure if OS10 Apps would work directly from the UAT (we have never done that). It should work because all the engine files are available and they are working in the source projects.

We have been testing on a OS10 Dev Alpha C device (Q10) and a Playbook. Both worked without any changes to the supported GPU settings. We have released it for all available OS10 devices (6) and BlackBerry has approved it for all of them, so our guess is that it´s working there too. We now have ~800 reviews and none of those mentions graphics related bugs or crashes which supports our assumption that it´s working fine everywhere.
fly yes, land no | Modern Alchemists | Blog | MASH | MATWEEN-AI
_geo_
Gold Boarder
Gold Boarder
 
Posts: 201
Joined: 2010-10-30 14:32
Location: Austria

Re: Build for BB10?

Postby lcocea » 2013-11-01 18:41

Geo, could you please provide a high level, brief walkthrough for importing a BB10 project in Momentics? Just to point me in the right direction. I have tried several things so far with no success.
lcocea
Platinum Boarder
Platinum Boarder
 
Posts: 577
Joined: 2012-06-07 03:12

Re: Build for BB10?

Postby _geo_ » 2013-11-02 16:30

I don´t have the projects and BB NDK installed at home so I can´t provide screenshots and look up all the details but I will do my best. I have to say that we have modified the default ShiVa workflow quite a bit using batch files and shell scripts - so there is some "optional" optimization stuff in there (single c++ file, c++ export only).

1) Export the STK (BlackBerry Profile: you can use high res textures, the BB devices are quite strong on the hardware). We are making a c++ export so you should get a "[ProjectName]_Sources" folder in addition to your .stk.

2) Export a project with the UAT 1.4.0beta10 (add the BB NDK 2.1 in the settings). Use Authoring Type "Project"!

3) Import the Project in BB Momentics IDE (just like you would do it with an Android project in Eclipse). We have always used the NDK 2.1 Momentics and not the NDK 10 version (don´t know whether it works with the NDK 10 or not). Inside Momentics you can set the export NDK version in the QNX settings of the project or the "bar-descriptor" (we have used the project settings).

4) Now it gets interesting. We are always making c++ builds because of the increased performance. The problem is that the UAT does not support c++ exports for BB (you can´t add additional and c++ files). Luckily the UAT includes the S3DEngine files for BB c++ (on my windows machine it´s under: "C:\Program Files (x86)\Stonetrip\ShiVa Authoring Tool\Data\Windows\BlackBerry\Build\S3DClientNative..."). Copy those files to your BB Project.

Adding c++ to the makefile: To speed up the build process we usually generate a single c++ file which simply includes all the c++ files from "[ProjectName]_Sources". Let´s put this file under "[BBProject]/AIMondels/single.cpp". To clarify: this singe cpp files looks like this:
Code: Select all
#include "..\..\FantasyIsland_Sources\AnimationAI.cpp"
#include "..\..\FantasyIsland_Sources\AnimationAI_Handler_onAddAnimation.cpp"
#include "..\..\FantasyIsland_Sources\AnimationAI_Handler_onAddFrame.cpp"
... and so on for all files


To build for either lua or c++ you will have to update the MAKE file, e.g.:
Code: Select all
# Lua:
#ENGINE_LIBRARY             = S3DClient_BlackBerry_ndk2_arm_v7_GLES$(GLES_VERSION).a

# Cpp:
ENGINE_LIBRARY             = S3DClientNative_BlackBerry_ndk2_arm_v7_GLES$(GLES_VERSION).a
...
SOURCES_AIModels   = single.cpp

Don´t forget to check the used environment variables in the Make file.

Now you should be able the build the project and run it on your device. Don´t forget to generate a debug token.

I will not go into the details on BlackBerrys certification processs. Let´s just say it´s unnecessarily complex and took us more than a day to figure it out and get the deployment process running for the team. Also the BB world backend is really (let´s sugar coat it) "challenging" to work with. I will just say "ERROR !!". If you have problems updating graphics (icons, ...) in the backend, try renaming them ;)
fly yes, land no | Modern Alchemists | Blog | MASH | MATWEEN-AI
_geo_
Gold Boarder
Gold Boarder
 
Posts: 201
Joined: 2010-10-30 14:32
Location: Austria


Return to BlackBerry

Who is online

Users browsing this forum: No registered users and 1 guest

cron