MAX 2005: The Art of Encoding Video (4pm, 18 October)

Kevin Towes of Macromedia kicked off with a discussion of the Flash Player’s position in the world of video codecs, as arguably the most widely-distributed video platform, and one that requires no additional software installation.

Flash 8 uses the new On2 codec. The new encoder offers batch encoding, unlike previous versions.

Legacy video in the older Sorenson codec is still supported by the Player.

Kevin said that Flash’s FLV video format doesn’t allow for transcoding (i.e. opening and resaving the file in another format) due to compression and keyframe issues — although I dare say someone could manage to do it — and that the best way to do so would be through screen capture of the video playback.

The On2 codec adds the ability to encode metadata, and can be streamed using the Flash Communication Server 1.5 and the newly-released Flash Media Server 2.0.

8-bit alpha channels created in video production tools and exported to the Quicktime Millions+ or Animation codecs can be encoded into FLV files that support alpha transparency. Kevin mentioned that it takes approximately four times as long to encode files with alpha, so get started now!

One caveat about alpha channel video. Kevin quoted Tinic Uro, a Principal Engineer on the Flash Player as saying “Doom 3 won’t run on a Pentium 1, either.”

On2 has their own encoder, as does Flix and Sorenson. The third-party tools allow 2-pass VBR encoding which can result in more intelligent compression, but only Macromedia’s encoder can create cuepoints. Kevin suggested that videos compressed for less than 100k/sec should be created without 2-pass, because the variable data rate created by the more sophisticated tools worked best where the bandwidth was greater.

MAX 2005: Is That All You’ve Got, Mickey?

Kevin Baird from digital OutPost did a lot of visual documentation of the group of Director developers who floated throughout the conference like a blood clot in the artery of Flash, Flex, and mobile platelets. He has a Flickr image gallery up that includes a number of shots from the special Tuesday night event at Disney’s California Adventure, as well as a video he shot from the “California Screamin'” rollercoaster which just reopened the week before the conference after an accident in July. And yes, he got stuck next to your truly for three of our trips on the ‘coaster (that’s me you can hear yelling “Is that all you’ve got, Mickey?” as we go through the loop-de-loop).

MAX 2005: Flash Game Development (2:45pm, 18 October)

This seminar was presented by Joshua Hirsch, Minister of Technology at Big Spaceship. Big Spaceship does a lot of work for movie sites, and Joshua showed off a couple of examples to start with, including a game for the movie Wimbledon (Someone made a movie about tennis? Man, I’ll see that after I see another movie about golf.)

Joshua stressed the importance of developing a working model of the game sans graphics, to ensure that gameplay is workable before all of the visual assets have been developed. He discussed the concept of the casual gamer — someone who likes to idly play a particular game — versus someone who comes to a game because they’re interested in a the subject matter (i.e. movie tie-in).

Joshua elaborated four basic categories that games fall into:

  • one-click: where the user basically just needs to steer the mouse around and press the button;
  • twitch/arcade: where time and coordination are major factors in gameplay;
  • puzzle: which relies on pattern-matching of one variety or another;
  • turn-based multi-player: non-real-time multiplayer interactive experiences.

Curiously, Joshue dismissed real-time multi-player as too problematic (for reasons of latency). Director users know that there are methods — or were….

He listed some personal favorites, including the HeliAttack series from Miniclip. (I see that their #1 game is the real-time Shockwave multiplayer game Robot Rage.)

Disadvantages of Flash for games: no 3D, no real-time. Advantages: yadda, yadda, yadda.

He considered several elements essential a game’s replay value:

  • it should be easy to learn;
  • it should be hard to master;
  • gameplay should be varied;
  • it should contain infinite possibilities;
  • it should have random incentives.

One simple way to increase the potential for creating a viral game is to allow users to email their high scores to friends for challenges.

He walked through the process of making a wireframed version of a games he called “Tank and Circles”, which was remarkably similar to “Asteroids.” Through the process he discussed breaking down the game into states, classes, and state transitions.

He brought up the issue of granularity in collision detection (where objects may pass through each other in-between collision checks) and the need to account for it. Havok!

Toward the end, he showed a couple of games Big Spaceship’s done for movies over the past few years, a pinball game for Starsky & Hutch, and a 2.5D streaking game for Old School.

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.

The Rampaging Armchair Mouthings of Snowball

In the comments thread of another blog a week or two back, someone (who later apologized) dismissed me as a dogmatist and polemicist, then blamed people like myself for wrecking every left group he’d been a part of. I was accused of “rampaging armchair mouthings” (“typings” would have been more technically correct). Then he wrapped it up by comparing me to “the Trotskyists of old.”

That was where I practically fell out of my chair laughing.

Leon Trotsky was, after all, the guy who got the ice axe treatment from a Soviet assassin, after years of exile. The reason he was exiled from the Soviet Union in the first place was because he thought Stalin and his cronies had betrayed the ideals of the Revolution, hence the title of his book The Revolution Betrayed.

“Trotskyite” was a term used by Stalinists to denounce anti-fascist Communists who opposed the Soviet Union’s withdrawal of support for Republican forces in the Spanish Civil War, leading to the dictatorship of Francisco Franco. Then the term was used to denounce those who were against Stalin’s pact with Hitler. Later, it was picked up by Maoists as a synonym for “counter-revolutionary”. Trotsky himself was involved in a lot of ugly, violent events, but most of the people killed, imprisoned, or otherwise adversely affected for being “Trotskyites” didn’t have anything to do with Trotsky’s actions during the Revolution.

If it’s a choice between being called a Trotskyite for arguing that people should stick to their ideals and not make compromises with people bent on destroying those ideals or taking the position of those who coined the Trotskyite label and believed controlling power and enforcing a aura of infallibility around their leaders was more important than principle, I’ll gladly assume the mantle of Trotsky. Because the latter group was the Stalinists.

In George Orwell’s Animal Farm, the analogue for Trotsky is generally considered to be Snowball.

That Day

1,500 Days of the Global War on Terror

It’s been 946 days since the United States and the Coalition of the Willing invaded Iraq as a part of the Global War on Terror, which began 1,500 days ago, on 11 September 2001. That latter number is longer than US involvement in World War II (1,345 days) and longer than the American Civil War (1,458 days). 1,500 days into the Vietnam War (counting the Gulf of Tonkin incident as the start of major American military involvement), the 1968 election between Democratic Vice President Hubert H. Humphrey and Republican former Vice President Richard M. Nixon was reaching its conclusion. Humphrey had been in the Administration throughout the beginning of the war and won the nomination over anti-war candidates despite winning none of the primaries (which had less clout in that era). Nixon told people he had a “secret plan” to end the war. The last American combat troops didn’t leave for four-and-a-half years — a total of 3,159 days.

20 December will be the 1,000th day since the invasion of Iraq.

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: My Dinner With Andy [and Tom] (4pm, 17 October)

During the late afternoon, Andy Phelps — tenured professor at Rochester Institute of Technology — and Tom Higgins — Macromedia’s product manager for Director — retired to the sports bar in the Anaheim Hilton, where the night before White Sox fans had been spraying champagne around to celebrate the win over the Angels in some sort of championship.

No, Tom did not tell us any secrets, despite our attempts to ply him with liquor. Technically, we didn’t have dinner, just nachos. I did, however, introduce Tom to a drink he seemed to like — which I, in turn, found out about from my brother’s friend Todd Gentry — the Brave Bull:

Brave Bull

1 shot tequila
1 shot Kahlua®
put ice into tumbler, pour shots into tumbler over ice.

I hereby declare this drink the official cocktail of Director developers.

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

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