Stagecast Creator

From Wikipedia, the free encyclopedia

Stagecast Creator is a visual programming language intended for use in teaching programming to kids. It is based on the "follow my example" programming concept in which logic is illustrated as a series of animations and triggered by certain visual layouts on a global playfield (or "world"). It can be used to construct simple simulations, animations and games, which run under Java on any suitable platform.

Contents

[edit] History

What is today known as Creator originally started as a project by Allen Cypher and David Canfield Smith in Apple's Advanced Technology Group (ATG) known as KidSim. As the name implies, it was intended to allow kids to construct their own simulations, reducing the programming task to something that anyone could handle. Programming in Creator is based on agent-based graphical rewrite rules originally introduced in 1991 by the AgentSheets system.

In 1994, Kurt Schmucker became the project manager, and under him, the project was renamed Cocoa, and expanded to include a Netscape plug-in. It was also repositioned as "Internet Authoring for Kids.", the Internet being all the rage at the time. The project was officially announced on May 13, 1996. There were three releases:

In 1997, Steve Jobs started his takeover of Apple and began dismantling a number of non-productive departments. One of these was the ATG, apparently a surprise to no one working there. Several ATG employees, including Larry Tesler, Cypher, and Smith, left to form Stagecast Software after retaining the rights to the Cocoa system.

Apple went on to reuse the Cocoa name for the entirely unrelated Cocoa application framework, originally OpenStep. The naming was something of a surprise in the development community, but was apparently due to time constraints—it was easier to reuse an already-registered name than to register a new term. Unfortunately, this makes it somewhat difficult to find information about the original Cocoa effort.

[edit] Description

Creator is based on the idea of independent characters who represent objects containing logic. The logic is entirely graphical in nature, consisting of a series of recorded events for the actor to follow when certain conditions are met. These conditions are themselves graphical, consisting of a "if you see..." and an icon representing another object on the global playfield in a particular position.

For example, let's consider a simple simulation showing a character walking across a field, jumping over any rocks it encounters. Such a simulation would start with the construction of the playfield, in this case a line of icons representing the grass and a few rocks. A character is then placed on the playfield and double-clicked to open a rule editor. The rule editor will start by displaying the current conditions, that is, the character is standing on the grass. Below is an area to place the various "after" conditions, in this case the user drags open the default grid to two spaces, drags the character into the new grid cell, say to the right, and closes the rule editor.

If the simulation is started at this point, the character will start walking across the playfield to the right until it reaches the first rock. Since there is no rule showing what should happen when a rock is to the character's right, the character simply stops. At this point the rule editor is opened again, but now it shows the new condition that applies, the character is to the left of a rock. The actions in this case would be two steps, the first showing the character moving up and to the right, the next down and to the right. When the simulation is re-run, the character will walk to the right, and then "jump" over the rocks. In this case the character will now stop moving when it reaches the side of the screen, and a new rule could be added at that point to "wrap around" to the left side again.

Additional rules can be added "on the fly" to flesh out the simulation. In this example additional rules would likely be added to allow the conditions to apply no matter which direction the character is walking, duplicating the existing set of two rules for movement to the left, and up and down. To make the simulation interactive, the "automatic movement" rules can be removed, and replaced by ones that move only when the cursor keys are held down, and jump only if the user presses space. Now the simulation becomes a simple game.

Many new features were added to the system during its evolution from KidSim/Cocoa to Creator. These include the introduction of 'jars' as a means of object classification, a new z-variable that allows Creator to simulate a 3-D space (as a stack of 2-D sheets), the ability to control more than one character at a time, and the option to redraw the screen only after all moves in a turn have been made.

However, in order to ensure Creator's cross-platform compatibility, the decision was made to port to the entire system to the Java programming language. As Cocoa, the system was a Mac-only product and included an 'Autoplayer' functionality that allowed Cocoa simulation to be run as stand-alone program on any Mac. With the port to Java, Creator simulations instead require the user to install a fairly large class library known as Stagecast Player, diluting the ease-of-use somewhat.

[edit] See also

[edit] External links