News on Twitter

New Media and Communication

Follow this link to find an interface to the lecture notes from Wednesday. Notes like this can be found under the Notes category.

(If you’re confused about the interface, play around a little bit.)

Memex Video

The following video is a simulation of Bush’s memex built by Dynamic Diagrams in 1995:

Spring 2010 Beginning

Spring 2010 course information for the new semester is going up, including updates to the Student Portfolio page, syllabus and calendar, and a new Assessments page. We have all kinds of links to assist students with their ePortfolios, also, including a model to follow.

Free Web Hosting for the Experiments

Zymic offers free web hosting. Something to look into.

IF Project [Fall 09] – Part 2

Today we will finish our work with Nine Points and then spend some time with The Legend of Grammy’s Apples. This will establish our foundation for playing works of IF and then begin discussing how we will be creating a work of IF.

Then we will discuss the basics: creating the world of the story (rooms, pathways, and descriptions) and then basic objects (things and their respective descriptions.)

The assignment for everyone will be to create a map of their world that includes rooms (or spaces), how they interconnect, and any things that will occupy those rooms. Then, create concise descriptions of all these object as well as a prologue that sets up the story (and later, the goals.) The result being a world that tells a story to the player just by moving through the world and examining everything.

On Wednesday (10/28) everyone will begin building their works of IF. So come prepared to work.

IF Project [Fall 09] – Getting Started

We will be starting the interactive fiction project on Wednesday (10/21) and there are several things you will need in order to get ready:

  1. Read “Getting Started With Interactive Fiction“;
  2. Bookmark this page: Interactive Fiction Shorts;
  3. Play “Nine Points” at the above web page (and feel free to play any of the others linked there);
  4. Download and install Inform 7 (it’s free) on your own computer.

September 28

Today we discussed Roland Barthes and his concepts of readerly and writerly and how the concept of a writerly text have important connections with our study and discussion of new media.

Then we covered our definition of narrative which will play an important role for the rest of the semester.

We then used the online (hypertext) novel 253 – An Interactive Novel as source to illustrate these concepts and ideas. Working our way through this text everyone was asked to plot the narrative. Plotting the narrative is a way to sequence our path and to note the different causes and effects of this path. For an example of how one of these might look, visit my own plot of 253 from February 2009. This will serve as a model for any analysis of a work of new media (hypertext, game, web site, etc.)

The are two more readings assigned (check the course calendar) and an assignment (located at http://tunxis.digication.com) due for next class.

September 9

Steve E gave an introduction to the online portfolio system (called Digication) today.

You can login to your account by following this link and clicking on the Login link:

http://tunxis.digication.com/

Use the same login and password you use when you check your grades.

The assignment for next Monday (9/14) is to create and edit your Welcome page.

New Web Name: Giant Global Graph?

Here’s Calais’ new media venture

We want to make all the world’s content more accessible, interoperable and valuable. Some call it Web 2.0, Web 3.0, the Semantic Web or the Giant Global Graph – we call our piece of it Calais.

Calais is a rapidly growing toolkit of capabilities that allow you to readily incorporate state-of-the-art semantic functionality within your blog, content management system, website or application.

But what does it all mean? Partly, it’s the fundamentals in motion: math, variability, and different forms of filtering.

September 2, 2009

Covered the two basic models of communication this morning: linear and transactional models of communication.

We also went over the 5 basic principles of new media:

  1. Numerical representation
  2. Modularity
  3. Automation
  4. Variability
  5. Transcoding

Used audio software to help illustrate these five concepts (a first).

There was one excellent question asked about “changing” elements within a new media text: “doesn’t changing one element really change everything?” Great thinking and something that we will revisit and discuss on Wednesday.

See you all then and have a safe long weekend.

Welcome – Fall 2009

Welcome to everyone in New Media Perspectives.

Please note that the calendar had been updated. We forgot about Labor Day! So we will not have class on Monday, September 7.

Animating Sprite Scale Properties

John Moran stumped me last night with a seemingly simply idea. To scale a circle on a button press. Basically, this is a 4 part process: 1) make the objects and add them to the stage 2) create two events: a click event and an enterframe event 3) target the to-be-scaled object 4) set some conditions for the animation to end, as we don’t want the scaled object to keep scaling and thus blow up visitors’ computers.

Part three was the stumper in the lab flurry, with lots of students needing aid. Well, I don’t like to leave things hanging so after a sandwich last night I did some testing and came up with the following:

//First let’s lay down some variables to be used
//a scale speed. It can be as fast as required.

var speed:Number = .4;

//the button (which is a button symbol in the library
//with linkage class Ball, titled ball)

var ball:Ball = new Ball();

//position the button
ball.x = ball.y = 20;

//add the ball (could use keyword this.addChild)
addChild(ball);

//I like an init() function to start, which adds click function to the button
function init() {
ball.addEventListener(MouseEvent.CLICK, addOrb);
}

//now write the addOrb function
function addOrb(event:MouseEvent):void {

//add the orb, a circle movieclip in the library with name orb, with
//linkage Class Orb
var orb:Sprite = new Orb();
addChild(orb);

//give some position
orb.x = 350;
orb.y = 300;

//declare some scale
orb.scaleX = 1;
orb.scaleY = 1;

//now the fun part: add enterframe keys and a new function growOrb
//which is the part we were missing yesterday. John, this is for
//classic “casting”
orb.addEventListener(Event.ENTER_FRAME, growOrb);
}

//okay, now’s the trick. We’re going to target the above orb by casting it
//with a new object to scale, which could be a sprite or a movieclip
//I’ve given growOrb a required argument orb:Event. Most coders will use
//growOrb(event:Event) or (evt:Event) or (e:Event), but I’ve chosen an arbitrary
//word “orb” just to illustrate how the code is targeting the orb sprite
function growOrb(orb:Event):void {

//create a sprite to scale and target orb
var grower:Sprite = Sprite(orb.target);

//supply a check variable
var roof:Number = 10;

//use += to increment the scale
grower.scaleX += speed;
grower.scaleY += speed;

//now apply a check, because we don’t want scale to persist. That
//would be a killer. It’s a simple if statement
if(grower.scaleX > roof) {

//when the condition is met remove the listener
//and the button if desired for clean up. Note that design wise
//this is a one time event
grower.removeEventListener(Event.ENTER_FRAME, growOrb);
removeChild(ball);
}
}

//don’t forget to call init() to get things going
init();

Here’s what it looks like. Click on the orange ball button:

IFs for Spring Are Online

Works of IF from the 2009 New Media Perspectives and Digital Narratives classes are available to play online.

Check them out here.

Flash Items on YouTube

A few You Tube video tutorials on instance names and frame labels by James Kyle and an additional bit on Actionscript 3 basics:

Instance Names
Frame Labels
OnEnterFlash on AS3 basics

AS3 Code for Frame Management

As asked for here’s the code for managing frame animations:

stop(); //stops the movie on the first frame
box1.addEventListener(MouseEvent.CLICK, goToPage1);
function goToPage1(event:MouseEvent):void {
gotoAndStop(“page1″);
}

In addition, you might try adding a circle movieclip to the stage in the first frame of the main timeline. Give the circle an instance name of circle.

Then supply some code in an actions layer on the first frame:

circle.x = 10;
circle.y = 20;

var speed:Number = 10;
var rightWall:Number = 400;

addEventListener(Event.ENTER_FRAME, goCircle);

function goCircle(event:Event):void {
circle.x += speed;
if(circle.x > rightWall) {
circle.x = rightWall;
speed = 0;
removeEventListener(Event.ENTER_FRAME, goCircle);
}
}

The above examples illustrate a mouse event and a frame event.