Galaxy grab

491 views
426 views

Published on

This presentation by Steve Easley, lead developer for RedMinnow Interactive, LLC, explains how to become an iOS developer and take a Flash application and convert it to an iOS app to be sold on the Apple App Store.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
491
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Logicalis, Emerson and Nestle are multi-billion dollar companies
  • Demo Game: Show resizing in Flash Show all items on screen 10, 15, 20 whatever
  • Demo Game: Show resizing in Flash Show all items on screen 10, 15, 20 whatever
  • Demo Game: Show resizing in Flash Show all items on screen 10, 15, 20 whatever
  • Demo Game: Show resizing in Flash Show all items on screen 10, 15, 20 whatever
  • Demo Game: Show resizing in Flash Show all items on screen 10, 15, 20 whatever
  • Go through entire Provisioning processThen go into Flash and show how to create iOS versionFlash – Publish Settings – Actionscript - iOS
  • No one thing is probably going to make a huge difference but changing many small things will add up to a noticeable change.
  • No one thing is probably going to make a huge difference but changing many small things will add up to a noticeable change.
  • No one thing is probably going to make a huge difference but changing many small things will add up to a noticeable change.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We use Pooling in Galaxy Grab – all objects needed for game are created at the beginning and reused throughout game.
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • GO TO GAME IN FLASH BEFORE CREATED DEPLOYMENT SCREEN
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • We had a lot of the optimization already, but were able to get a few more things optimized. Biggest change was in game play
  • Galaxy grab

    1. 1.
    2. 2. About Me<br />Lead Developer Red Minnow Interactive<br />Co-own the company with Duane Andrews<br />Flash developer for 13 years<br />Flex developer for 3 years<br />Have created marketing games for:<br />
    3. 3. About Presentation<br />2 Parts<br />Becoming iOS developer, retrieving files needed and publish a Flash app to iOS<br />
    4. 4. About Presentation<br />2 Parts<br />Becoming iOS developer, retrieving files needed and publish a Flash app to iOS<br />Device Agnostic<br />Optimizing apps for mobile<br />Design/develop for multiple screen sizes and processor capabilities<br />What you can and can’t do on devices<br />
    5. 5. About Galaxy Grab<br />Initially created for ActiveDen last summer<br />Flash component<br />
    6. 6. About Galaxy Grab<br />Initially created for ActiveDen last summer<br />Flash component<br />Created for designers to modify and make own game<br />
    7. 7. About Galaxy Grab<br />Initially created for ActiveDen last summer<br />Flash component<br />Created for designers to modify and make own game<br />Can be resized to designer’s needs<br />This would be start for multiple screen sizes<br />
    8. 8. About Galaxy Grab<br />Initially created for ActiveDen last summer<br />Flash component<br />Created for designers to modify and make own game<br />Can be resized to designer’s needs<br />This would be start for multiple screen sizes<br />Can change properties in Component Inspector<br />
    9. 9. About Galaxy Grab<br />Initially created for ActiveDen last summer<br />Flash component<br />Created for designers to modify and make own game<br />Can be resized to designer’s needs<br />This would be start for multiple screen sizes<br />Can change properties in Component Inspector<br />tiny.cc/activeDen<br />
    10. 10. Galaxy Grab to iOS<br />Goal<br />Learn the process<br />Take current game straight to iOS to see how it performs<br />Have an app on Apple App store<br />
    11. 11. iOS Development<br />Quick Start Guide<br />Join iOS Developer Program (min. $99/yr)<br />developer.apple.com<br />iProvisioning Portal<br />developer.apple.com/ios/manage/overview/<br />Tutorials:<br />tiny.cc/iOStutorial (pictures)<br />tiny.cc/adobeIOShelp<br />tiny.cc/adobePackagerForum<br />
    12. 12. Galaxy Grab to iOS<br />Initial Results – the good<br /><ul><li>Mouse Down, Move and Release worked
    13. 13. Text Entry worked well
    14. 14. SharedObjects worked (surprisingly)
    15. 15. Background music with on/off button worked
    16. 16. And it actually ran on an iPad!</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the good<br /><ul><li>Mouse Down, Move and Release worked
    17. 17. Text Entry worked well
    18. 18. SharedObjects worked (surprisingly)
    19. 19. Background music with on/off button worked
    20. 20. And it actually ran on an iPad!</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the good<br /><ul><li>Mouse Down, Move and Release worked
    21. 21. Text Entry worked well
    22. 22. SharedObjects worked (surprisingly)
    23. 23. Background music with on/off button worked
    24. 24. And it actually ran on an iPad!</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the good<br /><ul><li>Mouse Down, Move and Release worked
    25. 25. Text Entry worked well
    26. 26. SharedObjects worked (surprisingly)
    27. 27. Background music with on/off button worked
    28. 28. And it actually ran on an iPad!</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the good<br /><ul><li>Mouse Down, Move and Release worked
    29. 29. Text Entry worked well
    30. 30. SharedObjects worked (surprisingly)
    31. 31. Background music with on/off button worked
    32. 32. And it actually ran on an iPad!</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the bad<br /><ul><li>Game play was not so good – animation jerky
    33. 33. Tested several projects and all were S-L-O-W
    34. 34. Online search revealed similar results from others
    35. 35. Shelved idea but came back to it a few weeks later
    36. 36. Goal: optimize game as much as possible and change game play to run better</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the bad<br /><ul><li>Game play was not so good – animation jerky
    37. 37. Tested several projects and all were S-L-O-W
    38. 38. Online search revealed similar results from others
    39. 39. Shelved idea but came back to it a few weeks later
    40. 40. Goal: optimize game as much as possible and change game play to run better</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the bad<br /><ul><li>Game play was not so good – animation jerky
    41. 41. Tested several projects and all were S-L-O-W
    42. 42. Online search revealed similar results from others
    43. 43. Shelved idea but came back to it a few weeks later
    44. 44. Goal: optimize game as much as possible and change game play to run better</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the bad<br /><ul><li>Game play was not so good – animation jerky
    45. 45. Tested several projects and all were S-L-O-W
    46. 46. Online search revealed similar results from others
    47. 47. Shelved idea but came back to it a few weeks later
    48. 48. Goal: optimize game as much as possible and change game play to run better</li></li></ul><li>Galaxy Grab to iOS<br />Initial Results – the bad<br /><ul><li>Game play was not so good – animation jerky
    49. 49. Tested several projects and all were S-L-O-W
    50. 50. Online search revealed similar results from others
    51. 51. Shelved idea but came back to it a few weeks later
    52. 52. Goal: optimize game as much as possible and change game play to run better</li></li></ul><li>Optimizing Apps for Mobile<br />What works for web may not work for mobile<br />Vector vs. Bitmap<br />Processor intensive vs. file size<br />Animation – Blitting over Tweening<br />Animation only when needed and when little else is going on<br />
    53. 53. Optimizing Apps for Mobile<br />What works for web may not work for mobile<br />Vector vs. Bitmap<br />Processor intensive vs. file size<br />Animation – Blitting over Tweening<br />Animation only when needed and when little else is going on<br />OOP vs. fast code<br />Big MVC architectures slow down mobile apps<br />Balance between reusable code and performance<br />
    54. 54. Optimizing Apps for Mobile<br />What works for web may not work for mobile<br />Vector vs. Bitmap<br />Processor intensive vs. file size<br />Animation – Blitting over Tweening<br />Animation only when needed and when little else is going on<br />OOP vs. fast code<br />Big MVC architectures slow down mobile apps<br />Balance between reusable code and performance<br />Gaming and Optimization Techniques<br />8bitrocket.com<br />moock.org<br />gskinner.com/blog<br />tiny.cc/adobeMobileOptimization<br />
    55. 55. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />
    56. 56. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />Data type variables – Double Advantage<br />App runs faster and takes up less memory<br />
    57. 57. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />Data type variables – Double Advantage<br />App runs faster and takes up less memory<br />Vectors vs. Array<br />
    58. 58. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />Data type variables – Double Advantage<br />App runs faster and takes up less memory<br />Vectors vs. Array<br />Object Pooling<br />If it has been made. Don’t delete and recreate if needed<br />Creating/Destroying objects is memory intensive and slows system down<br />
    59. 59. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />Data type variables – Double Advantage<br />App runs faster and takes up less memory<br />Vectors vs. Array<br />Object Pooling<br />If it has been made. Don’t delete and recreate if needed<br />Creating/Destroying objects is memory intensive and slows system down<br />Drawing API is slow – try not to use<br />
    60. 60. Optimizing Apps for Mobile<br />Some ideas will help any app - mobile or online<br />Declaring variables before loops<br />Data type variables – Double Advantage<br />App runs faster and takes up less memory<br />Vectors vs. Array<br />Object Pooling<br />If it has been made. Don’t delete and recreate if needed<br />Creating/Destroying objects is memory intensive and slows system down<br />Drawing API is slow – try not to use<br />Avoid filters – create bitmaps for them instead<br />
    61. 61. Galaxy Grab Game Changes<br /><ul><li>Changed all vectors to bitmaps
    62. 62. Limit moving items on screen
    63. 63. New items “transport” in (used blitting)
    64. 64. Created Test to check speed of processor
    65. 65. Math problem run 1 million times
    66. 66. Returns how long it took to run
    67. 67. Based on testing of devices, number indicates how many items to animate on-screen at once
    68. 68. Tested on several different devices:
    69. 69. iPhone 3G (900ms)
    70. 70. iPhone 3GS (600ms)
    71. 71. iPhone(300ms)
    72. 72. iPad(300ms)</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Changed all vectors to bitmaps
    73. 73. Limit moving items on screen
    74. 74. New items “transport” in (used blitting)
    75. 75. Created Test to check speed of processor
    76. 76. Math problem run 1 million times
    77. 77. Returns how long it took to run
    78. 78. Based on testing of devices, number indicates how many items to animate on-screen at once
    79. 79. Tested on several different devices:
    80. 80. iPhone 3G (900ms)
    81. 81. iPhone 3GS (600ms)
    82. 82. iPhone(300ms)
    83. 83. iPad(300ms)</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Changed all vectors to bitmaps
    84. 84. Limit moving items on screen
    85. 85. New items “transport” in (used blitting)
    86. 86. Created Test to check speed of processor
    87. 87. Math problem run 1 million times
    88. 88. Returns how long it took to run
    89. 89. Based on testing of devices, number indicates how many items to animate on-screen at once
    90. 90. Tested on several different devices:
    91. 91. iPhone 3G (900ms)
    92. 92. iPhone 3GS (600ms)
    93. 93. iPhone(300ms)
    94. 94. iPad(300ms)</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Changed all vectors to bitmaps
    95. 95. Limit moving items on screen
    96. 96. New items “transport” in (used blitting)
    97. 97. Created Test to check speed of processor
    98. 98. Math problem run 1 million times
    99. 99. Returns how long it took to run
    100. 100. Based on testing of devices, number indicates how many items to animate on-screen at once
    101. 101. Tested on several different devices:
    102. 102. iPhone 3G (900ms)
    103. 103. iPhone 3GS (600ms)
    104. 104. iPhone 4 (300ms)
    105. 105. iPad(300ms)</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Created 2 sizes of game pieces
    106. 106. Resize Handler functions load the correct size for screen size
    107. 107. Added resize listener to have the app change size based on size of screen in app</li></ul> - This.stage.addEventListener(Event.RESIZE, resizeHandler)<br /><ul><li>Event.Resize over StageDisplayState.FULL_SCREEN</li></ul> - Host doing vs. App doing<br /> - FULL_SCREEN has limited keyboard control<br /><ul><li>Created Deployment – Apple App Store version
    108. 108. 6 days from submission to selling
    109. 109. No problems with submission (have heard horror stories)
    110. 110. Just released Blackberry Playbook version and Android version is coming soon</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Created 2 sizes of game pieces
    111. 111. Resize Handler functions load the correct size for screen size
    112. 112. Added resize listener to have the app change size based on size of screen in app</li></ul> - This.stage.addEventListener(Event.RESIZE, resizeHandler)<br /><ul><li>Event.Resize over StageDisplayState.FULL_SCREEN</li></ul> - Host doing vs. App doing<br /> - FULL_SCREEN has limited keyboard control<br /><ul><li>Created Deployment – Apple App Store version
    113. 113. 6 days from submission to selling
    114. 114. No problems with submission (have heard horror stories)
    115. 115. Just released Blackberry Playbook version and Android version is coming soon</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Created 2 sizes of game pieces
    116. 116. Resize Handler functions load the correct size for screen size
    117. 117. Added resize listener to have the app change size based on size of screen in app</li></ul> - This.stage.addEventListener(Event.RESIZE, resizeHandler)<br /><ul><li>Event.Resize over StageDisplayState.FULL_SCREEN</li></ul> - Host doing vs. App doing<br /> - FULL_SCREEN has limited keyboard control<br /><ul><li>Created Deployment – Apple App Store version
    118. 118. 6 days from submission to selling
    119. 119. No problems with submission (have heard horror stories)
    120. 120. Just released Blackberry Playbook version and Android version is coming soon</li></li></ul><li>Galaxy Grab Game Changes<br /><ul><li>Created 2 sizes of game pieces
    121. 121. Resize Handler functions load the correct size for screen size
    122. 122. Added resize listener to have the app change size based on size of screen in app</li></ul> - This.stage.addEventListener(Event.RESIZE, resizeHandler)<br /><ul><li>Event.Resize over StageDisplayState.FULL_SCREEN</li></ul> - Host doing vs. App doing<br /> - FULL_SCREEN has limited keyboard control<br /><ul><li>Created Deployment – Apple App Store version
    123. 123. 6 days from submission to selling
    124. 124. No problems with submission (have heard horror stories)
    125. 125. Just released Blackberry Playbook version and Android version is coming soon</li></li></ul><li>Galaxy Grab to iOS<br />Watch a video of Galaxy Grab on the iPad and iPhone<br />youtube.com/redMinnowInteractive<br />
    126. 126. What is Flash to iOS Good For<br /><ul><li>Games
    127. 127. Non Apple UI-based apps
    128. 128. Visualization/Aggregator from web data
    129. 129. Apps that don’t need to tap into device-specific functionality</li></li></ul><li>What is Flash to iOS Good For<br /><ul><li>Games
    130. 130. Non Apple UI-based apps
    131. 131. Visualization/Aggregator from web data
    132. 132. Apps that don’t need to tap into device-specific functionality</li></li></ul><li>What is Flash to iOS Good For<br /><ul><li>Games
    133. 133. Non Apple UI-based apps
    134. 134. Visualization/Aggregator from web data
    135. 135. Apps that don’t need to tap into device-specific functionality</li></li></ul><li>What is Flash to iOS Good For<br /><ul><li>Games
    136. 136. Non Apple UI-based apps
    137. 137. Visualization/Aggregator from web data
    138. 138. Apps that don’t need to tap into device-specific functionality</li></li></ul><li>What is Flash to iOS Good For<br /><ul><li>Games
    139. 139. Non Apple UI-based apps
    140. 140. Visualization/Aggregator from web data
    141. 141. Apps that don’t need to tap into device-specific functionality</li></ul>tiny.cc/comparisonChart<br />
    142. 142. Questions?<br />
    143. 143. Thank You!<br />Steve Easley<br />steve@redminnow.com<br />twitter: steveRedMinnow<br />blog: www.redminnow.com/blog<br />

    ×