Game development

 

This guide is a work in progress and will continually evolve to incorporate new game development content. Currently the guide includes some topic headings with little content, indicating the areas we are most interested in addressing next.

 

Game programming

These articles illustrate techniques and provide advice on the craft of programming ActionScript as it applies to gaming. Covering a wide range of fundamentals from Math to Concurrency, these articles are the foundation upon which the remaining topics build.

For more detailed information on ActionScript (from basic syntax to advanced OOP techniques), check out the Learning ActionScript content. Full ActionScript API documentation is in the ActionScript 3.0 Reference.

 

Stage3D hardware accelerated graphics

The Stage3D API delivers blazing fast 2D and 3D graphics in the Flash runtimes using a fully accelerated GPU rendering pipeline. The hardware accelerated programmable shader architecture of Stage3D allows your game to leverage the power of OpenGL and DirectX graphics across web browsers (including Chrome, Firefox, Internet Explorer, and Safari) and games on iOS, Android, Windows, and Mac.

Full Stage3D API documentation is in the ActionScript 3.0 Reference.

 

Stage3D frameworks

To quickly leverage the power of Stage3D hardware acceleration, pick one of the many excellent frameworks optimized for the 2D or 3D game you want to build.

 

Optimizing and improving the performance of your game

Flash Player and Adobe AIR contain an adept and impressive virtual machine capable of executing well-crafted code with remarkable speed. These articles cover the techniques and requisite information to generate optimal code, ensuring your game provides the best possible experience to your end user.

 

Testing

Buggy, unpredictable software immediately destroys the best design and the most innovative game play in the gamer's mind. Not only will you lose sales due to software defects, you waste your time while you attempt to debug, correct and hopefully fix the issues. This section covers the techniques and tools you can use to ensure software quality and deliver a superb experience to your end user.

 

Testing 

AIR mobile simulation in Flash Professional

 

Debugging

The average developer spends more time debugging than on any other aspect of software development. This section teaches you the tools and techniques to do so efficiently and effectively.

 

Debugging

Understanding ActionScript 3 debugging in Flash

 

Deployment

You've created an interesting and innovative game and now you want to share it with others. The articles in this section cover the details of moving from development to release and specifically how to deploy in the Flash Player, AIR for desktop, AIR for mobile, as well as the market specific details for mobile deployment.

 

Deployment 

Installation and deployment options in Adobe AIR 3

Packaging Adobe AIR applications

Packaging applications for Apple iOS devices

Guide for Apple App Store submissions

Packaging applications for Google Android devices

Packaging applications for BlackBerry Tablet OS devices

Packaging Adobe AIR applications for the desktop

Generating a Windows installer for your AIR captive runtime application

Adobe AIR with captive runtime support for mobile (video)

 

Mobile game development

Targeting today’s mobile devices provides an unprecedented reach and opportunity for the game developer. However, the rapidly changing and fragmented world of mobile also provides a significant number of challenges. In this section you will find advice on dealing with the complexities and the difference between this world and the deskop as well as specific advice on handling mobile-only features.

 

Mobile

Considerations for developing Adobe AIR applications for mobile

Multi-platform game development with Flash Builder 4.5

Rendering animated models in mobile games

Supporting the multiple screen sizes of multiple devices in Adobe AIR

Designing for a multi-device, multi-resolution world

Optimizing content for Apple iOS devices

Developing cross-platform Adobe AIR applications

Ten tips for building better Adobe AIR applications

Tips for building AIR applications that can be easily updated

Writing multiscreen AIR apps

Using SWC files to build large Flash and AIR projects with multiple SWF files for iOS

Joining multiple SWF files into one SWF for iOS deployment

Capturing soft key input

Saving state in AIR applications for iOS devices

Using the Adobe AIR Geolocation APIs on Android

More AIR for iOS resources

More AIR for Android resources

 

Native extensions for Adobe AIR

Native extensions are your link between the low-level functionality of a device and the Adobe AIR Runtime. Mastering the techniques covered in this section will give you the ability to bridge any gaps between the hardware and your application proving a complete experience for your users.

The Native Extensions page lists some of the available commercial and open source ANEs.

Adobe Gaming SDK iOS native extensions documentation

 

Native extensions

Adobe Gaming SDK iOS native extensions documentation

Extending Adobe AIR

Building a native extension for iOS and Android

Developing and using Adobe AIR native extensions for Android devices

Using native extensions in Adobe Flash Professional CS6

Transferring data with AIR Native Extensions for iOS

Using the iOS In-App Purchase native extension for Adobe AIR

Using the In-App Billing Adobe AIR native extension for Android

Using the iAd Adobe AIR native extension for iOS

Using the AdMob Adobe AIR native extension for Android

Using the GameCenter Adobe AIR native extension for iOS

Using the Push Notifications native extension for iOS

Using iOS 6 Social Networking features in AIR 3.5 with the GoViral Native Extension

Using the GoViral social networking extension for iOS

Using the GoViral Facebook, Twitter, and mail native extension for Android

Using in-app ratings with the RateBox native extension for Adobe AIR on iOS and Android

Creating real-time multiplayer games on iOS with the Game Kit AIR native extension

Creating turn-based multiplayer games on iOS with the Game Kit AIR native extension

 

Networking, multiplayer, and security

Networking opens your game to the world, allowing interaction with players around the globe and the ability to form communities that interact and communicate in real time. Unfortunately, being open to the world also means you are open to every malicious gamer who wants to cheat his or her way to the top or destroy your creation. The articles in this section give you the tools to interact with the world via networking and the knowledge to keep your creations as safe as possible from potential threats.

 

Postmortems

Postmortems cover the details of a project, including what went wrong and what went right. This section will give you insight into the process of game development, helping you navigate around mistakes and make choices that might improve the quality of your game, shorten its time to market and help you get there avoiding some of the frustration.

 

Postmortems

Postmortem: Lume

Postmortem: Hero Mages

Postmortem: Rebuild

Dr. Stanley's House 2: An escape-the-room game for multiple devices

Sylvester's Band: A GPU-accelerated, interactive children's book for tablets and smartphones

Deconstructing the zOMG MMO game from Gaia Online