September 08, 2003

Down the Rabbit Hole

20030908.gif

Flash is really maturing into a medium that can potentially rival film for creating absorptive fantasy narratives that are -- true to the hoopla of computer technology -- "interactive," picking up on a lot of the pleasures of useless obsession (is there any other kind?) some of youze would feel figuring out the next stages in Mario Brothers or Myst, etc.

Anyway, follow this link for something quite exceptional, but be prepared -- high bandwidth only (and sound certainly helps). One of the few web pieces that didn't make me feel like I was utterly wasting my time (even very good web pieces make me feel that way). The art is impeccable also -- reminds me a bit of the new Radiohead video (and the dude in the second section looks like Thom Yorke).

You have to play along, click around and be patient. What does it mean? What did Melies mean by Voyage to the Moon? What do the Brothers Quay or Joseph Cornell mean?

http://www.freshsensation.com/samorost.swf

Here's how Curt Cloninger of Rhizome described it in the Net Art email:

Known simply as 'samorost.swf', this interactive Flash game by Czechoslovakia's Amanita Design combines Myst/Riven-like puzzles with a whimsical animation style reminiscent of crankbunny.com (or Roger Dean's early 'Yes' album covers). The puzzles are challenging but surrealistically intuitive, and the combination of gorgeously textured organic settings and playfully animated vector characters is plenty of motivation to advance to the next level. Samorost is a rare combination of entertainment, art, absurdism, and humor. And, as an added bonus, you get to save a planet from utter destruction.

On a related note, there was a great article in the New York Times recently about the too-be-release collaboration between Walt Disney and Salvadore Dali called "Destino." Click the image for a larger version:

cane.184.jpg

Read the story while it's still there -- probably disappear into the archives soon: The Lost Cartoon by Disney and Dalí, Fellow Surrealists

Posted by Brian Stefans at September 8, 2003 11:52 AM | TrackBack
Comments

Earlier I mentioned that variables can live in two different places. We're going to examine these two places one at a time, and we're going to start on the more familiar ground, which is called the Stack. Understanding the stack helps us understand the way programs run, and also helps us understand scope a little better.

Posted by: Rosanna at January 18, 2004 07:05 PM

Note the new asterisks whenever we reference favoriteNumber, except for that new line right before the return.

Posted by: Simon at January 18, 2004 07:06 PM

For this program, it was a bit of overkill. It's a lot of overkill, actually. There's usually no need to store integers in the Heap, unless you're making a whole lot of them. But even in this simpler form, it gives us a little bit more flexibility than we had before, in that we can create and destroy variables as we need, without having to worry about the Stack. It also demonstrates a new variable type, the pointer, which you will use extensively throughout your programming. And it is a pattern that is ubiquitous in Cocoa, so it is a pattern you will need to understand, even though Cocoa makes it much more transparent than it is here.

Posted by: Kenelm at January 18, 2004 07:06 PM

This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.

Posted by: Dionise at January 18, 2004 07:06 PM

This variable is then used in various lines of code, holding values given it by variable assignments along the way. In the course of its life, a variable can hold any number of variables and be used in any number of different ways. This flexibility is built on the precept we just learned: a variable is really just a block of bits, and those bits can hold whatever data the program needs to remember. They can hold enough data to remember an integer from as low as -2,147,483,647 up to 2,147,483,647 (one less than plus or minus 2^31). They can remember one character of writing. They can keep a decimal number with a huge amount of precision and a giant range. They can hold a time accurate to the second in a range of centuries. A few bits is not to be scoffed at.

Posted by: Lawrence at January 18, 2004 07:07 PM