04-03-2011 08:58 PM - edited 04-03-2011 08:59 PM
I'm still wrapping my game up, but I feel that at this point I can speak of the development process.
First off, I wasted alot of time at the beginning getting my bearings straight. Coming from J2ME on the regular BlackBerry devices, I didn't know anything about Flash, and I lost a few days looking for tutorials on FLEX and such until someone here told me that I could start and Actionscript Project, and should use that to develop my game. Needless to say, setting up the FB environment itself was a complete nightmare...I was up until 4AM trying to get it to install properly on Win7 that night.
Luckily, I have a friend who is familiar with AS3, and he quickly answered some of my basic questions about syntax and structure. At the end of the first week, I had a decent grasp on how I should be using the Sprite class. It is also a lucky circumstance that there are tons of AS3 tutorials out there. They answered most of my questions. By the second week, I was preparing my own customized objects classes that would make managing the game easier.
Discovering the Tweener class during the second week was a huge boon. It helped me add tons of polish to the game. Most of the elements I wanted to incorporate fell into place quickly. However, I found Flash's font rendering capabilities to be totally useless - they looked nothing like the design I had prepared in Photoshop, and the margins were terrible. I've had to bitmap most of the text as a result.
I lost ALOT of time preparing a fairly elaborate level select screen. There was probably an easier way to do it, but it cost me a solid week overall. I also lost the better part of a week trying to add collision for complex lines and curves, but couldn't implement it properly. I am still working out collision bugs leftover from the sample code I found online, and will probably replace it completely.
In the end, I went all-out for this game. I've spent all of my free time in the last month working on it, and it really shows through in the quality of the finished product. I am confident that it is the best AIR game on the PlayBook. If people respond well enough, I will add more content to it later, as there are so many ideas I simply didn't have time to implement.
04-03-2011 09:19 PM
I was pleased to find that I could use AS3 in AIR, as I'm very familiar with actionscript, I've been using it for years. Also I was glad to see that I didn't have to use MXML.
At first I installed the Eclipse IDE as I was unsure if I had the legal right to use a trial of Flash Builder on a commercial project. This however proved to be very difficult, so after asking on these forums if it was ok to use, I switched to Flash Builder. I found installing Flash Builder (on Win XP SP3) to be pretty easy, but the SDK installation was confusing. The instructions told me to download several SDKs, and in the end it seems that I only needed one. There seems to be other redundant instructions in the documentation as well.
The hardest part for me was learning about the QNX classes. Although, I must say, that a lot of them were quite easy to use there were also some strangely missing. For example there is no datepicker or colorpicker built in, also there is no numeric stepper (Although the picker does make a nice alternative). This is also the first AS3 app I've made that saves and retrieves locally stored data. I was very glad to find that this was extremely easy to do using the local shared object.
I only had around 2 weeks to develop my app, and I really needed more, but I wanted to qualify for the free PlayBook offer. So I submitted a version with far less features before the deadline. Although I am disappointed that one section of the app has a couple (Mostly cosmetic) bugs, if I had taken the time to fix them completely I don't think I would have made it in time. And I will fix these bugs and more in the next versions. Submitting a version of anything with any known bug(s) in it is something I don't like to do but since they weren't functional bugs (prevent the user from using the app, being unreliable etc.) I let them pass.
04-04-2011 02:34 AM
My personal experience:
Before the PlayBook offer, I developed almost everything in Java (although some smaller C++, C, C# projects have been completed successfully). AS3 and AIR were a big surprise to me in terms of functionality: I am mostly a Linux user so I am very doubtfull about anything "Flash", or "Adobe" for that matter. I did not however like the syntax var name:Type.
I used Flash Builder as my IDE. It still has some flaws (I needed to clean my project at least twice every hour to get rid of some "errors"), but the easy deployment to the simulator was nice. The simulator however, could be quite a pain in the bottom: a lot of functions were unavailable when I started working on this offer (December 2010) and when orientation finally was supported, it didn't work that well. The simulator leaves me a bit doubtfull about how my app will perform on a real device, that's why I hope RIM will start shipping soon (the other reason is: I want to play with a PlayBook).
I had some (understatement there) problems with CellRenderers: they are just unlogical upto the point where you want to throw your pc out of the window. The problems with the FileFilter and File.browse() are problems that still hold me back a bit, even now.
The registration to become a vendor was, in my experience, despite the requirement of a notified document of identification, fairly easy enough. Submitting the app was no problem either, but I did not like the absence of any information about the progress of your app's review.
The most pleasant experience about developing for the PlayBook was indeed this very forum. I do not post that much nowadays, but I still closely monitor it.
04-04-2011 03:17 AM - edited 04-04-2011 03:18 AM
Setting up the simulator and Flash Builder were both easy, though I burned a lot of time in the beginning trying to find a good free alternative for FB, and trying to get the simulator to work in VirtualBox. Not a huge fan of Eclipse, but FB was nice enough to me for the most part (except for having to re-enable code completion at every launch).
Was a little dissappointed with the current state of QNXStageWebView.
Was pleasantly surprised at the completeness of AS3's HTTP connection libraries. In particular that they allow adding headers (and thus sending cookies) in an HTTP request. I'm not new to AS3, but I've never had a need for this before, and I didn't expect it to be supported.
Was dissappointed that there are no QNX threading classes/methods.
Was frustrated at times with the way the app calls layout methods. Not sure if this is an AIR thing or a QNX thing, but there were plenty of times where I got bitten by the fact that an object had no dimensions when it seemed like it should have been initialized already (for example when handling device rotation).
Documentation wasn't bad, but wasn't great either. In some cases the actual QNX libraries were at odds with the documentation.
And I really wish there was a better UI layout tool... I'm thinking Interface Builder. Or at least something similar to what you get when developing for Android in Eclipse. Something that supports the QNX display libraries. While I don't like all that layout code in the .as files, it's really not so bad to code-change-code the UI if you build it as a desktop app because it loads quickly. But once you add something like QNXStageWebView, there's no escaping from the slow load times of the simulator.
Overall, the development experience was decent. In order of preference (worst to best), my experience developing for mobile platforms is as follows: Android, BB Playbook, iOS.