galaxy grab

46

Upload: duane

Post on 26-May-2015

399 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Galaxy grab
Page 2: Galaxy grab

About Me• Lead Developer Red Minnow Interactive

• Co-own the company with Duane Andrews

• Flash developer for 13 years

• Flex developer for 3 years

• Have created marketing games for:

Page 3: Galaxy grab

About Presentation

2 Parts1. Becoming iOS developer, retrieving

files needed and publish a Flash app to iOS

Page 4: Galaxy grab

About Presentation

2 Parts1. Becoming iOS developer, retrieving

files needed and publish a Flash app to iOS

2. Device Agnostic• Optimizing apps for mobile• Design/develop for multiple screen sizes and

processor capabilities• What you can and can’t do on devices

Page 5: Galaxy grab

About Galaxy Grab

Initially created for ActiveDen last summer

• Flash component

Page 6: Galaxy grab

About Galaxy Grab

Initially created for ActiveDen last summer

• Flash component

• Created for designers to modify and make own game

Page 7: Galaxy grab

About Galaxy Grab

Initially created for ActiveDen last summer

• Flash component

• Created for designers to modify and make own game

• Can be resized to designer’s needs– This would be start for multiple screen sizes

Page 8: Galaxy grab

About Galaxy Grab

Initially created for ActiveDen last summer

• Flash component

• Created for designers to modify and make own game

• Can be resized to designer’s needs– This would be start for multiple screen sizes

• Can change properties in Component Inspector

Page 9: Galaxy grab

About Galaxy Grab

Initially created for ActiveDen last summer

• Flash component

• Created for designers to modify and make own game

• Can be resized to designer’s needs– This would be start for multiple screen sizes

• Can change properties in Component Inspector

• tiny.cc/activeDen

Page 10: Galaxy grab

Galaxy Grab to iOS

Goal• Learn the process• Take current game straight to iOS to see how it

performs• Have an app on Apple App store

Page 11: Galaxy grab

iOS Development

Quick Start Guide

• Join iOS Developer Program (min. $99/yr)– developer.apple.com

• iProvisioning Portal– developer.apple.com/ios/manage/overview/

• Tutorials:– tiny.cc/iOStutorial (pictures)– tiny.cc/adobeIOShelp– tiny.cc/adobePackagerForum

Page 12: Galaxy grab

Galaxy Grab to iOSInitial Results – the good

• Mouse Down, Move and Release worked

Page 13: Galaxy grab

Galaxy Grab to iOSInitial Results – the good

• Mouse Down, Move and Release worked

• Text Entry worked well

Page 14: Galaxy grab

Galaxy Grab to iOSInitial Results – the good

• Mouse Down, Move and Release worked

• Text Entry worked well

• SharedObjects worked (surprisingly)

Page 15: Galaxy grab

Galaxy Grab to iOSInitial Results – the good

• Mouse Down, Move and Release worked

• Text Entry worked well

• SharedObjects worked (surprisingly)

• Background music with on/off button worked

Page 16: Galaxy grab

Galaxy Grab to iOSInitial Results – the good

• Mouse Down, Move and Release worked

• Text Entry worked well

• SharedObjects worked (surprisingly)

• Background music with on/off button worked

• And it actually ran on an iPad!

Page 17: Galaxy grab

Galaxy Grab to iOSInitial Results – the bad

• Game play was not so good – animation jerky

Page 18: Galaxy grab

Galaxy Grab to iOSInitial Results – the bad

• Game play was not so good – animation jerky

• Tested several projects and all were S-L-O-W

Page 19: Galaxy grab

Galaxy Grab to iOSInitial Results – the bad

• Game play was not so good – animation jerky

• Tested several projects and all were S-L-O-W

• Online search revealed similar results from others

Page 20: Galaxy grab

Galaxy Grab to iOSInitial Results – the bad

• Game play was not so good – animation jerky

• Tested several projects and all were S-L-O-W

• Online search revealed similar results from others

• Shelved idea but came back to it a few weeks later

Page 21: Galaxy grab

Galaxy Grab to iOSInitial Results – the bad

• Game play was not so good – animation jerky

• Tested several projects and all were S-L-O-W

• Online search revealed similar results from others

• Shelved idea but came back to it a few weeks later

• Goal: optimize game as much as possible and change game play to run better

Page 22: Galaxy grab

Optimizing Apps for Mobile

What works for web may not work for mobile• Vector vs. Bitmap

– Processor intensive vs. file size– Animation – Blitting over Tweening– Animation only when needed and when little else is

going on

Page 23: Galaxy grab

Optimizing Apps for Mobile

What works for web may not work for mobile• Vector vs. Bitmap

– Processor intensive vs. file size– Animation – Blitting over Tweening– Animation only when needed and when little else is

going on

• OOP vs. fast code– Big MVC architectures slow down mobile apps– Balance between reusable code and performance

Page 24: Galaxy grab

Optimizing Apps for Mobile

What works for web may not work for mobile• Vector vs. Bitmap

– Processor intensive vs. file size– Animation – Blitting over Tweening– Animation only when needed and when little else is

going on

• OOP vs. fast code– Big MVC architectures slow down mobile apps– Balance between reusable code and performance

• Gaming and Optimization Techniques– 8bitrocket.com– moock.org– gskinner.com/blog– tiny.cc/adobeMobileOptimization

Page 25: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

Page 26: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

2. Data type variables – Double Advantage– App runs faster and takes up less memory

Page 27: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

2. Data type variables – Double Advantage– App runs faster and takes up less memory

3. Vectors vs. Array

Page 28: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

2. Data type variables – Double Advantage– App runs faster and takes up less memory

3. Vectors vs. Array

4. Object Pooling– If it has been made. Don’t delete and recreate if

needed

– Creating/Destroying objects is memory intensive and slows system down

Page 29: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

2. Data type variables – Double Advantage– App runs faster and takes up less memory

3. Vectors vs. Array

4. Object Pooling– If it has been made. Don’t delete and recreate if

needed

– Creating/Destroying objects is memory intensive and slows system down

5. Drawing API is slow – try not to use

Page 30: Galaxy grab

Optimizing Apps for Mobile

Some ideas will help any app - mobile or online1. Declaring variables before loops

2. Data type variables – Double Advantage– App runs faster and takes up less memory

3. Vectors vs. Array

4. Object Pooling– If it has been made. Don’t delete and recreate if

needed

– Creating/Destroying objects is memory intensive and slows system down

5. Drawing API is slow – try not to use

6. Avoid filters – create bitmaps for them instead

Page 31: Galaxy grab

Galaxy Grab Game Changes

• Changed all vectors to bitmaps

•-

•---

•----

Page 32: Galaxy grab

Galaxy Grab Game Changes

• Changed all vectors to bitmaps

• Limit moving items on screen- New items “transport” in (used blitting)

•---

•----

Page 33: Galaxy grab

Galaxy Grab Game Changes

• Changed all vectors to bitmaps

• Limit moving items on screen- New items “transport” in (used blitting)

• Created Test to check speed of processor- Math problem run 1 million times- Returns how long it took to run- Based on testing of devices, number indicates how many

items to animate on-screen at once

•----

Page 34: Galaxy grab

Galaxy Grab Game Changes

• Changed all vectors to bitmaps

• Limit moving items on screen- New items “transport” in (used blitting)

• Created Test to check speed of processor- Math problem run 1 million times- Returns how long it took to run- Based on testing of devices, number indicates how many

items to animate on-screen at once

• Tested on several different devices: - iPhone 3G (900ms)- iPhone 3GS (600ms)- iPhone 4 (300ms)- iPad (300ms)

Page 35: Galaxy grab

Galaxy Grab Game Changes

• Created 2 sizes of game pieces- Resize Handler functions load the correct size for screen

size

•---

Page 36: Galaxy grab

Galaxy Grab Game Changes

• Created 2 sizes of game pieces- Resize Handler functions load the correct size for screen

size

• Added resize listener to have the app change size based on size of screen in app

- This.stage.addEventListener(Event.RESIZE, resizeHandler)

•---

Page 37: Galaxy grab

Galaxy Grab Game Changes

• Created 2 sizes of game pieces- Resize Handler functions load the correct size for screen

size

• Added resize listener to have the app change size based on size of screen in app

- This.stage.addEventListener(Event.RESIZE, resizeHandler)

• Event.Resize over StageDisplayState.FULL_SCREEN - Host doing vs. App doing- FULL_SCREEN has limited keyboard control

•---

Page 38: Galaxy grab

Galaxy Grab Game Changes

• Created 2 sizes of game pieces- Resize Handler functions load the correct size for screen

size

• Added resize listener to have the app change size based on size of screen in app

- This.stage.addEventListener(Event.RESIZE, resizeHandler)

• Event.Resize over StageDisplayState.FULL_SCREEN - Host doing vs. App doing- FULL_SCREEN has limited keyboard control

• Created Deployment – Apple App Store version- 6 days from submission to selling- No problems with submission (have heard horror stories)- Just released Blackberry Playbook version and Android

version is coming soon

Page 39: Galaxy grab

Galaxy Grab to iOS

• Watch a video of Galaxy Grab on the iPad and iPhone

youtube.com/redMinnowInteractive

Page 40: Galaxy grab

What is Flash to iOS Good For

• Games

Page 41: Galaxy grab

What is Flash to iOS Good For

• Games

• Non Apple UI-based apps

Page 42: Galaxy grab

What is Flash to iOS Good For

• Games

• Non Apple UI-based apps

• Visualization/Aggregator from web data

Page 43: Galaxy grab

What is Flash to iOS Good For

• Games

• Non Apple UI-based apps

• Visualization/Aggregator from web data

• Apps that don’t need to tap into device-specific functionality

Page 44: Galaxy grab

What is Flash to iOS Good For

• Games

• Non Apple UI-based apps

• Visualization/Aggregator from web data

• Apps that don’t need to tap into device-specific functionality

tiny.cc/comparisonChart

Page 45: Galaxy grab

Questions?

Page 46: Galaxy grab

Thank You!Steve [email protected]

twitter: steveRedMinnowblog: www.redminnow.com/blog