Developing Universal Apps
by Brian Szatkowski · in iTorque 2D · 06/07/2010 (11:44 am) · 5 replies
Greetings all;
I am nearing completion of the coding for my first app. I recently upgraded my Mac from Leopard to Snow Leopard, upgraded the XCode IDE, and am starting the preparation of the graphics/menus. As I read the Apple iPhone Dev forums (and snippets of forum posts here), I am wondering what approach Torque2D users are taking to make Universal apps.
What is the most efficient method of designing your Torque content to be used as a Universal app? Do you design two different versions in iTGB and, through file structure and targeting, configure XCode? Or, do you create a single iTGB application and, through use of conditionals, have one Torque app to rule them all? If the former, of which practice does Apple approve? If the latter, how do you leverage that with iTGB, as it allows for the design of an application at either iPhone -or- iPad resolution?
Any feedback is greatly appreciated.
Thank you!
I am nearing completion of the coding for my first app. I recently upgraded my Mac from Leopard to Snow Leopard, upgraded the XCode IDE, and am starting the preparation of the graphics/menus. As I read the Apple iPhone Dev forums (and snippets of forum posts here), I am wondering what approach Torque2D users are taking to make Universal apps.
What is the most efficient method of designing your Torque content to be used as a Universal app? Do you design two different versions in iTGB and, through file structure and targeting, configure XCode? Or, do you create a single iTGB application and, through use of conditionals, have one Torque app to rule them all? If the former, of which practice does Apple approve? If the latter, how do you leverage that with iTGB, as it allows for the design of an application at either iPhone -or- iPad resolution?
Any feedback is greatly appreciated.
Thank you!
About the author
#2
I'm also getting close to the point where I will be able to release my first game soon, but I am unhappy with the overall performance on the oldest devices (basically the iPod Touch 1st gen), and I would like to automatically scale my game down to fit that device. My ideal solution would be a combination of enabling/disabling certain graphics effects, and/or having a different set of levels for the older devices. I do not want to scale everything down to the oldest devices and end up compromising gameplay on the newer ones. In my opinion, one app that's fits all is the way to go.
06/07/2010 (8:53 pm)
I agree that something needs to be done that enables us to detect the device and the generation of the device. If the app can detect the device/generation, it would then be possible to create a universal app, as you are suggesting. I'm also getting close to the point where I will be able to release my first game soon, but I am unhappy with the overall performance on the oldest devices (basically the iPod Touch 1st gen), and I would like to automatically scale my game down to fit that device. My ideal solution would be a combination of enabling/disabling certain graphics effects, and/or having a different set of levels for the older devices. I do not want to scale everything down to the oldest devices and end up compromising gameplay on the newer ones. In my opinion, one app that's fits all is the way to go.
#3
Voting against that.
We need to know the screen resolution, not the generation, otherwise every single new generation f***s it up again and means a new required update once again.
also you don't have to worry about 1st gens: by june 21st they are dead, cause they can't upgrade at all. Make your app an OS4 one and you are on the sure side that they are out of the game.
06/07/2010 (8:59 pm)
Quote:I agree that something needs to be done that enables us to detect the device and the generation of the device.
Voting against that.
We need to know the screen resolution, not the generation, otherwise every single new generation f***s it up again and means a new required update once again.
also you don't have to worry about 1st gens: by june 21st they are dead, cause they can't upgrade at all. Make your app an OS4 one and you are on the sure side that they are out of the game.
#4
However, I disagree about device detection, and I still think that would be extremely beneficial. I see a big difference in the capabilities of the different devices, and scaling a game based on the oldest device is bad in my opinion, because there is so much more than could potentially be added for the newer devices. If a new generation comes out, I don't see why that screws anything up. If the device isn't recognised, the app would just default back to the next lowest device (i.e. the most recent generation when the app was created) and load the app features according to that one.
Screen resolution isn't the only thing to consider. For example, right now there are basically three different generations of devices. These all have the same screen resolution, but the CPU and GPU performances of these different models varies significantly. At this point I am less concerned about screen resolution and more concerned about CPU performance, since it is well known that the t2D engine is CPU limited.
06/07/2010 (9:16 pm)
Is that right about OS4? Well, if that is case, that's a very good point. I'm going to hang on for a few weeks more to see what happens after the new devices come out.However, I disagree about device detection, and I still think that would be extremely beneficial. I see a big difference in the capabilities of the different devices, and scaling a game based on the oldest device is bad in my opinion, because there is so much more than could potentially be added for the newer devices. If a new generation comes out, I don't see why that screws anything up. If the device isn't recognised, the app would just default back to the next lowest device (i.e. the most recent generation when the app was created) and load the app features according to that one.
Screen resolution isn't the only thing to consider. For example, right now there are basically three different generations of devices. These all have the same screen resolution, but the CPU and GPU performances of these different models varies significantly. At this point I am less concerned about screen resolution and more concerned about CPU performance, since it is well known that the t2D engine is CPU limited.
#5
06/07/2010 (9:24 pm)
iTGB is indeed partially cpu limited (on the ipad though you get struck by the fillrate much earlier normally), at least if you use physics.
Torque 3D Owner Brian Szatkowski
Does anyone have any insight they can provide?
Thank you!