25
Spieleentwicklung mit dem Adobe AIR SDK Indie Outpost Sondertreen 17.04.2013 Michel Wacker @starnut [email protected]

Spiele entwickeln mit dem Adobe AIR SDK

Embed Size (px)

DESCRIPTION

von Michel Wacker (http://twitter.com/starnut)

Citation preview

Page 1: Spiele entwickeln mit dem Adobe AIR SDK

Spieleentwicklung mit demAdobe AIR SDK

Indie Outpost Sondertreffen17.04.2013

Michel Wacker@starnut

[email protected]

Page 2: Spiele entwickeln mit dem Adobe AIR SDK

Nov 2011:Adobe sägt

Flash mobilePlugin ab

http://nyulocal.com/wp-content/uploads/2013/02/R.I.P..jpg

Page 3: Spiele entwickeln mit dem Adobe AIR SDK

http://www.adobe.com/

Whot?

Page 4: Spiele entwickeln mit dem Adobe AIR SDK

http://www.adobe.com/

Whot?• Cross-Compilation

• Hardware Beschleunigung (Stage3D)

Page 5: Spiele entwickeln mit dem Adobe AIR SDK

Flash Plugin

http://www.adobe.com/

Flash IDE CS6

Adobe Integrated Runtime (AIR)

Flash Ökosystem

Page 6: Spiele entwickeln mit dem Adobe AIR SDK

AIR SDK (3.7)

http://www.adobe.com/

Flex SDK (4.6)

Adobe Gaming SDK

Flash Ökosystem

Page 7: Spiele entwickeln mit dem Adobe AIR SDK

AIR SDK

• Kosten: Gratis Download

• ActionScript Compiler 2.0 (mxmlc Ersatz)

• Cmd-line Debug Launcher (ADL)

• Cmd-line Developer Tool (ADT)

Page 8: Spiele entwickeln mit dem Adobe AIR SDK

AIR Developer Tool

• AIR apps als native Installer packen

• z.B. exe, ipa (iOS), apk (Android)

• AIR Native Extensions (ANE) packen

• Device Erkennung

• Remote (Un-)Install

Page 9: Spiele entwickeln mit dem Adobe AIR SDK

Zielplattformen

• Browser .swf

• Mac OSX .app

• Windows 8 .exe (x86 Computer)

• Linux (unsauber)

Page 10: Spiele entwickeln mit dem Adobe AIR SDK

Zielplattformen

• iOS .ipa

• Android .apk

• Blackberry

• Kindle Fire

• NOOK

Page 11: Spiele entwickeln mit dem Adobe AIR SDK

Kein Support

• Laut Flash Runtimes Roadmap:

• Windows Modern UI Apps

• Windows Phone

Page 12: Spiele entwickeln mit dem Adobe AIR SDK

Gaming SDK

• AIR SDK

• iOS ANEs: Game Center, IAP, iAd, TestFlight

• Adobe Texture Format (ATF) Tools

• Doku, Beispiele etc.

• Creative Cloud Anmeldung nötig (gratis)

Page 13: Spiele entwickeln mit dem Adobe AIR SDK

Gaming SDK

• Starling: OS 2D Framework (Stage3D)

• Feathers: OS UI Framework für Starling

• Away3D: OS 3D Framework (Stage3D)

Page 14: Spiele entwickeln mit dem Adobe AIR SDK

Starling

• 2D Layer über Stage3D API

• Einfacher Zugang zu GPU Funktionen

• Greift Flash Konzepte auf (DisplayList)

• Unterstützt TexturePacker Exports

• Gute Tutorials, Performance-Tipps

• Box2D, Partikeleffekte etc.

Page 15: Spiele entwickeln mit dem Adobe AIR SDK

Mankos

• Junges Framework

• Verstreutes Wissen

• Try & Error

• Unvollständige Funktionalität(z.B. Maskierung)

Page 16: Spiele entwickeln mit dem Adobe AIR SDK

Work!ow

• Animationen in Flash CS6

• Export als PNG Sequenz

• Import in TexturePacker

• Laden des TextureAtlas zur Runtime (!)

• Starling MovieClip instanzieren

Page 17: Spiele entwickeln mit dem Adobe AIR SDK

ActionScript 3.0

• Seit 2006 mit Flash Player 9

• Klassenbasierte Objektorientierung

• Mischung aus JavaScript und Java

• Strong typed, statisch

• Assets über Wrapperklassen instantierbar

• Sprache wird nicht weiter entwickelt

Page 18: Spiele entwickeln mit dem Adobe AIR SDK

ActionScript 3.0package com.starnut{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouvseEvent; public class MyClass extends Sprite { public function MyClass(myAnimation:MovieClip) { myAnimation.addEventListener(MouseEvent.CLICK, onAnimationClick);

addChild(myAnimation); // add to DisplayList } private function onAnimationClick(event:MouseEvent):void { trace("myAnimation has been clicked"); // console output } }}

Page 19: Spiele entwickeln mit dem Adobe AIR SDK

Etablierte IDEs

• Adobe Flash CS6: sh*tty Code Support

• Adobe Flash Builder: Eclipse, 30 Tage Trial

• FDT: Eclipse, Free/Premium ❤

• Flash Develop: Free (Win only)

• IntelliJ IDEA: Individual/Commercial Liz

• Textmate / Sublime2 Plugins

Page 20: Spiele entwickeln mit dem Adobe AIR SDK

Adobe Scout

• Mächtiger (mobile) Pro"ler

• Funktioniert ohne explizite Anbindung

• Aktivierung über separate mobile App

• Zusätzliches Output über Compiler Flag

• Kosten: (noch) gratis über Creative Cloud

Page 21: Spiele entwickeln mit dem Adobe AIR SDK

Interestingness

• Citrus Engine: Starling, Away3D + physics

• C/C++ to Flash Compiler

• Unity to Flash Compiler

• Kinect, Arduino, Mobile Fernsteuerung ...

Page 22: Spiele entwickeln mit dem Adobe AIR SDK

Stärken

• Browser Plugin stark verbreitet

• Guter iOS und Android Support

• Hardware Beschleunigung

• One Source for all möglich

• Etablierte Community und Tools

Page 23: Spiele entwickeln mit dem Adobe AIR SDK

Schwächen

• Abhängigkeit von Adobe

• Roadmap zeigt drastische Kürzungen

• u.a. Kein Win Modern UI / Phone Support

• Lange Packzeiten für mobile

• Cross Compiler: Black Box

• Starling noch nicht ausgereift

Page 24: Spiele entwickeln mit dem Adobe AIR SDK

Fazit

• Gute Einstiegstechnologie

• Starke Tools

• Hohe Zugänglichkeit

• Große Reichweite: Browser, iOS & Android

• Kostengünstige Entwicklung

• Unsicherheitsfaktor Adobe

Page 25: Spiele entwickeln mit dem Adobe AIR SDK

• Flex SDK: http://www.adobe.com/devnet/#ex/#ex-sdk-download.html

• AIR SDK: http://www.adobe.com/devnet/air/air-sdk-download.html

• Gaming SDK: http://gaming.adobe.com/technologies/gamingsdk/

• Flash Runtimes Roadmap: http://www.adobe.com/devnet/#ashplatform/whitepapers/roadmap.html

• Starling Framework: http://gamua.com/starling/

• Feathers UI: http://feathersui.com/

• Away3D: http://away3d.com/

• TexturePacker: http://www.codeandweb.com/texturepacker

• Flash Builder: http://www.adobe.com/de/products/#ash-builder.html

• FDT: http://fdt.power#asher.com/

• FlashDevelop: http://www.#ashdevelop.org/

• IntelliJ IDEA: http://www.jetbrains.com/idea/

• Scout: http://gaming.adobe.com/technologies/scout/index.html

• Creating iOS apps using Adobe Flash Professional CS6: http://www.adobe.com/inspire/2012/12/ios-apps-#ash-cs6.html

• Citrus Enginge: http://citrusengine.com/

• Loom Engine: http://theengine.co/

Links