Home Tutorials Download Beta Store Forum Documentation KnowledgeBase Wiki Blog

ShiVa3D

Return to Getting Started

noob FAQ - Problem and Answers Only Pls

You feel lost? You don't understand how to use ShiVa?

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 14 Oct 2011, 18:34

ISSUE: Final STK File size is too big...any quick way to reduce it?

OUR SOLUTION: We figured this out way later...On your output when you are building your app, if you SELECT the operating system (Such as iOS or Android) for your stk instead of selecting ALL, you will have a SMALLER FILE SIZE for your stk. We noticed that we saved ourselves around 4MB just by doing this!! ITS A GREAT WAY TO REDUCE FINAL STK SIZE! :)
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby Simon » 17 Oct 2011, 04:41

ISSUE: how can i change view of cursor? i want use my png picture for cursor?
User avatar
Simon
Expert Boarder
Expert Boarder
 
Posts: 112
Location: Russia, Siberia

Re: noob FAQ - Problem and Answers Only Pls

Postby capiright » 17 Oct 2011, 09:41

Simon wrote:ISSUE: how can i change view of cursor? i want use my png picture for cursor?


I think you need to create a component with your cursor image and then do the following:

1. Make the system cursor go away:
http://www.stonetrip.com/developer/doc/api/hud-forceCursorShape

2. Match the position of the mouse every frame with the position of your new cursor image
User avatar
capiright
Platinum Boarder
Platinum Boarder
 
Posts: 518

Re: noob FAQ - Problem and Answers Only Pls

Postby Simon » 17 Oct 2011, 10:25

thank you capiright, but there is a problem
1) if i click - then cursor is appeared for < 1 second , you can see that on http://www.stonetrip.com/developer/ "Users Video Tutorials" "include 3d models in HUD"

i was think about using 3d cursor as 3d model
User avatar
Simon
Expert Boarder
Expert Boarder
 
Posts: 112
Location: Russia, Siberia

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 25 Oct 2011, 06:51

ISSUE: "Application Failed codesign verification" error

OUR SOLUTION: I found this soultion online that worked for us. This can be crazy when you are so close to handing in your app for submission to the app store. I found the solution as follows:
----------------------
At some point you will see the "Application failed codesign verification" error. it will make you insane. Take a deep breath. Restart XCode, restart your development hardware. Go hit a wall, go have a drink, and it will all work again.

Then, you'll want to:

Clean the Build Target (or all targets if you're mad at all of them)
Set the Code Signing Identity (in the Target properties) to "Don't Code Sign"
Close Xcode
Remove all directories in build folder
Open Xcode
Reset the Code Signing Identity to your iPhone Distribution: certificate
Sacrifice a small animal.
Build.
Submit Application to iTunes Connect
Profit!

SOURCE OF SOLUTION (User Pixel): http://stackoverflow.com/questions/28551/tips-for-a-successful-appstore-submission

PS: We didn't have to sacrifice the small animal on our end, we did pray to God and crossed our fingers however and that worked for us :) LOL
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 25 Oct 2011, 21:43

ISSUE: Game is done...Step by step solution to release to submit to Apple for Approval?

OUR SOLUTION: Yes after much hard work we finally have figured out how to do this process and even some of the hiccups.

STEP BY STEP FROM SHIVA TO APPLE SUBMISSION:

ASSUMPTIONS - We assume you have already done all testing and the app is ready to be submitted.

7 MAJOR STEPS (You can take a small break after each major step if you wish).

MAJOR STEP 1 - SHIVA SPECIFIC STEPS:
=====================================
1. From ShiVa in the Game Editor, click on Game->Export and go to the export window

2. In the Export window, name your app (Export Name), Choose a local folder to export to, Select RUNTIME PACKAGE (.stk) and select iOS from the dropdown (This will reduce the filesize considerably due to being specific as to which platform you are creating for. If you choose all, you will be adding an additional 4-5MB or so as per our experience)

3. Hit the Export button and wait for the export to happen (Depending on size of app, this could take a few minutes to an hour!)

4. Copy exported file from your system/folder to the MAC (Assuming you are using Shiva in Windows. If not simply move the exported file to another folder on your mac where you will be doing all the final work. This will make things much easier!)

5. Copy ALL Required Icon Files and Splash Screens to the same folder (It would be wise to add an icon of 57x57 (iPhone), another icon of size 72x72 (iPad) and an icon of 114x114 (iPhone 4 Retina) as well as several versions of splash screens (320x480 - iPhone, 768x1024 - iPad, 640x960 - Retina, ANDROID NOTE: 480x800 is android version). NOTE: In this tutorial we will be creating a UNIVERSAL binary that will work on iPhone and iPad. I will not be focusing too much on Retina display, I will just be adding the icon into our final app, thats about it for retina. Also copy over another MASTER ICON as I like to call it, of size 512x512 which will be what is used on iTunes. You will also need 4 screenshots, so copy those as well.
NOTE: Make sure all your Icons look the same or you'll get rejected if they are off
NOTE 2: Make sure your Splash screens are the same as well (Like not the same as icon, but you can't be having an iPhone splash screen that is waayyyy different than your iPad splash screen.

Here's a quick list of things to copy so you know (NEW APPS ONLY):
-3 Icons (57x57, 72x72, 114x114)
-Master Icon (512x512)
-Splash Screens (320x480, 768x1024, 640x960)
-4 Screen Shots of App (iPad versions - 1024x768, iPhone versions - 960x640)
ANDROID NOTE: Screen shots should be 800x480 and 1280x720
-App Description (TEXT FILE)


MAJOR STEP 2 - MAC SHIVA AUTHORING TOOL AND XCODE SPECIFIC STEPS (UAT MAC):
============================================================================
UAT AUUMPTIONS: We assume for this tutorial that you have already been successful in compiling and running development apps using UAT and xCode. We will not be going over how to do that in this tutorial. This is app submission specific for universal apps.

1. Now that we have the app copied to the Mac and all required files (Or placed in a new folder where we will be doing all our work), we will start by opening up the Shiva Authoring Tool (UAT)

2. In UAT we will start by creating an iphone development app the same way you would as before, but make sure this time you fill in all required icons and splash screens. SPECIFICALLY
UAT Step 1: Select the newly exported STK file from previous steps. Change all icons and splash screens to new ones.
UAT Step 2: Authoring Type is PROJECT
UAT Step 3: Build Type is DEVELOPMENT

3. Click Build and you will see it go to xCode. Keep the xCode window open, but return BACK to the UAT as we need to now create the iPad version as well. (If you are not doing a UNIVERSAL BINARY then you can skip the next steps as this is specific to a UNIVERSAL binary. The rest of the process however is pretty similar, so you can read through this and use many of the same steps for an induvidual submission)

4. Back in the UAT select iPad and do the exact same steps as in part 2 from above (UAT Step 1, UAT Step 2, UAT Step 3) but for the iPad. Hit Build and it will take you to xCode again.

5. Once in xCode, close off the iPad version that has been generated as we will no longer be using that.

6. Now we will be following the steps as outlined in the WIKI so open up the wiki article in another browser window to refer to as we do the next set of steps http://www.stonetrip.com/developer/wiki/index.php?title=Apple_iOS_Devices#Building_iPhone.2FiPad_universal_applications

NOTE: I know it can be confusing at first so I am going to do these things step by step the way that we usually now do it on our end that has worked for us. The steps are a bit of a variation from what is outlined in the wiki but its the same steps pretty much in a different order with some slight additions here and there.

7. First thing that we do on our end here is that we need to go to the FINDER and go to the folder where you compiled the app. You should see 2 folders there, one for iPad and one for iPhone. SPECIFICALLY: APPNAME_iPad.s3dxproj and APPNAME_iPhone.s3dxproj

8. Go into the iPad folder and COPY the file "S3DClient_iPad.a" into the iPhone folder

9. Go back into the iPad folder and go to the Resources folder (APPNAME_iPad.s3dxproj->Resources) and rename "Default.png" to "Default-landscape.png". LEAVE THIS WINDOW OPEN and place it off to the side as we will be using it in our next steps. WE WILL CALL THIS THE IPAD FOLDER FOR THE REST OF THE TUTORIAL.

10. Lets go back to xCode and you should see the iPhone version in the xCode window. In the left side of the window it should say "Groups & Files". Under that section you should see a file that says "S3DClient_iPhone.a". DELETE the REFERENCE to this file by using control+click on your mac and hitting Delete. MAKE SURE you select DELETE REFERENCES and not to delete the file as well. You simply dont want the program to reference this file in the program, you dont want to delete the actual file itself off your computer.

11. Okay so now we are going to add in resources, so once again under the "Groups & Files" section, click on the ARROW next to the "Resources" folder and it should list all the file resources. Specifically you should see: Icon_57x57.png, Default.png, Info_Phone.plist, MainWindow_Phone.xib and S3DMain.stk

12. Now keep the IPAD FOLDER on the right side so you can select files and drag them into the resources section in xCode. DONT DRAG ANYTHING YET, We will do this one file at a time.

13. Click and Drag "Icon_72x72.png" from the IPAD FOLDER to xCode Resources folder (You will see a line in the area you are going to drop the file onto. Drop it anywhere in the RESOURCES folder section)

14. There will be a WINDOW THAT POPS UP! Depending on your Finder window location, you may be covering this window so be careful. It will ask you if you want to copy the files as well to the project folder location. CHECK THE FIRST BOX OFF TO ACCEPT THE COPY OF THOSE FILES and hit the ok/accept button.

15. Repeat step 13 and 14 but now from the IPAD FOLDER copy over "Default-landscape.png"

16. Repeat step 13 and 14 but now from the IPAD FOLDER copy over "MainWindow_Pad.xib"

17. Repeat step 13 and 14 but this time we want to find the "Icon_114x114.png" file which SHOULD BE in the folder one above the IPAD FOLDER (Where we kept all the other icon files). You want to copy that for Retina display over to the Resources list in xCode.

MAJOR STEP 3 - TARGETING
========================
1. This next step has 2 parts. xCode has two areas where the next steps take place. A MASTER project area and a BINARY SPECIFIC area. The MASTER project area for targeting of the project can be accessed by clicking Project Menu and then Edit Project Settings (Project->Edit Project Settings). The second area is the BINARY SPECIFIC area and can be accessed by looking under the "Groups & Files" section again on the left side of your window and you will see something called Targets with a bullseye icon (Red icon). Click the arrow beside it and it will show you your application name. USING CONTROL+CLICK on the application name, you will get a sub-menu which you will then select "Get Info". This is the BINARY SPECIFIC part which is EXACTLY where you need to do the steps in the wiki. That is a BIG confusing point because people end up editing the MASTER project area and you should not be touching that. Make sure you have NOT touched the MASTER project area, (You will know because if you go to the MASTER project settings, under "Code Signing Identity" under the "Code Signing" section, it should ALL BE BLANK).

2. In the BINARY SPECIFIC section we will start off with the first option to be changed (This is following the wiki now which is the same steps. Photos can say a thousand words. There is one step here that they dont show in the wiki that will cause issue if you dont know so I will outline that here so not to worry). Select Architectures and choose Standard (armv6 armv7)

3. Make sure Valid Architectures now shows armv6 and armv7

4. IN THE CODE SIGNING SECTION (Code Signing) Make sure the "Code Signing Identity" is your DISTRIBUTION identity and not your development one! VERY IMPORTANT STEP! If you dont have a DISTRIBUTION provisioning profile yet, you need to set it up on your Apple Developer account. I will not go into details on that, I'm assuming you already have it.

5. Under the "Deployment" section near the end, make sure "Targeted Device Family" is set as iPhone/iPad. Right below this make sure the "iOS Deployment Target" is set as iOS 3.2

6. Now comes the confusing part. Under the "Linking" section near the middle you will see the option called "Other Linker Flags". It might be empty or it might say "-all_load" (WITHOUT QUOTES). If it is empty, double click on the textbox next to "Other Linker Flags" and you will see a window pop up. Press the + button and add the following:

-all_load

and hit ok. MAKE SURE THE - (DASH) is there infront and the underscore as well. Refer to the wiki to see what I mean.

7. Next (After closing that previous window to add the "-all_load" command), click on and make sure that the "Other Linker Flags" line is highlighted and at the bottom left of the window you will see a GEAR icon (Bottom left icon) with a little arrow pointing down on it. Press that and it will show a sub menu. On that sub menu select "Add Build Setting Condition" and you will see it load a line that says Any SDK/Any Architecture. Change the Any Architecture part to ARMv6.

8. Next double click the empty box next to the ARMv6 line. It may already have the -all_load command in it, which is fine. We need to have both the -all_load command and you will add the following command as well using the + button:

S3DClient_iPhone.a

NOTE: After adding this command, click and drag it BELOW the -all_load command so that it is in the right order!!! Also if you dont see the -all_load command, go ahead and add it as well.

9. Repeat step 7 and 8 but this time change the Any Architecture to ARMv7 and the command in step 8 change to S3DClient_iPad.a instead.

10. You should now see the screen looking the same as the WIKI. Look at the wiki image and make sure you see:

Other Linker Flags -all_load
Any SDK ARMv6 -all_load S3DClient_iPhone.a
Any SDK ARMv7 -all_load S3DClient_iPad.a

NOTE: IF YOU DONT SEE IT LIKE THIS then you did something wrong. Go back and repeat the steps until you get it right. Dont forget to drag the S3DClient_iPhone.a or S3DClient_iPad.a below the -all_load when you are adding them in the window.

MAJOR STEP 4 - INFO.PLIST
==========================
1. Okay now close off the target window and lets go back to the Resources section under "Groups & Files" on the left side.

2. Select Info_Phone.plist

3. On the right side will come up several listed items. We will go through what items you need to have.

4. Select the "Icon File" line and hit the + button that shows up beside it to add a line.

5. Name this line "CFBundleIconFiles"

6. Control+click the Icon File line and hit CUT (We basically want to delete that line, but it doesnt have a delete option on the submenu that shows up so I'm just going to CUT it)

7. Control+click the WHITE AREA (Text area) of the "CFBundleIconFiles" line and set the Value Type as Array.

8. Click the CFBundleIconFiles line and an arrow on the left side will show up. Click this arrow so it is pointing down and you will see the + sign change to a 3 line icon.

9. Select the 3 line icon and it will allow you to add a new item to the array.

10. Add the following lines:
Icon_57x57.png
Icon_72x72.png
Icon_114x114.png

Add these to separate lines, so you should have 3 entries inside of CFBundeIconFiles.

10. Next set your bundle identifier. IT CAN BE ANYTHING YOU LIKE HOWEVER MUST BE IN THIS FORMAT: com.YOURCOMPANYNAME.YOURAPPNAME

For example for our first game Melina's Conquest our bundle identifier is: com.gamescorpion.melinasconquest

11. Next go down and make sure your Bundle version is set right. If this is an update, make sure you increment it EX. 1.0.1
If its the first app, you can leave it at 1.0

12. Next go to MinimumOSVersion and set this to 3.2 even if it says 3.0. CFBundleIconFiles only works with 3.2 and above.

13. Next select the line that says "Main nib file base name" and hit the + button beside it and add the following:

NSMainNibFile~ipad

14. Select the new line you made called NSMainNibFile~ipad andin the text area write:

MainWindow_Pad

YES MAKE SURE IT SAYS EXACTLY WHAT I WROTE HERE! DO NOT MISTAKENLY PUT MainWindow_iPad as that wont work!!

15. (NEW STEPS ADDED) Add a new line to the end of info.plist that says:
UILaunchImageFile~ipad and give it the filename of your iPad version (without the extension) which should be Default-Landscape. This will fix the issue that people have where it loads the LOW QUALITY iPhone version only. You need to tell it to forcefully only use that image for iPad which is what the wiki forgot to tell you. Also if you want you may add to the line before it (UISupportedInterfaceOrientations) the following items:
UIInterfaceOrientationLandscape
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight

NOTE: You may have to manually edit the image to be in the orientation direction you want.

16. Now we are done, so lets move onto the final build.

MAJOR STEP 5 - BUILDING
=======================
NOTE: MAKE SURE That you have set the output to Device and not Simulator (You will see in the top left of the window if it says Simulator or Device. Simply select this dropdown and click on Device)

1. DO NOT HIT BUILD AND RUN!!!!

2. Go to the Build menu and hit Build (Build->Build)

3. It will ask you if you want to save Info.plist, hit YES and let it build. You will get 1 warning about the User supplied UIDeviceFamily key, just ignore it.

4. If everything was done correctly, it should say build succeeded. Lets move to the iPhone directory (APPNAME_iPhone.s3dxproj)where you should now have a file with your app name. It wont say that it is a .app file, but if you control+click it, and hit Get Info, it should say under Kind: APPLICATION.

5. Control+click this app file and we are going to select Compress "APPNAME" and it will create a zip file in the same folder. This is the file that we will be submitting to apple.

6. We are now ready to SUBMIT TO APPLE!!!! :)

MAJOR STEP 6 - SUBMIT TO APPLE
==============================
NOTE: WE ASSUME YOU ARE ALL SETUP FOR ITUNES CONNECT.

1. Go to itunesconnect.apple.com

2. Log in using your developer information

3. Select "Manage Your Applications"

4. On the top left click on "Add New App"

5. For App Name put the name of your application. This is how it will appear in the app store.

6. Enter any SKU number you want, this is your own personal thing, but just put something there that you can refer to. Like an inventory part number.

7. Under Bundle ID you will see your ID with a * next to it most likely. Just select that and you will see a new text box appear that says Bundle ID Suffix. This is where you will be entering your Bundle Identifier that we put in the Info.plist step above. MAKE SURE IT IS THE EXACT SAME or your upload wont work! Go ahead and enter your Bundle Identifier. EX. com.YOURCOMPANYNAME.YOURAPPNAME

8. You should now hit Continue

9. This next part is based on you specifically. When do you want to release it? What price tier do you want? (You can actually setup various price tiers and it will automate sales, but thats outside the scope of this tutorial). Most likely you wont be having a Custom B2B app as this is a game in most cases so you can leave that unchecked. Discount for Educational Institutions is up to you as well. Once you finish just hit continue.

10. Next fill in all the information that is required such as version number, the app description, the categories on the app store that it should be in, keywords people can use to search, copyright info, contact email address, support url, etc. Some neat notes:
A. Make sure you have a website WITH a privacy policy! This could lead to issues if you dont.
B. We personally added a thank you note to the reviewer in the Review Notes section and I personally added my contact details and information. Always nice to be nice! :)
C. FOR THE RATING, BE FULLY ACCURATE! Don't lie just to get a specific rating, or you'll get rejected or they may just edit it for you. If your app is mature, then make sure its stated like that.

11. If all you put all the files in the the same directory (As I outlined above) you should be able to find all the files (512x512 icon, iPhone/iPad touch screenshots 960x640 size, and iPad screenshots 1024x768 size) easily.

12. Hit save.

13. Now you should come to a screen with a yellow status stating "Prepare for Upload"

14. Click on View Details under the Current Version of your app

15. On the screen that shows up on the TOP RIGHT click on "Ready to Upload Binary"

16. The next question will ask you if your app uses cryptography. Most likely you've created a game and dont have any encryption in it, so your answer should be no, however you'll know whether your app uses it or doesn't so I cant really guide you on that. My apps dont so I hit no.

17. The next screen makes sure you have the Application loader and shows you how to use it. Hit continue as I'm going to guide you through the Application loader here.

18. You should now see a screen with a yellow status orb saying "Waiting For Upload". Now we will use the application loader to upload our app.

MAJOR STEP 7 - UPLOAD BINARY
============================
1. Open Finder and under "Devices" on the left side select your hard drive "Macintosh HD" or whatever your hard drive is called.

2. Now you should see the Developer folder, go to the following area:

Developer->Applications->Utilities->Application Loader

3. If this is the first time using it, just follow the instructions to connect to your itunes account.

4. Next you should see a drop down allowing you to choose an appliction. You should see the newly created app in that list. Select it and hit next.

5. Choose the ZIP FILE that we created in the previous steps (MASTER STEP 5, step 5) and follow the steps. It should begin uploading. NOTE: A MAJOR ISSUE that comes up many times is the "Application Failed codesign verification" error. You can fix that by following this post -> http://www.stonetrip.com/developer/forum/viewtopic.php?f=27&t=23714&start=30#p39220

6. If all is successful, your app should be uploaded within 30 minutes to an hour and you should now be sitting there WAITING FOR APPROVAL!!!! :)

Thats it! Congratulations...within a week you will be either approved or told what needs to be changed/done to GET APPROVED!

Galaxy Quest -> "NEVER GIVE UP! NEVER SURRENDER!"

Nav
Last edited by gamescorpion on 10 Nov 2011, 10:10, edited 1 time in total.
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 25 Oct 2011, 22:26

ISSUE: Game is done...Step by step solution to release to submit to Android market?

OUR SOLUTION: Yes after much hard work we finally have figured out how to do this process AS WELL and even some of the hiccups.

STEP BY STEP FROM SHIVA TO ANDROID MARKET SUBMISSION:

ASSUMPTIONS - We assume you have already done all testing and the app is ready to be submitted.

3 MAJOR STEPS (You can take a small break after each major step if you wish).

MAJOR STEP 1 - SHIVA SPECIFIC STEPS:
=====================================
1. From ShiVa in the Game Editor, click on Game->Export and go to the export window

2. In the Export window, name your app (Export Name), Choose a local folder to export to, Select RUNTIME PACKAGE (.stk) and select ALL from the dropdown. Unfortunately for some weird reason we get some weird bugs when we try to export ANDROID ONLY. Could be our ShiVa version itself, but for this example to guarantee success for your Android app, we are going to do it this way.

3. Hit the Export button and wait for the export to happen (Depending on size of app, this could take a few minutes to an hour!)

4. Copy exported file to a new empty folder for ease of submission.

5. Copy ALL Required Icon Files and Splash Screens to the same folder (It would be wise to add an icon of 48x48 (Android), as well as several versions of splash screens (480x800 is android version). Also copy over another MASTER ICON as I like to call it, of size 512x512 which will be what is used in Marketplace. You will also need 4 screenshots, so copy those as well.

Here's a quick list of things to copy so you know (NEW APPS ONLY):
-1 Icon (48x48)
-Master Icon (512x512)
-Splash Screens (480x800)
-4 Screen Shots of App (Android versions - 800x480 and 1280x720)
-App Description (TEXT FILE)

MAJOR STEP 2 - WINDOWS SHIVA AUTHORING TOOL SPECIFIC STEPS (UAT PC):
====================================================================
UAT AUUMPTIONS: We assume for this tutorial that you have already been successful in compiling and running development apps using UAT and already have all the android stuff setup. We will not be going over how to do that in this tutorial. This is app submission specific for final distribution.

1. Now that we have the app copied and all required files (Or placed in a new folder where we will be doing all our work), we will start by opening up the Shiva Authoring Tool (UAT)

2. In UAT we will start by creating an android app SPECIFICALLY
UAT Step 1: Select the newly exported STK file from previous steps. Change all icons and splash screens to new ones. NOTE: Make sure you change the name of the OUTPUTTED STK FILE or else ShiVa UAT will give you a compile error. No dashes are allowed in the name!!!! (Usually ShiVa exports with a dash and then the date. Current UAT V1.2 at time of writing, throws an error for this naming format, simply change name of stk and it will work fine)
UAT Step 2: Authoring Type is APK Package, bundle identifier is anything you like, but keep in the format: com.COMPANYNAME.APPNAME. If this is a new version, make sure you edit the version numbers.
UAT Step 3: Build Type is DISTRIBUTION. Make sure you uncheck all items EXCEPT "Use OpenGLES 1.1" and then make sure the audio backend is "OpenAL". Choose your Minimum OS Support (I choose API Level:7, but you can choose what you like).

3. Click Build and you will see it build and compile.

4. You should now see (Upon successful build) an apk file that has been created in the directory that is in the format APPNAME-unsigned.apk. We will be working on signing this file and getting it ready for the Android Market.

MAJOR STEP 3 - SIGNING APP
==========================
NOTE: I got these steps from http://www.stonetrip.com/developer/forum/viewtopic.php?f=43&t=23605&p=35604#p35604. I have been using an EDITED version of it myself so its not exactly the same.

1. Copy the newly created file APPNAME-unsigned.apk to the C: folder

2. Hit Start, type Run and then type cmd and hit enter. This will get you into a cmd window (BLACK DOS) window.

FIRST TIME SIGNING MASTER KEY SETUP:
------------------------------------
NOTE: This set of steps is done only ONCE per app. It then remains in system memory for every future version. You can think of this like making the actual MASTER KEY and then after that we simply are going to re-sign with this same key all the time. You only have to make this key once per app.

1. Note down the location of your android sdk folder, and your java jdk folder as you will need them for the next steps.

2. Type the following commands (Just replace the directories with the above android sdk and jdk folders as I dont know how you have it organized. My android sdk folder is in Program Files (x86) and my java jdk folder is on the C: but your locations may vary so please adjust accordingly).
The only things you need to edit in the last line there are YOURAPPNAME and ANYPASSWORD. The rest keep it the same. MAKE SURE YOU REMEMBER THE PASSWORD or you wont be able to sign things. Answer ALL the questions it asks for after you enter the last line.

cd
cd C:jdk1.6.0_25bin
keytool -genkey -alias YOURAPPNAME -keypass ANYPASSWORD -validity 20000

3. Close the dos cmd window.

AFTER MASTER KEY HAS BEEN SETUP OR ASSUMING MASTER KEY IS ALREADY SETUP:
------------------------------------------------------------------------
1. Open a new dos cmd window (Start->Run->cmd) Type the following commands

cd
cd C:jdk1.6.0_25bin

jarsigner -storepass YOURPASSWORD -keypass YOURPASSWORD C:APPNAME-unsigned.apk APPNAME

NOTE: Make sure YOURPASSWORD is the same as the one you setup in the master key. Also make sure that you dont forget to put a space between C:APPNAME-unsigned.apk and APPNAME or it wont sign anything.

2. Next verify that the apk is signed by typing the following command:

jarsigner -verify C:APPNAME-unsigned.apk

NOTE: it should say "jar verified."

3. Go to your android sdk directory using the following commands (Your install location may be different. Adjust accordingly):

cd
cd Program Files (x86)
cd Android
cd android-sdk
cd tools

4. Now that we are in the tools section, lets run the following command:

zipalign 4 C:APPNAME-unsigned.apk C:APPNAME.apk

NOTE: Dont forget the 4. its not a TYPO! Also dont forget to put C: as you may forget this and it wont end up generating a file!!!

5. Congratulations, your app is now signed, copy the new file (Located on the C: without the word 'unsigned' in it) back to the directory where all the other files are and delete the unsigned file as it wont be required any longer.

THATS IT, now you can submit the binary to Android simply by uploading :) All files should be ready, just follow the Android Marketplace steps and everything should be fine.

ANDROID is much easier to get up and running imo.

Nav
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 12 Nov 2011, 09:28

ISSUE: Basic Game Center Integration STEP BY STEP From ShiVa to iOS with basic Game Center. This tutorial is only about adding a SINGLE LEADERBOARD. If you want to expand this then you will have to follow the forum threads as outlined in the credits below for more detailed info.

OUR SOLUTION: Ok so I wanted to put up a step by step for getting a basic game center implementation. I will be using all the contributions from ShiVa forums already however making it in a step by step procedure as I did for the other tutorials as it can be very confusing at times.

NOTES: What we have done in this tutorial is we are simply LINKING to the Game Center (App Switching) using a button that just goes there. This one is easiest and is usually approved by Apple without issue as its just a link to the game center app.

CREDITS: For the Game Center integration I will be using steps and procedures provided by the following users as well as myself:

A. tutorial created by vklymenko (http://www.stonetrip.com/developer/wiki/index.php?title=IOS_GameCenter ORIGINAL THREAD: http://www.stonetrip.com/developer/forum/viewtopic.php?f=40&t=22363).

B. I will also be expanding on the step-by-step ShiVa to iOS tutorial that I made (http://www.stonetrip.com/developer/wiki/index.php?title=Apple_iOS_Devices)

C. I will also be using the steps from another website blog article by Jeroen van Rijn ( PART 1: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-game-center-achievements-and-leaderboards-part-1/ PART 2: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-game-center-achievements-and-leaderboards-part-2/)

OK LETS BEGIN!

We will first integrate a simple leaderboard and get that to work. If you just want a score board that players can have their scores tracked then all you need is the leaderboard.

============================
LEADERBOARD
============================

BEFORE YOU START: We need to create an APP first that is GAME CENTER enabled. Without this our code wont work.

============================
STEP 1: ITUNES CONNECT STEPS
============================

1. Begin at STEP 4 of the article http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-game-center-achievements-and-leaderboards-part-1/ and add a new application. DO THE FOLLOWING STEPS ONLY:

Step 4
Step 5
Step 7 (MAKE SURE YOU DO THIS STEP FOR SURE OR ELSE IT WONT WORK!)

For this tutorial we do not want to add achievements (However if you do, I would recommend read more in the other posts or wait until I do a tutorial on achievements, but for now this tutorial is specifically for a basic leaderboard).

2. MAKE SURE YOU NOTE DOWN YOUR LEADERBOARD REFERENCE NAME. IT WILL BE REQUIRED FOR THE CODE IN STEP 3.

============================
STEP 2: SHIVA SPECIFIC STEPS
============================
ASSUMPTIONS: We are assuming that your AI is called MainAI and that you are starting with a BLANK NEW project that just has a single AI in it without any other code (You create your game AFTER we set this code up so you can test first to make sure all things are working.)

BONUS: I have attached the entire STE file of this specific step here for you so you can basically read through all the steps if you want just to follow along, but the setup is pretty much done in the STE file. ITS ATTACHED AS ZIP FILE :)

1. Create New Game (Game Editor->Create) and call it whatever you want your game to be known as
2. Create a new AI model called MainAI (Data Explorer->Create->Resource->AI Model->MainAI)
3. Copy the new AI Model to your game by clicking and dragging it into the User Main AIs section of the Game Editor
4. Open the MainAI Model in the AIModel Editor (AIModel Editor->AI Model->Open->MainAI)
5. Double Click Add Handler and add the following CUSTOM handlers (Just keep repeating this step to add each handler one at a time. PS: You dont have to add the word 'on' to the start of these handlers as ShiVa does that for you already, but just for example purpose i'm adding the word 'on' to them so you know what it should look like):

onClickButton
onGameCenterLogged
onGameCenterOut
onInitGameCenter
onSubmitScores

NOTE: On a side note, make sure you save user scores at the end of your game and at the beginning of your game, always submit the saved scores to Game Center again. This will make sure that users who get disconnected from Game Center during play will still have their scores recorded rather than only sending into Game Center at the time the score is achieved. This is a VERY important point and MUST be done to ensure the best quality experience for your users.

6. Now add the two following handlers:
onInit
onEnterFrame

7. We will now go over each handler one at a time. You should currently have the following handlers showing up (NOTE THE BRACKETS ARE CURRENTLY EMPTY):
onClickButton ( )
onEnterFrame ( )
onGameCenterLogged ( )
onGameCenterOut ( )
onInit ( )
onInitGameCenter ( )
onShowLeaderboard ( )
onSubmitScores ( )

8. Lets start with the first function onClickButton( )

8a. Open in script editor and inside the brackets add the word sTag and save the file. Your function should now say onClickButton ( sTag ). It should also say that in the list of handlers in the AIModel Editor. If it does not you have done something wrong. Repeat above step and try again until you see it there.
Your code should look like the following:
Code: Select all
--------------------------------------------------------------------------------
--  Handler.......... : onClickButton
--  Author........... :
--  Description...... :
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
function MainAI.onClickButton ( sTag )
--------------------------------------------------------------------------------
   
   --
   -- Write your code here, using 'this' as current AI instance.
   --
   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


8b. We will be coming back to this file after we build the HUD but for now we are done with this Handler.

9. onEnterFrame ( ) ignore for now, we will come to this after if required.

10. onGameCenterLogged ( ) put the following code which will set the global variable allowing us to know that a user is logged into Game Center:

Code: Select all
--------------------------------------------------------------------------------
--  Handler.......... : onGameCenterLogged
--  Author........... :
--  Description...... :
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
function MainAI.onGameCenterLogged (  )
--------------------------------------------------------------------------------
   
    -- Player is logged into Game Center, Set this in Environment variable
    application.setCurrentUserEnvironmentVariable ( "bGameCenter", true )
   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


11. onGameCenterOut( ) put the following code that will let us know that the player has signed out of game center:

Code: Select all
--------------------------------------------------------------------------------
--  Handler.......... : onGameCenterOut
--  Author........... :
--  Description...... :
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
function MainAI.onGameCenterOut (  )
--------------------------------------------------------------------------------

    -- Player is logged OUT of Game Center, Set this in Environment variable
    application.setCurrentUserEnvironmentVariable ( "bGameCenter", false )   
   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


12. onInit ( ) we need to setup the HUD that we will be using (We will call it main_hud and we will call the UNIQUE INSTANCE of it unique_instance_main_hud) and also we need to initialize Game Center. Put the following code into the onInit():

Code: Select all
--------------------------------------------------------------------------------
--  Handler.......... : onInit
--  Author........... :
--  Description...... :
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
function MainAI.onInit (  )
--------------------------------------------------------------------------------
   
    -- Create an instance of the intro_logo hud
    hud.newTemplateInstance ( this.getUser ( ), "main_hud", "unique_instance_main_hud" )

    -- ============================
    -- Game Center Integration Code
    -- ============================

    application.setCurrentUserEnvironmentVariable ( "bGameCenter", false )
    user.postEvent ( application.getCurrentUser ( ),0,"MainAI","onInitGameCenter" )   

    -- ================================
    -- END Game Center Integration Code
    -- ================================

   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


13. Leave onInitGamecenter ( ) and onShowLeaderboard ( ) empty

14. onSubmitScores ( ) we are going to put the word nScores into the brackets and save:

Code: Select all
--------------------------------------------------------------------------------
--  Handler.......... : onSubmitScores
--  Author........... :
--  Description...... :
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
function MainAI.onSubmitScores ( nScores )
--------------------------------------------------------------------------------
   
   --
   -- Write your code here, using 'this' as current AI instance.
   --
   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


15. Next we need to add the environment variable for Game Center login detection. Go to the Game Editor->Environment tab and then click on Add and add a boolean called bGameCenter. It should initially be set to false.

16. Your event handlers list should now look like the following:

onClickButton ( sTag )
onEnterFrame ( )
onGameCenterLogged ( )
onGameCenterOut ( )
onInit ( )
onInitGameCenter ( )
onSubmitScores ( nScores )

17. Now lets create the HUD. Go to the HUD Editor and create a new hud called main_hud (HUD Editor->HUD->Create->main_hud) and make sure to drag the HUD from the Data Explorer to the Resources section of your game.

18. Create a label (Right Click Components->Add Component) and call it lbl_score. This will be where we keep our main score.

19. Create a button (Right Click Components->Add Component) and call it btn_addpoints. Make sure it is of type button as we will be coming back to this component after adding new actions to it. It will be used to add points to our score. Go to the Button section and in the Text area type in "Add Points"

20. Create another button (Right Click Components->Add Component) and call it btn_sendscore. Go to the Button section and in the text area type in "Send Score". This button will send the score into Game Center. NOTE: If game center is not connected, it will not work. The solution to this is to always make sure you save the users score in a file and then every time you launch your game, send the score into game center. That way it will always try to update a user score with the latest information. For this app however we are assuming you are logged in, however it's best practice to save and send score in the onInit ( ) handler at the beginning of your program.

21. Create another button (Right Click Components->Add Component) and call it btn_viewleaderboard. Go to the Button section and in the text area type in "Leaderboard". This will link directly to Game Center. That's it for the HUD, save the HUD (HUD Editor->HUD->Save).

22. Next lets add an Environment variable to handle the score. Go to Game Editor->Environment tab and add the variable nScore and make sure it is of type number.

23. Ok so for now lets just run the program to see that everything is working. Go ahead and hit RUN. You should see it running with NO ERRORS OR WARNINGS.
After you have tested that, lets continue forward. Lets now add the actions that take place when a user clicks on the buttons and also we need to setup the score.

24. Open the onInit ( ) handler and add the following line to the end to set the score environment variable to 0 and also to report this same score to the HUD.

Code: Select all

    -- Set the game score
    application.setCurrentUserEnvironmentVariable ( "nScore", 0 )
   
    -- Set HUD score
    local hComponent = hud.getComponent ( application.getCurrentUser ( ), "unique_instance_main_hud.lbl_score" )
    hud.setLabelText ( hComponent, ""..application.getCurrentUserEnvironmentVariable ( "nScore" ) )


25. Next we will create the actions that take place when a button is clicked. Save that file and lets go back into the HUD and create a new action (HUD Editor->Right Click Actions->Add Action) called btn_addpoints_mousedown. Add a CopyTagToRegister command to it by right clicking on the action and click on add command and select CopyTagToRegister from the drop down list. For component select btn_addpoints and for number leave it at 0. Hit OK.

26. Add a next command to the same action (btn_addpoints_mousedown) called SendEventToUser (Right Click btn_addpoints_mousedown->Add Command->SendEventToUser from the dropdown). Set user to RuntimeValue & CurrentUser. Set AIModel to String and MainAI. Set Event to String and onClickButton. Set Call Parameter 0 to RuntimeValue and Register0. Hit OK.

27. Double click on btn_addpoints and then go to the button tab section below. Make sure you set the Clicked Action to btn_addpoints_mousedown and hit ok. Save the HUD (HUD->Save)

28. Now lets go to our code handler called onClickButton ( sTag ) and add the following lines to it:

Code: Select all
    if ( sTag == "unique_instance_main_hud.btn_addpoints" ) then
        -- Add points to score
        local nScore = application.getCurrentUserEnvironmentVariable ( "nScore" )
        nScore = nScore + 1
        application.setCurrentUserEnvironmentVariable ( "nScore", nScore )
       
        -- Update score in HUD
        local hComponent = hud.getComponent ( application.getCurrentUser ( ), "unique_instance_main_hud.lbl_score" )
        hud.setLabelText ( hComponent, ""..application.getCurrentUserEnvironmentVariable ( "nScore" ) )
    end


29. Save and run the program. You should now be able to click the Add Points button and see points being added without issue. Lets now send the score into Game Center.

30. Lets go back into the HUD and create a new action (HUD Editor->Right Click Actions->Add Action) called btn_sendscore_mousedown. Add a CopyTagToRegister command to it by right clicking on the action and click on add command and select CopyTagToRegister from the drop down list. For component select btn_sendscore and for number leave it at 0. Hit OK.

31. Add a next command to the same action (btn_sendscore_mousedown) called SendEventToUser (Right Click btn_sendscore_mousedown->Add Command->SendEventToUser from the dropdown). Set user to RuntimeValue & CurrentUser. Set AIModel to String and MainAI. Set Event to String and onClickButton. Set Call Parameter 0 to RuntimeValue and Register0. Hit OK.

32. Double click on btn_sendscore and then go to the button tab section below. Make sure you set the Clicked Action to btn_sendscore_mousedown and hit ok. Save the HUD (HUD->Save)

33. Lets go back into the HUD and create a new action (HUD Editor->Right Click Actions->Add Action) called btn_viewleaderboard_mousedown. Add a CopyTagToRegister command to it by right clicking on the action and click on add command and select CopyTagToRegister from the drop down list. For component select btn_viewleaderboard and for number leave it at 0. Hit OK.

34. Add a next command to the same action (btn_viewleaderboard_mousedown) called SendEventToUser (Right Click btn_sendscore_mousedown->Add Command->SendEventToUser from the dropdown). Set user to RuntimeValue & CurrentUser. Set AIModel to String and MainAI. Set Event to String and onClickButton. Set Call Parameter 0 to RuntimeValue and Register0. Hit OK.

35. Double click on btn_viewleaderboard and then go to the button tab section below. Make sure you set the Clicked Action to btn_viewleaderboard_mousedown and hit ok. Save the HUD (HUD->Save)

36. At this point, lets go back to the onClickButton ( sTag ) handler and add the following code lines to it to check for the button clicks:

Code: Select all

    if ( sTag == "unique_instance_main_hud.btn_sendscore" ) then
        -- Send score to Game Center
        local nScore = application.getCurrentUserEnvironmentVariable ( "nScore" )
        user.postEvent ( application.getCurrentUser ( ), 0, "MainAI", "onSubmitScores", nScore )       
    end

    if ( sTag == "unique_instance_main_hud.btn_viewleaderboard" ) then
        -- Show Gamecenter Leaderboard
        user.postEvent ( application.getCurrentUser ( ), 0, "MainAI", "onShowLeaderboard" )
    end


37. Ok so now we are done with our app. You should be able to compile and run it, however the last two buttons will not work as we need to be in an actual device to use them.

==========================
STEP 3: iOS SPECIFIC STEPS
==========================

1. Follow the steps required to creating the game in my other tutorial which takes you from ShiVa to iOS http://www.stonetrip.com/developer/wiki/index.php?title=Apple_iOS_Devices SPECIFICALLY DO THE FOLLOWING STEPS ONLY:

Step 1 - Inside ShiVa
Step 2 - UAT (MAC)
Step 3 - Targeting (BUT MAKE SURE THAT YOU DO NOT USE THE DISTRIBUTION CODE SIGNING BUT INSTEAD YOUR DEVELOPER ONE - #4)
Step 4 - info.plist

2. Now we will be actually building and running the app to test out our game center. We will start off by following the steps on the iOS Game Center Integration http://www.stonetrip.com/developer/wiki/index.php?title=IOS_GameCenter However I will be making some modifications that will focus ONLY on Leaderboards. I will refer to this as the GAMECENTER TUTORIAL for the rest of this part.

3. In the GAMECENTER TUTORIAL start off at the S3DEngine_Wrapper.cpp part. Continue doing the next parts of the tutorial as follows:
S3DEngine_Wrapper.h
S3DEngine_EAGLView.h
S3DEngine_EAGLView.m
S3DEngine_EAGLView.h

4. Now we are going to do the "Integration: Leaderboard, Achievements, High Score" step
from the GAMECENTER TUTORIAL however we are not going to be doing the Achievements part or the High Score part. You can attempt it, however for this tutorial we are focusing only on getting the leaderboard going.

5. In the S3DEngine_EAGLView.h step do only the following:

S3DEngine_EAGLView.h to get more features, add these:

Code: Select all
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController;
- (void)showLeaderboard;

- (void)reportScore;


NOTE: If you notice, I have removed the lines for Achievements and reporting them. I will be doing this for pretty much most of it with an added item for a link.

6. In the S3DEngine_EAGLView.m step use the following code instead of what is provided - MAKE NOTE, WE ARE PUTTING A LINK TO GAMECENTER HERE INSTEAD OF SHOWING THE LEADERBOARD IN THE APP ITSELF!!:

Code: Select all
         if ( S3DEngine_GameCenter_WantVisible ( ) )
         {
            S3DEngine_GameCenter_SetWantVisibleFalse();
            //THIS WAS THE OLD CODE BELOW
            //[self showLeaderboard];   
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];       

         }
 
         if (S3DEngine_GameCenter_WantSubmitScores())
         {
            S3DEngine_GameCenter_SetWantSubmitScoresFalse();
            [self reportScore];
         }



AND in the next part of the same step, only keep the leaderboard code functions, remove the achievement ones as follows:

Code: Select all
- (void)showLeaderboard
{

   UIWindow* window = [UIApplication sharedApplication].keyWindow;

    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];   
    if (leaderboardController != nil) {
      leaderboardController.leaderboardDelegate = self;

      UIViewController *glView2 = [[UIViewController alloc] init];
      [window addSubview: glView2.view];
        [glView2 presentModalViewController: leaderboardController animated: YES];
    }

}

- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [viewController dismissModalViewControllerAnimated:YES];
   [viewController.view.superview removeFromSuperview];
   [viewController release];
}

- (void)reportScore
{

    GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:@"LeaderboardName1"] autorelease];
   if(scoreReporter){
      scoreReporter.value = S3DEngine_GameCenter_GetScoresToSubmit();   

      [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {   
         if (error != nil){
            // handle the reporting error

         }
      }];   
   }
}




NOTE: in the LAST function there, you will see LeaderboardName1 in the code. THIS MUST BE CHANGED TO THE NAME YOU CHOSE IN STEP 1 on iTunes where you setup your leaderboard. IT MUST BE THE EXACT id name you chose or else it will not work. So make sure you do that part correctly. Most issues of it not being recorded are due to using the wrong name.

7. in the S3DEngine_Wrapper.h step do the following instead:

Code: Select all

extern bool         S3DEngine_GameCenter_WantVisible            ( );
extern void         S3DEngine_GameCenter_SetWantVisibleFalse      ( );

extern bool         S3DEngine_GameCenter_WantSubmitScores         ( );
extern void         S3DEngine_GameCenter_SetWantSubmitScoresFalse   ( );
extern int         S3DEngine_GameCenter_GetScoresToSubmit         ( );



8. in the S3DEngine_Wrapper.cpp step do the following for the first part:

Code: Select all
static bool bGameCenterWantVisible = false;

static bool   bGameCenterWantSubmitScores=false;
static int nScoresToSubmit = 0;


9. the next part of the S3DEngine_Wrapper.cpp step must be changed to the following:

Code: Select all
void GameCenterSetVisibleCallback ( unsigned char _iArgumentCount, const void *_pArguments, void *_pUserData )
{   
   bGameCenterWantVisible = true;
}
 
void GameCenterSubmitScoresCallback ( unsigned char _iArgumentCount, const void *_pArguments, void *_pUserData )
{
   bGameCenterWantSubmitScores = true;
   const S3DX::AIVariable *pVariables = (const S3DX::AIVariable *)_pArguments ;
   nScoresToSubmit   = pVariables[0].GetNumberValue ( );
}



10. The next part of the same step should look like:

Code: Select all
   S3DClient_InstallCurrentUserEventHook   ( "MainAI", "onShowLeaderboard", GameCenterSetVisibleCallback, NULL ) ;

   S3DClient_InstallCurrentUserEventHook   ( "MainAI", "onSubmitScores",  GameCenterSubmitScoresCallback, NULL ) ;


11. And at the end of that file do this code:

Code: Select all
extern "C" bool S3DEngine_GameCenter_WantVisible ( )
{
    return bGameCenterWantVisible ;
}

extern "C" void S3DEngine_GameCenter_SetWantVisibleFalse ( )
{
    bGameCenterWantVisible = false;
}
 
extern "C" bool S3DEngine_GameCenter_WantSubmitScores ( )
{
    return bGameCenterWantSubmitScores ;
}

extern "C" void S3DEngine_GameCenter_SetWantSubmitScoresFalse ( )
{
    bGameCenterWantSubmitScores = false;
}

extern "C" int S3DEngine_GameCenter_GetScoresToSubmit()
{
   return nScoresToSubmit;
}


12. WE ARE NOW COMPLETE the integration via xCode, now we need to move onto compiling and building it and testing it, however before we begin we MUST create a SANDBOX account with our development device.

==========================
STEP 4: SANDBOX ACCOUNT
==========================

1. Go to Game Center on your development device
2. Create a new account with a new email address. You should see the Game Center stating that it is in Sandbox. If it does not say that then you are either not using a development device or are using a device who's provisioning profile has expired. Make sure it says sandbox.
3. Create a new account step by step and use a new email address (Set one up if you dont have one).
4. Write down the info and just log into gamecenter and return back into xCode.

==========================
STEP 5: TESTING APP
==========================

1. Go ahead and click on Build and Run in xCode. You will probably end up with several WARNINGS. Not to worry, just ignore them for now and run the app. If everything is set, you should now see yourself being logged into Game Center with a nice message saying "Welcome Back" with your new username.

2. Lets go ahead and first test the button for viewing the leaderboard. If you click on Leaderboard, you should be taken to the Game Center leaderboard for the game. If this is successful exit out of that and go back to the application. Right now you should not see any high scores, it should only list the leaderboard with empty scores.

3. Back in the app again, lets add a few points and then click on the Send Score button. After that is done, hit the Leaderboard button again and this time you should see a new leaderboard score with your username and the score there.

CONGRATULATIONS, YOU HAVE SUCCESSFULLY SETUP A LEADERBOARD! Now users around the world can play your game and add scores.

WHAT'S NEXT?

Well now what you want to do is use the same commands and start building your game fully from this template. If you have multiple levels, you can (IN THIS IMPLEMENTATION) only submit a SINGLE score. The best way to do this would be to add up the scores from all levels and submit it as a single score to Game Center.

What you want to do after all of this is learn how to do achievements which will be the next tutorial. ENJOY!

Nav
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 02 Dec 2011, 04:32

ISSUE: Game is made, its in the app stores...now what?? How Do I Market My Game?

OUR SOLUTION: Ok we spent over $1000 on marketing to learn the BEST marketing methods! Hopefully you'll learn from our mistakes and what worked and what didn't so you can save your thousand dollars as well. We came to the realization that an INDIE marketing strategy for your app should be around $100 if you choose the right avenues (If you've got the money to burn, then hey this is not for you, but this is the n00b section so thats why i kept it here). Then a continuous $100/month of consistent marketing. I will describe here what worked for us and what was just a waste of time and money for us or was not the best compared to other options.

PRWeb.com - Cost us $373.50 CAD and the results were not the best and not the worst. We got into one major newspaper which was pretty good, but then we learnt of other press release companies and their prices and we realized we paid too much. Would we try this again, probably not.

TheiPhoneAppReview.com - Cost us $150 CAD and we really found a great feedback from this. Our app was personally reviewed and we even had a video go up with a full article written up and sent all over google. It was well worth the price. Unfortunately this generates just a review, but the reviews that matter are the ones on iTunes...That aside however it was a great option that we will only consider now on MAJOR app releases. This is definitely worth doing, but consider it only for those apps you take great time on.

express-press-release.net - Cost us $59 USD and was a waste of our money. The press release goes out to all of thier websites. It really did not give a great response and in my opinion it seems like a very useless site just copying and pasting our press release to its other sites of a similar name. It showed up in google, but really not as good as the other options. I would not do this again for any of our apps.

appbite.com Review - Cost us only $25 USD and was very well indexed in google. We saw value for our money with this. We would do this on many apps including large major apps. Money well spent in my opinion.

iPhoneFootPrint.com Review - Cost us $29 USD...it was ok, not the best, it was sad because the person who wrote the articles just didn't speak english properly so it looks pretty bad. Also it took us several emails before anyone contacted us that they were writing our article (EVEN AFTER BEING PAID!). Anyways, we would not use this service again ourselves.

appdictions.com - Cost us $60 USD. Great response and great review. I'd say its something for a major release however, not for your basic apps. If you have a fart app or something u made over a weekend, then I would not recommend spending the $60 USD. However if you spent some good time on an app, then this is a great and recommended website to get your app reviewed. We would personally use this website again for our major releases.

bombappromotion.com - Cost us $30 USD. They claim to be a marketing company that gets the word out. For $30 USD they simply just posted a tweet 3 times on their twitter account...NOT WORTH IT AT ALL. We would not use their service again, really don't get the value for your money.

oDesk.com Staff - Outsourcing staff in Philippines. Cost us $120 USD @ $2.22/USD/Hour. Well you get what you pay for right? lol! Basically we had a staff outsourced who helped to increase our facebook and twitter account and promote our apps. It was ok for a bit, however the results weren't the best. We will not be doing this again as it really did not produce the results for the money.

CrazyMikesApps.com - VERY WELL DONE! This was a great buy! Cost us $109 USD, however we got a full video review and an article review that was honest and a full 5 minutes as well as a full marketing promotion for a free day with them. This is only recommended for like a major app that you produce, not a small app. We will definitely use them again for our major apps, it was a great experience.

Gamepress - WOW! Free for us to send them a press release and the results are AMAZING! We got indexed in all the major game places within a week and our press release was everywhere! This is by far the BEST place to send your press release in and costs you nothing!

Touch Arcade Contests - THIS IS THE VERY BEST METHOD! WE USE THIS FOR EVERY ONE OF OUR APPS! $30-$45 in obtaining 2-3 iTunes $15 gift cards and then just getting users to try your game out and write honest opinions and follow you on twitter and like you on facebook. We get honest reviews and plenty of them, and we also get honest fans and great feedback as well! This is an amazing method that works perfectly!

prmac - Its about $30 USD for a press release. We have not tried this as yet, but it is for sure worth it from what we have seen. We will be testing this out in the future.

CONCLUSION:

Total Spent: Approx. $1050 USD

Best Methods (In my opinion):
1. Word of Mouth (FREE)
2. Touch Arcade Contests ($30-$45)
3. Gamepress (FREE)

Hope this helps save someone a lot of time and money :)

Nav
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 27 Dec 2011, 03:20

ISSUE: How do I make money selling apps? (Slightly off topic but still relates to ShiVa developers as we create apps)

OUR SOLUTION: So what we've noticed that works for us (AND MAKES MONEY - PS: This is what worked for us here at Game Scorpion Inc., all items may or may not work in your specific case. These findings come from developing apps for the past 8 months and going over what our sales figures were that led us to these conclusions.):

1. SMALLER MARKET = HIGHER SALES -> If you're in a market that has less apps fighting for the lime light, you're going to make more money. I know it seems obvious but we originally thought that just being on iOS was the goldmine. Instead it turned out that going to smaller markets like amazon allowed us to make much more.

2. Seasonal apps/useful apps = MORE SALES, games are far too saturated. If we make a game it will be because we love making the game rather than just focusing on the money aspect. What makes money from our experience are actual apps rather than games.

3. FREEMIUM model works best on iOS. Paid model (CURRENTLY) works best on Kindle Fire. Still haven't figured out what model works best for the Android Market...just really hasn't worked out well for us. I'm thinking maybe an advertisement strategy or something. Windows 7 we haven't touched yet, but are looking into it. Blackberry playbook...um...havent tested it yet either.

4. Press releases on prmac.com work best along with giving away 2-3 $15 gift cards on touch arcade forums. Users usually rate your app honestly and if your app is good, you end up getting a LOT of great ratings that just helps to boost sales even more.

5. UPDATE UPDATE UPDATE! Once you've created all the apps you want (we're still in the creation process, aiming to create a total of 20 apps for mid 2012) then you should focus the rest of the time on UPDATES and UPGRADES! This is so very important. Listen to your users and add in only the BEST features. Remember, you dont need to listen to every idea that is given, just choose the ones that you believe are in the best interest of everyone. The biggest mistake we made was trying to listen to everyone and pleasing everyone, only to end up not pleasing anyone, not even ourselves (lost profit because game became too complex and lost its touch that made it spectacular in the first place).

6. Underpromise...OVER DELIVER! We learnt from one of our apps that you should never over hype it up so much that people expect so much out of an app and end up getting disappointed when its not what they expected it to be. The opposite holds true. Its better to just state a basic hype of the app, give it a basic marketing and let the users spread the word of mouth that its good. This way when a user goes in they are not disappointed that they didn't get the stars in the sky you promised.

7. KISS - KEEP IT SIMPLE STUPID! Keep your app simple, solve a SINGLE need and create another app to solve another one. Don't try and make apps become the end all and be all app. It's better to have an app that is a CALCULATOR only than to have an app that is 50 types of calculators in one.

8. REALISTIC indie app success is when an app is able to acheive $50-$100/day @ $0.99 in sales or higher. If you're thinking app success stories are millions of dollars overnight, thats not the majority of indie devs, only a very small handful. If you do the math, if you were able to create 20 SOLID apps in 4-5 different marketplaces (iOS, Android, Amazon, App Hub, Blackberry) and each app earned around $50/day from all markets COMBINED, you'd be looking at around $1000/day from 20 apps. You'd have a solid business bringing in around $30k USD / month and could now call yourself a solid SMALL corporation. This is what we are working towards. WHILE you work towards this aim, if one of your apps turns viral, thats when you'll become one of those angry birds stories. IT IS possible, but only a handful of devs get to that point. But the route that we have gone thus far will guarantee hopefully at least a solid base for a small corporation and being my own boss and doing what I love doing which is making video games for a living :) Hard work, dedication and thinking smart will get you success and allow you to make money with apps. If you're thinking of a get rich quick scheme, you are in the wrong industry. For the first 6 months there was NO MONEY. The major money will start coming in after 1.5 years (18 months). You need to be able to handle that fact, and until then, continue working towards having a total of 20 SOLID apps in the market. SOLID = QUALITY. People pay for quality, usefullness and FUN/Entertainment. Have a good mix of fart app style ridiculous apps with high quality style useful apps that people need as well as games. If you do all of that you should be able to really earn very good money over time. RIGHT NOW (2011) is the heart of the app industry and will continue for at least the next 3-5 years or more. Getting in now is the KEY to success. If you get in too late, pretty soon, these will become like websites...everyone will have one or know how to make one or will pay very low prices for these apps. Don't wait till 2020 before you jump onto the app bandwagon, GET SHIVA TODAY AND START MAKING APPS!

Hope this helps :)

Nav
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby RedKetchup » 27 Dec 2011, 12:03

Thanks for all your great work, hope it get included into the wiki.
User avatar
RedKetchup
Platinum Boarder
Platinum Boarder
 
Posts: 442
Location: Nil variable

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 27 Jan 2012, 06:55

ISSUE: How to go from ShiVa to Blackberry (Step by Step for first time)

OUR SOLUTION: Ok here goes, the full step by step as we went through them on our end. I will break this down into FIRST TIME and AFTERWARDS. The reason is that the FIRST TIME you set things up, there are a lot of steps. Afterwards its simple to create the apps and sign them and upload things. NOTE: ALL OUR APPS FROM SHIVA MUST BE ON OS 2.0 OF BLACKBERRY PLAYBOOK! They sent me a very stern warning about this as any app going from Android to BAR will only work on OS 2.0 so if anyone does not put this as their OS they are applying for, blackberry will reject them.

CREDITS: The steps were taken from ShiVa docs and wiki as well as our steps we took at Game Scorpion Inc.

ShiVa Docs for first part of tutorial:
http://www.stonetrip.com/developer/doc/authoringtool/installation

FIRST TIME:

BLACKBERRY OS SETUP STEPS

1. Blackberry SDK You need to download the SDK : https://bdsc.webapps.blackberry.com/native/downloads/fetch/installer-bbndk-1.0-win32-3312-201110112127-201110120215.exe and install it.

2. This next part was confusing, apparently what you downloaded in step 1 was BlackBerry's OWN VERSION of Eclipse. OPEN up the newly installed program and follow these next steps in the BlackBerry version of Eclipse (Yes DO NOT get confused by trying to open up your own version of eclipse, i know the steps can be confusing, took me around 3-4 hours to figure it out sadly lol)

3. In the BLACKBERRY program you just installed (Eclipse BlackBerry) open the program up and navigate to Window > Preferences > BlackBerry > BlackBerry Tools SDK > Bar Signer.

4. In the Developer Certificate section, click Create certificate.... If you have previously created a developer certificate, click Select certificate....

5. In the Create Developer Certificate window, in the Certificate Path field, type the path where you want to store your code-signing certificate.

6. In the Author field, type your company name.

7. In the Keystore Password field, type a password to control access to the certificate. This is the CSK Password that you created to register the code signing keys. (REMEMBER THIS PASSWORD, IT WILL BE USED FOR SIGNING LATER ON!)

8. In the Confirm Keystore Password field, type the password you provided in the previous step.

9. Click OK.

10. Now you need to register for signing keys order filling a form at : https://www.blackberry.com/SignedKeys/. NOTE: It will take up to 2 hours for you to receive the keys via email.

(COFFEE BREAK - 2 Hours or so wait time before receiving keys)

SET YOUR DEVICE TO DEBUG MODE (We are assuming that you have a playbook to test with. If not, you will have to find the steps on the web to install a simulator instead):

1. Click on the GEAR (Settings) icon on the Playbook (Top Right)

2. Go to Security and select Development Mode

3. It will ask you for a password, enter one in and then return back to the main screen

4. If done correctly you should now see an icon of a little man with a gear in his chest in the top right. If you click on this icon, it will give you an IP address that you will need in order to connect to the device via the ShiVa UAT. (If you are using both wireless and wired development there will be 2 different IP addresses)

UPON RECEIVING KEYS (DEBUG TOKEN), START THE NEXT STEPS BELOW:

11. Save the keys from the email onto your desktop

12. Open the blackberry eclipse program again and go to window->preferences->blackberry tablet os->signing and then click on "BlackBerry Tablet OS Deployment Setup Wizard".

13. Follow the wizard instructions step by step until you get to the step asking you if you have registered.

14. Select NO and that you need to sign up for keys. At this point it will show you 5 file locations you have to now find the files you received from email from blackberry. (There are 5 files which in your email you should have saved to your desktop in step 11. You will now link each of the requested files by finding them on your desktop.)

15. After this, complete the wizard (it will try and register the keys, make sure you have an internet connection to do this, keep hitting next until it is registered. The only way for any of these above steps to fail is if you entered wrong passwords. Keep on hand the PIN code you created as well on the blackberry website when generating your debug token).

16. Hit OK after everything is done and exit the BlackBerry Eclipse program. You are now setup.

ShiVa Steps

1. Export your app as an STK file using ALL for the export. This is done in the game editor. (We are assuming that you already know how to do this, if not please read the ShiVa to Android or ShiVa to iOS tutorial for more elaborate details).

2. Once exported, you should see an STK file created in the directory you chose. Next we need to create an icon of size 86 x 86 png format. We will also require a splash screen of size 1024 x 600. Once you have that created we can move onto the next step.

ShiVa UAT Steps

1. Open up the ShiVa Authoring Tool (UAT).

2. Select the BlackBerry Playbook Icon

3. Before doing anything, select the settings button at the bottom right of the screen next to the build button.

4. Set the path of the BlackBerry NDK folder (most likely C: bbndk-1.0)

5. Hit OK and come back

6. Fill in the stk file, icon file and splash screen and then select step 2

7. Select BAR package, enter your reverse domain bundle identifier, put your company name for Signing Identity, and then the version and select Step 3

8. Set the build type to Development if you wish to test or Distribution if you wish to release an app to BlackBerry App world. Both have a different set of steps so I am going to outline each one below.

A. BlackBerry Testing
a. Set build type in UAT as Development
b. Select the first checkbox to use OpenGLES 1.1
c. Select the network or other options you wish to use
d. Select "install on connected device"
e. In the device IP section, enter the device IP you obtained after the coffee break by clicking on the man with the gear heart on your blackberry device.
f. Enter the device password (The same one you created for your CSK in the previous steps above)
g. Enter the location of your device debug token you generated (This is usually located at C:/Users/YOUR_USER_NAME/AppData/Local/Research In Motion/debugtoken1.bar)
h. Set your output folder
i. Hit build.

If all goes well, it should now install on your device for testing.

B. BlackBerry Distribution to App World
a. Select Distritubtion in step 3 of UAT
b. Select the first checkbox to use OpenGLES 1.1
c. Select the network or other options you wish to use
d. DO NOT Select "install on connected device"
e. Set the output location of the file
f. Hit build

Now after this, you should have a bar file, however it is an UNSIGNED version. We now need to sign it by opening up a command window (DOS).

g. Hit Start->Run and type in cmd to start the command prompt (DOS) window.
h. Do the following:
cd
cd bbndk-1.0
cd host
cd win32
cd x86
cd usr
cd bin
blackberry-signer -storepass <KeystorePassword> <BAR_file.bar>

NOTE: You basically are going to C: /bbndk-1.0/host/win32/x86/usr/bin
NOTE 2: Its easier if you place your unsigned BAR file in the C: to sign
NOTE 3: your KeystorePassword is the same csk password you created in the previous steps above.

i. If done correctly you should now have a signed BAR file.
j. Our next step is to go onto app world to upload the file

App World Steps
1. Go to blackberry developer portal
2. Create a new app
3. There is a place called RELEASES which has a + sign on it. Hit that sign and it will allow you to upload your files there. It took me 2 days to figure that out! But yes, hit the plus sign under releases and you can upload your BAR file.
4. Also when you are setting up an app, make sure you select OS 2.0 as the OS for playbook! Apparently that is what works for our ShiVa apps.

Once everything is said and done you should be able to submit.

Errors or Having to RESUBMIT due to error in code
Some of you may experience your app running ONCE during debugging and then after that not running again. This is due to some large file loading (which is what happened in our case, we loaded too many sounds into our scene and it kept crashing). In this case BlackBerry will reject the app and send you a note like we got -> "- when I tap your apps icon, your apps closed by itself,".

When you get this note back, they have rejected your app, so re-test the app during debutting mode, CLOSE the app again and then try running it again to re-produce the error. Once you have fixed the error and everything is done, you have to INCREMENT the version number (Step 2 of ShiVa UAT) by 1 unit in order to have the signing work or else you will get the following error when signing your bar file "Error: Code signing request failed because this file has been previously signed".

From what I can tell it seems like it uses the internet to verify that a version has previously already been signed which means that any updates or upgrades, you will have to INCREMENT the version number in the UAT and recompile and resign again and upload a NEW RELEASE on the BlackBerry dev portal. Pain in the ARSE! but hey, u gotta do what u gotta do to get it on rite? lol.

UPON APPROVAL

Go into your blackberry isv portal ( https://appworld.blackberry.com/isvportal/ ) and MAKE SURE TO CLICK "POST FOR SALE" OR ELSE YOU WILL NOT HAVE YOUR APP SELLING!!! I didn't do this for 3 days not realizing why it was not showing up even though it was approved! Lost 2-3 days worth of sales because of this silly oversight. Yes blackberry can be a challenge but now you know :) Save yourself some time, and make even more money now :)

God Bless!

Nav
Last edited by gamescorpion on 12 Feb 2012, 02:24, edited 1 time in total.
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 10 Feb 2012, 08:34

ISSUE: Blackberry upload failure with this message: "•File bundle (YOUR_FILE.bar) has been rejected. Package ID is required for all .bar file. If this is an upgrade, Package ID must match Package ID in original file bundle."

OUR SOLUTION(S) -

METHOD 1:
We had to continuously update the file version (step 2 ShiVa UAT - Versioning section), retrying bundle id's, even trying different browser and redoing the following steps until we finally got it working (Dont know the exact reason on why this works but its very annoying):

1. Increment the version in step 2 of UAT
2. Recompile BAR
3. Resign bar (via cmd in dos)
4. Re-start from a fresh release (Even try changing browsers from firefox to IE if need be)
5. Repeat and increment the version. (Ex. if you had 1.1.0 last time, try 1.1.1 or 1.1.2 or even 1.2.0, etc.)

REPEAT UNTIL YOU GET IT.

NOTE: We even checked the manifest file and noticed that the UAT adds an extra digit to the end so whatever you increment it to, it adds .1 to the end. EX. if you increment to 1.4.0, ShiVa UAT makes this into 1.4.0.1

METHOD 2:

If the above fails like 5-6 times, then your only recourse (From blackberry's website) is to re-do the entire app submission with a new app and just rename the old app submission something like, "YourApp-Disregard" as you cannot delete app submissions.

METHOD 3:

Send an email to blackberry support.

METHOD 4:

PRAY (This actually works, after like 15 attempts, I prayed and it worked! Try it!)

Really messed up backend system they have right now at Blackberry, Hopefully they will figure things out.

Nav
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

Re: noob FAQ - Problem and Answers Only Pls

Postby redmotion » 12 Feb 2012, 10:30

Thanks for the tutorials gamescorpion.

Did you find that installing from UAT direct to the simulator that it installs ok but the app doesn't run giving an error?

EDIT: Possibly the OS version of the simulator I'm running is 1.0.8
EDIT2: No both versions have an error.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: noob FAQ - Problem and Answers Only Pls

Postby gamescorpion » 12 Feb 2012, 12:29

redmotion wrote:Thanks for the tutorials gamescorpion.

Did you find that installing from UAT direct to the simulator that it installs ok but the app doesn't run giving an error?

EDIT: Possibly the OS version of the simulator I'm running is 1.0.8
EDIT2: No both versions have an error.


Hi redmotion,

We have the actual device already which we used to test so we never installed a simulator so unfortunately I cannot tell you much about the simulator.

However here are the steps on the actual device we followed which we believe should work similar on the simulator:
1. SET YOUR DEVICE TO DEVELOPMENT MODE
-Hit Settings Button (Top Right of Playbook, looks like a gear icon)
-Go to Security
-Select Development Mode
-Turn Use Development Mode to ON
-Enter password
-Go back to main screen/home screen (Move finger from bottom of playbook to the top)
-There should be a new icon of a little man. Select this icon and you will see something that says IP Address. Note this IP down as this is what you put into the ShiVa UAT (NOTE: If you do not see any IP address, you must enable the internet in settings via wifi or other method to obtain a proper IP address)

2. In UAT in the 3rd step set the IP address to the one you got in Step 1
3. In UAT you will need to set the debug token to the location in the tutorial (View tutorial for ShiVa to Blackberry to find the location)
4. Compile and run


See if this works for you redmotion. At the very least SETUP your app for submission and get it ready to submit before the 13th ends in order to be eligible for the free playbook offer that RIM is doing. You need to try and get at least a signed copy IN for approval in order to be considered from what I read in the rules. Good luck! I'm available all day today (12th) and 13th as well for those devs who need help. I will try my best to help out everyone so we can all get a free playbook!!!

Nav

EDIT: redmotion, I forgot to tell you, there is an APP MEMORY LIMIT on sounds and music! Apparently you can have a certain max level in memory (memory wise for sounds, limit of 8 for music in scenes). We noticed this issue with our app iClockStaionPro where we kept all our sounds as music items in SCENE however it would not accept this in Blackberry and the app kept crashing, but it worked on the kindle fire. What we did was we had to split up into 8 music items (0-7) in a scene and the rest in sounds via a soundbank. Hope this helps if that is your crashing issue.
Game Scorpion Inc. http://www.gamescorpion.com
JOIN MY TRAINING AND APP RESOURCE MEGA SITE - App Dev Toolkit (The #1 Resource For App Developers):
http://www.AppDevToolkit.com
User avatar
gamescorpion
Platinum Boarder
Platinum Boarder
 
Posts: 665
Location: Ontario, Canada

PreviousNext

Return to Getting Started

cron