Spy Trackdown

spy trackdown

I was totally unfamiliar with the Spy Gear series of games and toys from Wild Planet, but apparently it’s been around for a decade.

Now, thanks to a long — if very sporadic — association with the wonderful people at Seattle board game developer Forrest-Pruzan Creative, I can claim a very small part of the Spy Gear world, having worked on some prototyping for the new Spy Trackdown game. I can hardly wait to play it.

When You Make It to Wikipedia…

Last summer I wrote a post titled “The Tell-Tale SWF” where I poked a little fun at attempts by Macromedia and Adobe to eradicate the term “Shockwave” from use in relation to Flash.

Now, as I’ve mentioned before, most of the traffic on the blog is people looking for my parody TIME covers (particularly the Idi Amin piece) but I’ve noticed in the past couple of weeks when I’ve looked at log records that there were links from the Wikipedia entry on “SWF,” the file extension for compressed Flash files. And when I went to look it up, someone (not me) had put a link to my article in the “References” section at the number one spot, ahead of the official Adobe references.

Thank you, unknown Wikipedia editor!

Not Too Confidential

Looking through the Flash job listings at Monster, a Director of Technology job for a company in SW Portland that declined to list its name (it just says “Confidential”).

Then again, there’s the job description:

Job Overview

The Director of Technology is asenior-level leadership role whose primary focus is PMSI’s technology offerings.This position’s outward face serves as PMSI’s technology advocate participatingin new business development through technology solutions for clients.Internally, this person will help form and lead the development team and theirenvironment including Web development and Network Infrastructure. The ability and desire to perform and executein an agency environment and in “start-up” mode is a must.

Planned Marketing Solutions International.

The Tell-Tale SWF

SWF. It seems simple enough to assume that it stands for “Shockwave Flash”, doesn’t it? Every now and then someone asks if it’s true, then someone else responds that it’s either “Small Web Format” or that it stands for nothing at all (what is the sound of s-w-f clapping?).

Recently, a discussion on the topic led to a question about whether other forms of Shockwave existed, like for xRes, Macromedia’s attempt at a Photoshop killer back in the mid-90s (you used to get a copy with every box of Director!) The answer, as I’ve said before, is “yes”.

There was an xRes server. It used the pyramidal storage scheme for the xRes image files to deliver cropped online multi-resolution images. You could specify the display image size, level of magnification, center of focus, etc., sort of like what Mapquest and Google Maps do with their aerial views.

Here’s Macrobe’s tech note:

Shockwave –

New Shockwave support enables users to dynamically publish and view streamed hi-res images on the Web without having to download the entire file. Web surfers can pan and zoom into embedded hi-resolution images for greater detail and interactivity.

As for whether SWF actually stands for “Shockwave Flash”, again I turn to the source, in the instructions for installing the Flash 9 plugin on Solaris (my emphasis):

4. Verify the installation by typing about:plugins in the location bar or by choosing Help > About Plugins. You should see Adobe Flash Player listed as “Shockwave Flash 9.0 “

Then take a look at a function from the AC_RunActiveContent.js file generated by Adobe Flash CS3, aka Flash 9, used to embed SWF files in pages and get around the EOLAS patent (and released just a couple of months ago):

function AC_FL_RunContent(){
    var ret = AC_GetArgs ( arguments, “.swf”, “movie”, “clsid:d27cdb6e-ae6d-11cf-96b8-444553540000”, “application/x-shockwave-flash”);
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

This kind of thing can’t be dismissed as the persistent fallout of a decade-old marketing goof. Macromedia couldn’t (and now Adobe can’t) get rid of these types of references because they’re associated in operating systems with the SWF file extension (Mac OS X identifies the “Kind” of a SWF as “Shockwave Flash Movie”). Take it from the author of the Macromedia Press book on Flash 2 (that was me), it was in the technical specs of things as basic as the MIME type. It’s still in the technical specs because they can’t be modified without causing more trouble than it’s worth. The marketing people might have done their best to kill “Shockwave Flash”, but you can still hear its heart beating, beating under the floorboards.

3D in Flash; How It’ll Happen

A few times over the past year, the subject of 3D in Flash has arisen on various Director lists I read (including back in August on dir3d-l). The idea is often met with some cynicism about its possibility. Why? I’m not sure, because while I have no knowledge about how 3D would get introduced into Flash, I can tell you exactly how to do it. And the method mirrors the Shockwave 3D implementation in Director.

The first thing to remember is how SW3D media is incorporated into Director. A SW3D cast member is a little self-contained world containing all of the texture definitions, model resources, models, animations, etc. displayed in the rectangular sprite “window” on the 3D world. Everything that appears within the 3D world is part of an exported scene or content created through the use of scripting. All user interaction with the scene is the result of scripting. The 3D sprite is usually displayed direct-to-stage due to speed issues, but it may be displayed with a transparent background at the risk of reduced refresh rates. That’s what we have in Director now, and pretty much what we’ve had since the release of SW3D in early 2001.

So say that a new version of the Flash engine is introduced with a 3D object model and renderer. It’s implemented in much the same way that SW3D members are, as a separate object structure that has no direct correlation to the Timeline/MovieClip model of Flash development. Flash 3D (F3D) model and animation data can be exported from a variety of modeling apps and imported or loaded into Flash movies at both authoring and run-time, just like SW3D.

An animated F3D scene would have the ability to display in a rectangular window, with an alpha channel mask, or behind other Flash elements, just as Flash video is now displayed.

The rendering engine would be based on 2006 standards and capabilities, which are several generations beyond the SW3D/late ’90s technology.

F3D objects would play canned animations exported from modelers or made interactive using ActionScript commands, just as interactivity is added to SW3D scenes with Lingo.

That seems pretty doable to me. The bitmap manipulation in Flash benefited from Werner Sharp’s experience with Imaging Lingo and a few years of experience. There’s no reason a Flash 3D implementation couldn’t take advantage of not only the experience of Shockwave 3D but also the numerous general advances in 3D development since SW3D’s release in 2001.

There’s nothing stopping Flash from using the very same model for 3D support that Director did. It’s simply a matter of whether they decide to add the heft to the virtual machine. If they don’t show something like this at MAX this week, I’d lay strong odds that it’ll be there next year.

For anyone who’s already read the “We Band of Director Brothers” post from yesterday, I’ve posted an audio version of the speech, just for laughs.


MP3 audio of “We Band of Director Programmers”
(865K)

Anyone at MAX? Have a great show!

MAX 2005: Using Flash Media Server 2.0 (10:15am, 18 October)

Brandon Purcell talked about the upcoming release of the new version of the Flash Media Server.

FMS2.0 makes it possible to use an edge server scheme, in which an origin server holds the definitive version of content files and multiple edge servers are the actual points of contact for client applications, rather than the live server splitting scheme employed by current versions of FCS.

Edge servers take in requests for content and combine all requests for new content into a single stream of requests between each edge server and the origin server, or spit cached content out without disturbing the origin server at all.

Routing management and re-routing auto-discovery are features built into the new Flash 8 Player. When I figure out exactly what that means, I’ll get back to you, but I believe it has to do with the ability to change target servers based on something similar to an http redirection, as a browser would do.

Notes say Brandon mentioned a technique called edge chaining, which sounds painful, but likely involves multiple edge servers operating in unison.

Brandon compared the new On2 video codec in FLV files. He said there is no support for it in the Flash 6 or 7 Player but that an option in FMS2 allows you to set AutoStreamTypeSwitching to accomodate multiple Player releases.

FMS2 has new developer and admin features, supports RTMPS (secure real-time) protocol, DLLs, and has a Java SDK. It has a SWF admin console, a shared object browser, can stream metadata, and has better performance.

And that, my friends, is the last session report I have for you from MAX 2005. Just a couple of weeks late, but if I hadn’t waited, I couldn’t have posted the link to Brandon’s presentation notes which he just put up yesterday himself! I do have some other things to say, and I’ll get to them ASAP.

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: 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.