1 August 2011
All
Everything I have ever learned about programming came from playing video games. Growing up as a kid I had no idea that my passion for playing and wanting to build video games would have such a far reaching influence on my career as a developer. This year at Adobe Max I will be giving a talk about my history of playing games and how I learned to take techniques such as blitting, Sprites and advanced optimization, and apply them to some of the high profile enterprise websites I have built.
Blitting is a technique that allows you to rapidly draw bitmaps to a screen. This is one of the oldest techniques for displaying graphics on a screen and was used heavily in the 8bit and 16bit video game days. Even though this is an old technique, it doesn't mean blitting still doesn't apply to modern Flash development. Bitmap manipulation is incredibly fast in Flash and can be used to scroll large images, make games, or perform generative art. By harnessing the power of the Bitmap and BitmapData classes in the Flash Player, you can achieve incredible run time compositing.
My talk will discuss how to take advantage of blitting in desktop, web, and mobile Flash game. I will go into detail on the Flash games I have created and how I ported them over to different AIR platforms. In this talk you will get a better understanding of how to take advantage of blitting in your own projects. All of the code I will cover is available as open source for people to use, explore, and learn from. Blitting is a powerful tool that every Flash game developer should have a basic understanding of since it can apply to so many different situations and platforms.
Flixel (bitmap game library) on desktop, web, and mobile
Flixel is an incredible bitmap game framework that takes full advantage of blitting and bitmap manipulation to achieve incredible performance with a retro 8-bit game look and feel. Flixel is used in several desktop and web games already and now with AIR on Android there is a perfect opportunity to build retro games for mobile with Flash. It took all of 5 minutes to port over the Flixel demos to AIR on Android and immediately I was impressed with a solid 30 fps playback. As Flash mobile becomes more of a standard, bitmap game engines such as Flixel will be an incredible tool in aiding Flash developers to create mobile games very quickly. I will go over my Frogger game which I built in a week and can be deployed to desktop, web, and mobile with a single Ant build.
Code Bummer
After I talk through the details of how I made Frogger, I will cover my own frogger clone called Code Bummer. I will discuss how I reskinned Frogger, added in logic to support multiple screen sizes to support the Samsung Galaxy Tab to several different Android phones, and finally what the apps submission process was like.
MatchHack
MatchHack is based on the classic memory match game and uses RPG elements for a twist. The player's goal is to explore the dungeon by clicking on tiles. Find matching tiles to beat the monster guarding the exit. Each match counts has a hit, and each failed match counts as an attack from the monster. This simple game is a great example of building a multi-platform Flash game.
The Johnny Cash Project
I will also talk about how The Johnny Cash Project makes extensive use of blitting as an example of how to take gaming concepts and apply them to RIAs (Rich Internet Applications). This project is a crowd sourced music video for Johnny Cash's latest album. Each user is able to select a frame of the music video and draw over it. Each hand drawn frame is concatenated into a new music video. Blitting is being use in two major places. The first is the drawing tool itself and the second is the video timeline. The video timeline is one aspect I will focus on since the logic behind it allows flash to seamlessly scroll a 12600 pixel wide image with no slow down or visual tearing.
This will be my 3rd Max, and I am already hearing that Adobe will be showing off some amazing stuff for the Flash platform. This is going to be one you don't want to miss and I hope to see you at my talk:
Pushing Pixels: Blitting for Gaming on Web, Desktop, and Mobile
Tuesday, October 4, 4:00 p.m. - 5:00 p.m.
Be sure to also check out the other Flash game development sessions at MAX this year. You can see the full listing on Enrique Duvos's blog. Space in these sessions is filling up, so register soon.