Universal Binaries... REALLY CLOSE!
So, I've been porting BOT to the iPad and I've discovered some really interesting things...
1 - GameSalad now adjusts touch data relative to the camera zoom. It's awesome. I could totally build a sniper game now.
2 - I ran an iPad game on my iPhone 4... worked perfectly... aside from the screen ratio issue.
GameSalad only has to add a few more features to make this work...
• Expandable camera... for scrolling games, the camera size could adjust to match the screen ratio.
• Xcode changes — It's not hard to make a universal binary with Xcode, just some info.plist stuff.
• Resolution Independence — I'm not sure if this is an issue, as GameSalad already supports it, but an old iPod Touch would likely have trouble running iPad sized graphics.
I don't see why this has to wait until the fall. If GameSalad exported to Xcode, I'm thinking that I could probably make a Universal Binary GameSalad game today.
My most successful app is The Unofficial GameSalad Textbook and that's a universal binary. I think a universal binary can help for sales, as the app appears in both the iPhone and iPad categories.
1 - GameSalad now adjusts touch data relative to the camera zoom. It's awesome. I could totally build a sniper game now.
2 - I ran an iPad game on my iPhone 4... worked perfectly... aside from the screen ratio issue.
GameSalad only has to add a few more features to make this work...
• Expandable camera... for scrolling games, the camera size could adjust to match the screen ratio.
• Xcode changes — It's not hard to make a universal binary with Xcode, just some info.plist stuff.
• Resolution Independence — I'm not sure if this is an issue, as GameSalad already supports it, but an old iPod Touch would likely have trouble running iPad sized graphics.
I don't see why this has to wait until the fall. If GameSalad exported to Xcode, I'm thinking that I could probably make a Universal Binary GameSalad game today.
My most successful app is The Unofficial GameSalad Textbook and that's a universal binary. I think a universal binary can help for sales, as the app appears in both the iPhone and iPad categories.
Comments
Universal apps tend to die off the charts more slowly or not at all. The combined sales of iPhone and iPad apps help keep them afloat.
This is approximate, but Apple values sales something like this as far as chart spots go:
Current day sales 8X + yesterday 5X + day before 3X+ then 2X....
So if you sell 8 games a day for 4 days to iPhone owners, but I sell a universal app for 8 plus 2 a day to iPad owners we get:
iPhone only score: 144
universal score: 180
This will rank me higher on the chart and give me more visibility, meaning I'll sell more off the charts than you: it's a compound effect. Selling more apps = higher on the charts = more visibility in the app store = sell more apps.
Plus if a user finds two apps that do the same thing, only one is universal, guess which one they'll want to buy? More and more people own ipads now, so this will continue to have a stronger effect.
Unless you're selling Angry Birds and you can maintain top spots for both apps, universal apps mean more sales overall than 2 separate apps because higher ranking on the charts means exponentially more sales.
I don't blame GS at all for not implementing this yet because users seem to ask for other features first. At least we know they're planning it for the fall.
Universal binaries would be incredibly useful, especially to our potential players. It's another step towards legitimacy and fairness in their eyes, I would argue.
Features that benefit our customers, in turn, benefit us.
Features that benefit just us, and not our customers, will not help us.
QS
Dr. Sam Beckett never returned home...
Twitter: https://twitter.com/Quantum_Sheep
Web: https://quantumsheep.itch.io
I noticed that they recently changed Mac Publishing. There was a bug. If I set a UI element to be a certain amount of pixels from the edge of the screen, it wouldn't work. The positioning would be off. Now, when I publish iPhones games directly to Mac, I notice that the app has black bars on the side — even when not in Full-Screen mode. I hate that, but I think that might be related to Universal Binaries. The game was fixed to an 8:5 ratio - which is relative to the 1280x800 standard. It seems that's pretty much the target for Mac games.
That's where things get tricky...
iPhone / iPod Touch - 3:2
iPad - 4:3
Mac OS - 8:5
Android - Insanity:Craziness
So, what's the best way to make a game adapt to all those screen sizes?
Possibility #1 - Device detection
• If iPad is true then goto scene iPad
The problem with this is it puts a lot of work on the developer. GameSalad is supposed to be easy. So while it would be easy to simply add device detection and then let the developer create multiple scenes, that's not really efficient.
Possibility #2 - Adaptable Camera
If UI elements are positioned relative to screen elements, then it doesn't really matter what the screen ratio is. A 64x64 button is just placed 32 pixels from the screen edge. However... device detection would still be necessary. The reason... buttons on the iPad don't need to be twice the size because the player still has the same finger size.
Possibility #3 - Scalable Layers
So, if the UI should stay a fixed size, what if the individual layers could be zoomed? That would create awesome possibilities, but I imagine that's not something easy for GameSalad to implement. (Although, "layer functions" is listed on the roadmap.)
So ideally, GameSalad should support all three possibilities, but #1 & #2 could be implemented quickly. That would give developers strong options for creating universal binaries.
Basically, I think the debate goes like this... Would you rather have robust Universal Binary features or would you rather have Universal Binaries as soon as possible?
Personally, I think GameSalad should launch this feature earlier. Here's the current list for Summer...
• GameSalad 1.0
• GameCenter achievements
• In-app Purchase
• GameSalad Marketplace
• GameSalad Cookbook
• Targets: cleaner portfolio management and publishing
• Scene editor improvements
• Layer functions
• Sprites
• Splash screen options
On that list, what's the most important to me? I think Game Center achievements are useful for generating sales, but I think universal binaries are more important. The most important thing in marketing an app is getting listed highly on the iTunes app store. I think universal binaries are very helpful in making that happen... even more helpful than Game Center achievements.
One app, 3 sets of graphics for: the older iOS devices, Retina Display devices, and the iPad.
With Corona I can detect the device and determine which graphics to use. That's easy enough. Like you said, the hard part is positioning everything.
If it is just a static app it's one thing - just rearrange some HUD elements. But with a game it becomes tricky to automate stuff other than that.
The iPad screen is much larger so you need to account for different animation speeds, enemies that are 'hiding' at specific coordinates need to be adjusted for, Interpolations need to be longer, etc. etc.
Let's say you wanted to Interpolate a box from the left side of the screen to the right.
On the smaller devices you can say Interpolate from 0 to 480 over 3 seconds. Now you can make that more dynamic by saying Interpolate from 0 to Screen.Width over three seconds.
That would work on smaller devices and iPads
But the three seconds now becomes an issue. It will be too fast on an iPad.
It's hard for that to just be automatic and dynamic. It will present other issues that will affect the design of the game. Subtle balancing issues present themselves.
However, I absolutely agree that Universal Binaries are very important.
I am curious to see how GameSalad will implement it!