Best practices for multi-platform development?

xGrapexGrape Member Posts: 5
edited March 2012 in Working with GS (Mac)
While GameSalad seem to make it fairly easy to develop for multiple platforms, you still have to pick a target platform for your project. Changing the target later would probably allow for new deployment without changing too much of the code, but what are some best practices?

If you initially target iPhone, and later change to iPad I assume things like X and Y coords will be off because of the difference in resolution?

I did notice however that at least through the simulator, my iPhone project looked crisp even on the iPad - but probably just because I was lazy and downscaled my graphics in GS instead of importing it in the right sizes. Still, it might even make sense to do it this way to save oneself more work later?

Also, what platform would you pick for a game for Mac? "720P HD" or "MacBook"? (neither of which really make much sense naming-wise imho)

Comments

  • hotMagichotMagic Member, PRO Posts: 266
    This is IMHO one of the best features of GS.Heres what we do.

    Target iphone with Res Indep checked.

    Make your graphics for iphone4, as in DOUBLE the resolution. So ingame, the dimensions are 64x64 but your ART is 128x128. (make sure all art dimensions are divisible by 4 or it will be blurry)

    Never use display text or it will be blurry.

    Put an actor in the beginning of each scene that just says, change camera size to 320 by 480. This will make it fill the screen on ipad.

    When you build, just set the project to the correct device.

    You can do kindle, ipad, iphone with this method. We do mac too. Since our game is portrait, we set project to iPad but publish to mac.
  • 3xL3xL Member Posts: 676
    display doesnt seem blurry to me ????

    maybe cause im using jumbo letters
  • xGrapexGrape Member Posts: 5
    Thanks hotMagic, nice sum-up :)
  • hotMagichotMagic Member, PRO Posts: 266
    Youre welcome. 3XL, text will be blurry if you view it on retina. It doesn't res-up. So you need to make images for all text if you go retina.
  • SlowboySlowboy Member, PRO Posts: 329
    Thanks Hot. I am doing similar, but changing camera size manually each time before building, so I am effectively 'making' a separate version per platform (the only difference being the camera). You way sounds even simpler! So the camera goes to 320 by 480 which fills the screen without downgrading the graphics, meaning its true purpose is just to fill the screen at the correct aspect ratio - the resolution is effectively arbitrary?
    Sorry, that was just thinking aloud, I did have a question!...

    How do you ensure that the camera changes immediately, without any screen flicker? I have heard (literally years ago) that the actors at the *bottom* of the layer stack get processed first. By this logic you should put the camera changing actor right on the bottom layer?
    Just wondered if you had considered this, or indeed, have had any flickering issues at the beginning of each scene?

    Thanks
    Wayne
  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    edited July 2012
    Here is the method I use. I write all my code in prototype form with no images, at least the bulk of it. I usually build each section of my game in separate prototypes then use project merger to merge them into one project. Once I have a project built with all my code...I put notes in my code to point out the data I will need to change for different screen sizes and such. Then I duplicate the project four times, one for iPad, iPhone,Kindle and a backup copy. Now I can change the project type and import all my art scaled to that type and add it to my scenes and actors make my adjustments and tweaks and I'm done. Now I have three builds done perfectly to the device.
Sign In or Register to comment.