MAX 2005: Building Cross-Platform Games in Flash (2:45pm, 17 October)

I was — at most — a couple of minutes late for Andrea Trento’s seminar on building Flash games for mobile devices (you didn’t think building them for Mac and Windows would have required a seminar, did you?) but he’d already cracked the whip and gotten past the first screen by the time I slipped into my seat.

He laid out some basics of designing games for multiple mobile device platforms. Use a minimum number of colors; each color requires 20-30 bytes of memory, which adds up quickly on low-memory devices. I felt like I’d slipped into a time-warp to 1996, when I was writing my book on Shockwave development. Avoid gradients and alphas; vector gradients require a fair amount of processor power to draw and redraw, and alpha channel compositing is even more intensive. Use fills, avoid outlines; Andrea didn’t explain why specifically, but this is actually a processor savings that goes back to the early days of imagesetters. A stroke is a very efficient method of storing shape data, but drawing routines are essentially fill routines, so for a stroke to be drawn, the computer must first create an outline for the shape represented by the stroke, then fill that. Pre-converting to a shape saves processor time, but makes it harder to edit.

Andrea had a list of mobile device screen sizes that are common, but whipped past it before I got more than one-and-a-half down.

He noted that there are differences in the ActionScript support for mobile phones.

Andrea said variables in ActionScript have 10-15 bytes of overhead. He said to avoid long variable names, presumably because AS is stored in a less-compressed format than other languages.

Something I wasn’t aware of was the use of i-mode simulators, for mobile phone emulation (I haven’t done any mobile development myself).

He’s planning to post material on his BeMobile site.

In follow-up questions, someone asked about time frames for game development and cross-porting. Andrea used an example of a game that had taken two days to port from one device to another, after three weeks of development, and said that a similar game in Java would have taken three months. Another question on frame rates led to a recommendation of 15fps for mobile devices. He said that to the best of his knowledge, there were no plans for a Palm OS version of the Flash Lite Player (so much for my Treo) and he recommended MIDI sound.

Persuasive Gaming on On the Media

I’ll get back to MAX posts ASAP (my computer didn’t have Gary’s battery stamina, so I’m transcribing hand-written notes). While I’m getting things back under control after returning last night, I’ve been listening to one of my favorite radio shows/podcasts, WNYC’s “On the Media,” and noticed last week’s show had a piece on games developed for advertising, political, and other “persuasive” purposes that mentioned Flash.

MAX 2005: Next Generation ActionScript [and the last session shall be…well, not first, exactly] (2:45pm, 19 October)

Macromedia’s Gary Grossman, Architect for the Flash Player started off with a history of the evolution of Flash’s

scripting language.

Why develop ActionScript 3.0? Performance. Tighter

structure. Previous choices in AS development may not have

been optimal and may have become debugging challenges.

Silent failure of too many errors. Incomplete repair of

these issues in AS2.

Many significant changes in AS3. It will be challenging to

port existing apps. VM and other major changes shouldn’t

make any difference in development. It will provide a solid

platform for the future of the Flash Player.

AVM2 (the new virtual machine) only executes newly-compiled AS3-compatible files. Both VMs will be kept in the Player. Entirely new bytecode instruction set, will be under 1MB. Codenamed “Zaphod” (which I think Gary pronounced “zaffud,” but which should be “ZA-fod”).

AS3 includes native classes, string types, access specifiers, namespaces, error reporting, optional parameters and rest arguments, method closures, regular expressions, EX4 (EMAScript for XML), full standards compliance.

Gary went into a fair amount of detail about each of the major changes to ActionScript, but I’m not able to pay enough attention to know what he was talking about and take notes simultaneously.

One item, rest arguments, allows for functions with an open-ended number of arguments. Capitalization nazis will love AS3!

Loooong day. Long week. Ready to go home.

MAX 2005: General Session (10:30am, 18 October)

Session opened with a live-action “Meet Your Match” faux-dating segment that didn’t really go much of anywhere that I could see.

David Mendels, a name known to many of us from the old Director days. He discussed the increase in video usage on the Web, in advertising and other models.

“Flash video has quickly become the premier solution” for video on the Web. Does he mean “Premiere”? 26% of people reported in a survey that they didn;t want to install a player. Flash integrates video, etc. Went over Flash 8 Player improvements.

Another segment of the dating skit.

Jen (whose last name I missed) gave a quick demo showing how to add video in Dreamwaver 8.

Steve Kilinsky (Adobe After Effects) and Mike Downey (Macromedia Flash) came on to demo. Steve talked about how to get rid of “palletosis.” He dropped out a green-screen, added a new image for the background, animated a text string, dropped in some particle effects. The he previewed an FLV export from After Effects. Mike linked the video into Flash 8 from a server, stepping through the playback and skin options in the new workflow.

More of the dating skit.

Jeremy Allaire came on to talk about his new venture, a video and media hosting, internet TV system that I can’t really figure out why you’d want to use. It does have its own “monetization” system and custom Flex-based players, as well as an advertising system built in. Soon publishing APIs for developers to incorporate Brightcove into their own applications.

Several mentions made that the “whole Cold Fusion team is here” at MAX. The Director presence here consists of, uh, Tom Higgins.

Tom Hale, a Sales VP came out to shoot the Breeze. 1,600 enterprise customers. Breeze to be embedded into Cisco’s upcoming releases. Displayed a Breeze use from a Japanese company called Binessa (sp?) that drew geometric shapes and symbols. Intoduced Room Extensions and SyncSWF. Nigel Pegg, David Yun, and Peter Rice showed a collaborative magnetic poem application. Not screen-sharing, they point out. Sort of like something that could have been done with the Shockwave Multiuser Server about eight years ago. Beta sign-up at http://www.macromedia.com/go/breeze_developers

More dating skit.

Al Ramadan of Mobile and Devices is introduced. Ran down changes and growth since last year’s conference and announcement of mobile plans. Nokia has licensed Flash. Announcement that Qualcomm’s Brew service will now support Flash Lite.

Bill Perry of Mobile Solutions showed a Yahoo!-developed Flikr image search tool for phones in emulation mode and on a phone, searching for MAX2005 images.

Josh Ulm hit the stage “on a short leash,” as he said, to show off some mobile customization, where the UI programming has been divorced from the data, and incorporating FlashCast, which is a push server technology for content. Gotta go to lunch

MAX 2005: What’s New in Flash 8? (9:15am , 17 October)


Grant Skinner
, started off with his overview of IDE, AS, and Player enhancements in Flash 8.

Showed off blur effect and image compositing, IDE enhancements to Library panel (including switching between open libraries with a dropdown menu, much as you’ve been able to do in Director for — oh &mdash 10 years. The new Help panel includes Boolean searches and literal search phrases (set off by quote marks).

The script editor now checks syntax for packages and can show hidden characters, which is useful particularly when you’re copying scripts from other sources.

Gradients have increased in complexity from 8 to 16 control points, which means you can set more positions within the gradient for specific colors. Radial gradiants can also have their centers offset, so the full spectrum of gradient colors is always displayed between betwen the gradient origin and endpoint.

The ‘9slice’ function that allows items like dialog boxes to be easily rescaled looks to be very useful, as are the new btmap blend models.

He expressed some concern about the potential overuse of the new image filters (drop shadow, blur, glow, bevel, gradient glow, gradient bevel, adjust color, convolution, displacement maps). The last two are only available through AS.

He briefly discussed the new runtime bitmap caching. There were a few items where I think he made some slight mis-statements, but most people don’t really know what they’re talking about here, so….

There’s a new font rendering engine in Flash. Kerning on dynamic text, a wider array of controls over anti-aliasing, and more.

New On2 video codec, new encoder with the ability to create cuepoints, alpha challel compositing, easier to get video into Flash, etc….

Timeline tweening now has independent curve editing for position, rotation, filter, and other properties.

If you’re interested in
how search engines deal with your Flash movies
, there’s a new Publishing option for making your Flash content more searchable.

Mobile development, JSFL, blah, blah, blah….

Skinner moved into the ActionScript stuff in the last minute of the scheduled talk. He demonstrated a Goo-type bitmap distortion and animation goodie created in Flash 8.

He quickly demonstrated file upload and download capabilities. I need to look more closely at that.

I’m missing things as I type.

Programmatic skewing.

Load GIF, PNG, PJPG, (no Animated GIF); new garbage collector; auto-update for the Player; show Redraw Regions option to display areas where screen updates are happening.

Cold Coq

Yeah, it was, uh, Flash and XML malfunctions, that’s the ticket!

Sexual double entendres were removed overnight from Burger King’s new website, CoqRoq.com, but the company claims it has received no complaints from consumers or other outside groups, AdAge reports. The deleted content included captions, under photos of young girls, that read: “Groupies love the Coq” and “groupies love Coq.” The captions were there when the site went live yesterday, but according to Edna Johnson, SVP for global communications for Burger King, malfunctions in the Flash and XML programming were responsible for putting the captions up. A misspelling of “Burger King” had also been fixed, she said.

Spell Check

From the DevNet Resource Kit, Volume 10 description of the WA Auto Spell Check extension for Dreamweaver MX2004 (emphases added):

A single typo can turn the most professional-looking web page into an amateur production. With WA Spell Check, you catch your mistakes immediately and correct them with a click. This extension integrates completely with the built-in and personal dictionaries of Dreamweaver MX 2004, and it provides full international support. WA Auto Spell Check is a real timesaverand an on-the-job lifesaver:

Love to Hate Shockwave.com?

Eight years of wrestling with Shockwave installs got you down? Still sick at heart about how each install leads to some foreign site?

Mark Reijnders passed along the link to this delightful story about what happened when Shockwave.com gave a reported $2 million to “South Park” creators Matt Stone and Trey Parker to develop an online series called “Princess”. Could be Stone and Parker pushing the limits of taste, could be they were out of ideas, but it never went live on Shockwave.com.

Cable channel Trio has made “Shocked”, a short documentary about the series, and a couple of episodes of “Princess” available online. See for yourself what $2 million of venture capital can buy!