using adobe gaming tools for education

47
USING ADOBE GAMING TOOLS FOR EDUCATION Joseph Labrecque 2013 Flash Camp Hawaii

Upload: joseph-labrecque

Post on 09-May-2015

2.142 views

Category:

Technology


0 download

DESCRIPTION

For Flash Camp Hawaii 2013...

TRANSCRIPT

Page 1: Using Adobe Gaming Tools for Education

USING ADOBE GAMING TOOLS FOR EDUCATION

Joseph Labrecque

2013 Flash Camp Hawaii

Page 2: Using Adobe Gaming Tools for Education

JOSEPH LABRECQUE

Senior Interactive Software Engineer | Adjunct FacultyUniversity of Denver

Proprietor | OwnerFractured Vision Media, LLC

Adobe Community ProfessionalAdobe Education LeaderAdobe Certified ExpertAdobe Certified EducatorFormer Adobe Influencer

Author Lynda.com | Peachpit Press | Adobe Press | Packt Publishing | O’Reilly Media | video2brain

ArtistAn Early Morning Letter, Displaced | Shivervein

Page 3: Using Adobe Gaming Tools for Education

HERE’S THE PLAN

• Talk about Stage3D – some history

• Introduce some Stage3D frameworks

• Basic Starling project setup

• Feathers setup and theming… screens, components, and layouts

• Adobe Scout overview

• Educational examples

Page 4: Using Adobe Gaming Tools for Education

STAGE3D: GPU ACCELERATED FLASHFlash Player 11.x & Adobe AIR 3.x

Page 5: Using Adobe Gaming Tools for Education

SOME HISTORY

• Adobe shows off Molehill at MAX 2010

• Lots of excitement around 3D in Flash!

• MAX 2011 - Stage3D made available with Flash Player 11 and AIR 3.

• Mobile support for Flash Player was coming soon.

• November 2011. Fffuuuu…

Page 6: Using Adobe Gaming Tools for Education

RECENT HISTORY

• 11.1/3.1 – bugfixes and stuff…

• 11.2/3.2 – Stage3D on mobile AIR

• 11.3/3.3 – Texture Streaming

• 11.4/3.4 – Concurrency & Telemetry

• 11.5/3.5 – Shared ByteArray

• 11.6/3.6 – readGraphicsData()

• 11.7/3.7 – GameInput APIs

Page 7: Using Adobe Gaming Tools for Education

FLASH PLAYER 11.0 AND AIR 3.0

Page 8: Using Adobe Gaming Tools for Education

PRONGHORN!

• Flash Player and AIR “NEXT”

• ActionScript 4!

• Flash Builder 5!

• Betas available around MAX 2013!!!

• Early 2013 Roadmap - Fffuuuu…

Page 9: Using Adobe Gaming Tools for Education

SHAME ON ADOBE:(

Page 10: Using Adobe Gaming Tools for Education

11.8/3.8 - RECENT ADDITIONS

• BASELINE_EXTENDED : 4096×4096 texture support

• Rectangle Textures in BASELINE and BASELINE_EXTENDED

plus…• Recursive stop on MovieClip

• StageVideo on AIR desktop

• GameInput APIs

Page 11: Using Adobe Gaming Tools for Education

AUGUST ROADMAP UPDATES

Flash Player and AIR "Irving" and "Jones"

Adobe is planning its next two releases for late 2013 and early 2014. These releases continue to focus on premium video, gaming, security, and stability.• ActionScript concurrency for mobile (beta)

• iOS 7 support (depends upon Apple schedule)

• Support for Mavericks

• Support for Windows 8.1

• XXHDPI icon support for AIR Android

Page 12: Using Adobe Gaming Tools for Education

FUTURE EXPLORATIONS

• Mobile Workers – Threading on mobile

• “Molehill 2” – Stage3D Improvements

• Integrated 2D/3D physics

also…• Improved iOS compile time

• Reduced iOS file sizes

• Android Key Lime Pie and iOS7 support

Page 13: Using Adobe Gaming Tools for Education

ADOBE GAMING SDKStarling, Feathers, and more…

Page 14: Using Adobe Gaming Tools for Education

GAMING SDK?

The Adobe Gaming SDK provides an essential collection of frameworks, code samples, and learning resources that work together to help developers create and deliver ActionScript games across multiple devices.

Page 15: Using Adobe Gaming Tools for Education

GAMING SDK 1.2

• AIR SDK 3.8

• Starling

• Feathers

• Away3D & Away Builder

• DragonBones

• FlashCC [CrossBridge]

• GamePad Support, Native Extensions, & ATF Tools

Page 16: Using Adobe Gaming Tools for Education

FLASH IS FOCUSED ON GAMINGBut what about apps?

Page 17: Using Adobe Gaming Tools for Education

ADOBE ROADMAP FOR THE FLASH RUNTIMES

Adobe believes that the Flash runtimes are particularly and uniquely suited for two primary use cases: creating and deploying rich, expressive games with console-quality graphics and deploying premium video.

This focus does not mean that existing content will no longer run, or that Flash cannot be used for content other than gaming and premium video. However, it does mean that when prioritizing work, gaming and premium video use cases will take priority.

Page 18: Using Adobe Gaming Tools for Education

BUILDING AN APP WITH STAGE3DWith the Gaming SDK? Yes.

Page 19: Using Adobe Gaming Tools for Education

WHAT DO WE NEED?

STARLING

• Sets up the GPU stuff for us.

• Build a Starling instance.

• Load in Feathers!

FEATHERS

• Implement a theme.

• Apply a ScreenNavigator

• Decide upon a Layout or two.

• Build out the content.

Page 20: Using Adobe Gaming Tools for Education

STARLING2D Stage3D Framework

Page 21: Using Adobe Gaming Tools for Education

STARLING SETUP

• Import the Starling classes.

• Declare a new Starling instance.

• Optionally set Starling to handle lost context and multitouch.

• Instantiate a new Starling instance, passing in both a main class and the stage to bind it to.

• Start up the instance.

import starling.core.Starling;

private var starling:Starling;

Starling.handleLostContext = true;

Starling.multitouchEnabled = false;

starling = new Starling(Main, stage);

starling.start();

Page 22: Using Adobe Gaming Tools for Education

MAIN STARLING CLASS

• Import the Starling Sprite class.

• Have the main Starling class extend Starling Sprite.

• We are now ready for Feathers.

import starling.display.Sprite;

public class Main extends Sprite {}

Page 23: Using Adobe Gaming Tools for Education

FEATHERSUser Interface Components for Starling

Page 24: Using Adobe Gaming Tools for Education

FEATHERS SETUP

• Import a Feathers theme for use in the app.

• Wait for the Stage to become ready.

• Instantiate a new Feathers theme within the main Starling class once the Stage is ready.

• Feathers is now ready and skinned.

import feathers.themes.FeathersTheme;

this.addEventListener(Event.ADDED_TO_STAGE, onStageReady);

new FeathersTheme();

Page 25: Using Adobe Gaming Tools for Education

FEATHERS SCREENS

• Similar to mobile Flex Views.

• Many individual Screens.

• Use with a ScreenNavigator.

• Optionally bind Screen controls to Feathers components like TabBar or ButtonGroup.

Page 26: Using Adobe Gaming Tools for Education

FEATHERS COMPONENTS

• Similar to Flex components.

• Buttons, Callouts, Headers, Lists, Loaders, Labels, Steppers, Panels, Pickers, Radios, Checkboxes, Containers, Sliders, TabBars, TextAreas, TextInputs, Toggles, and more…

• All GPU accelerated through Starling!

Page 27: Using Adobe Gaming Tools for Education

FEATHERS LAYOUTS

• Lots of similarities to Flex layouts.

• Horizontal

• Vertical

• Tiled (rows/columns)

• Anchored

• Lots of options for each!

Page 28: Using Adobe Gaming Tools for Education

ADOBE SCOUT CCNext-Generation Profiler

Page 29: Using Adobe Gaming Tools for Education

EH…

Page 30: Using Adobe Gaming Tools for Education

ADOBE SCOUT CC

• Advanced Telemetry

• Frame Timeline

• Session Info

• Trace Log

• ActionScript

• DisplayList

• Stage3D

Page 31: Using Adobe Gaming Tools for Education

MEMORY ALLOCATIONS

• Allocations• Top-Down

• Bottom-Up Functions

• Bottom-Up Objects

• Deallocations

• Filter Garbage Collected Objects

Page 32: Using Adobe Gaming Tools for Education

REAL-WORLD EDUCATION EXAMPLESPersonal Experience

Page 33: Using Adobe Gaming Tools for Education

VIDEO STREAMING

• Allows video upload, transcode, and management within a controlled environment.

• Dealing with video – retains the need for Flash Player in video editing and playback.

• Using RTMP and HLS for streaming to both Desktop and Mobile targets.

Page 34: Using Adobe Gaming Tools for Education

VIDEO TRANSCODING

• Transcode “brain” which monitors servers, gathers data, transcodes and manages video files across servers.

• Built with Adobe AIR as a headless app.

• HandBrake and MediaInfo via NativeProcess API.

• Installed as a Windows service.

Page 35: Using Adobe Gaming Tools for Education

INTEGRATED HARDWARE

• AIR works well with a variety of hardware including multiscreen projection systems.

• ANEs make extending AIR across platforms very possible.

• Native Process APIs allow us to work with and command other applications.

Page 36: Using Adobe Gaming Tools for Education

MOBILE APPLICATIONS

• Apple iOS, Google Android, Amazon Kindle, Blackberry TabletOS and BB10!

• Apache Flex still works quite well. In fact, Flex 4.10 and AIR 3.8 have HUGE performance boosts for mobile!

• Stage3D libraries like Starling and Feathers are there if desired.

• Workflow is brilliant!

Page 37: Using Adobe Gaming Tools for Education

GAMING!

• Game development is a great way to teach computer science and programming skills.

• A lot of the problems solved in gaming can be applied to other applications.

• “Gamification” – Check out LevelUp for Photoshop CC.

Page 38: Using Adobe Gaming Tools for Education

WHY LEARN/TEACH ACTIONSCRIPT?

• Are any faculty or students possibly motivated by money? Maybe.

• A recent study places ActionScript as the #1 language in mean household income.

http://bpodgursky.wordpress.com/2013/08/22/updates-to-language-vs-income-breakdown-post/

Page 39: Using Adobe Gaming Tools for Education

IMPACT ON COURSE CURRICULUMTimes have changed…

Page 40: Using Adobe Gaming Tools for Education

TEACHING FLASH

Courses taught:

• Animation/Interactive [Flash Professional]

• Programming [Flash Builder]

• Mobile [AIR for Android]

DVD and Online Training:

• Learn By Video [Peachpit]

• More incoming ;)

Page 41: Using Adobe Gaming Tools for Education

ANIMATION WITH ANIMATE

Animation/Interactive course to use Edge Animate:

• Easier to pick up

• Made for the native web

• Directed workflow

Page 42: Using Adobe Gaming Tools for Education

MOBILE AIR TO PHONEGAP

Mobile course to use PhoneGap and PhoneGap Build:

• Mobile AIR covered in another course

• Focus on web technologies

• Part of new mobile track

Page 43: Using Adobe Gaming Tools for Education

FLASH CONDENSATION

Two Flash courses merged into one Flash Platform overview course:

• Basics of motion

• Interactivity

• Gaming

• Programming

• Mobile

Page 44: Using Adobe Gaming Tools for Education

FLASH PROFESSIONAL CC

• Rebirth of the product [HELLCAT!!!]

• I’ve been working with it heavily.

• Adobe plans to target SWF, AIR, Canvas, and much more… natively.

• Flash is awesome again!

Page 45: Using Adobe Gaming Tools for Education

SECOND THOUGHTS… MAYBE.

• Flash Professional CC turns out to be really awesome – increased focus in web targets.

• The Flash Platform is expanding into all sorts of areas – mostly thanks to Stage3D and 3rd party frameworks and tools.

• PhoneGap is much more difficult to learn and use than mobile AIR.

• Animate is dependent upon knowing other tools to do anything advanced.

Page 46: Using Adobe Gaming Tools for Education

IN CLOSING…Flash (in various ways both old and new)

is still strong for education and for all!

Page 47: Using Adobe Gaming Tools for Education

THANK YOU

Twitter: @JosephLabrecque

Email: [email protected]

Web: http://JosephLabrecque.com/