AgentCubes vs. AgentSheets

From Scalable Game Design wiki
Jump to navigation Jump to search

Differences Between AgentCubes and AgentSheets (programming construct comparisons)


The following is a summary comparison of programming features of AgentSheets 4.0, AgentCubes Desktop 2.5 and AgentCubes Online 1.0.

User Interface

AgentSheets AgentCubes Desktop AgentCubes Online
Worksheets Worlds Worlds
Tools > Simulation Properties Window > Simulation Properties Action Menu Setting icon.png Simulation Properties
Tools > Agent attributes

select agent in the worksheet

Window > Agent Attributes

First, select an agent in the world with the arrow tool, then select “Show Agent Attributes” in the Window menu. Alternate access: double-click on agent in the world.

Action Menu Setting icon.png Agent Attributes

Then select agent in the world. Alternate access: double-click on agent in the world.

Conditions

AgentSheets AgentCubes Desktop AgentCubes Online
Gone
Hear, WWW-Read,

on-top-of, direction, yes-or-no-dialog

Renamed
Is Test Test
New
is-selected

True if agent is selected by user

is-selected

True if agent is selected by user

current-world <name>

True if agent runs in world <name>

current-world

True if agent runs in world <name>

first-person-view

True if agent is in first person camera mode

first-person-view

True if agent is in first person camera mode

Actions

AgentSheets AgentCubes Desktop AgentCubes Online
Gone
set-direction
plot-attribute (see “plot-agents-attribute” below) (see “plot-agents-attribute” below)
load-background Note: can load background and set background color statically via World menu Note: can set background color statically via the World menu
clear-simulation
Renamed
make message message
Sound (speaker-icon) play-sound play-sound
switch-to-worksheet switch-to-world switch-to-world
reset-simluation reload-world, stop-simulation reload-world, stop-simulation
say (lips icon)

Text to speech. Note: This function applies only to Macintosh.On Windows platform a message is displayed in the status line below the worksheet.

say

Text to speech. Note: This function applies only to Macintosh.On Windows platform a message is displayed in the status line below the world window.

say

Text to speech is not implemented in browsers. Instead, the text is displayed in the status line below the world window.

New
rotate-by

Rotate agent relative

rotate-by

Rotate agent relative

rotate-to

Rotate agent absolute

rotate-to

Rotate agent absolute

first-person-view

True if agent is in first person camera mode

first-person-view

True if agent is in first person camera mode

plot-agents-attribute

Plot 3D surface plot in world

plot-agents-attribute

Plot 3D surface plot in world

play-midi

Play midi sound

print

Print string and values of attributes and simulation properties

print

Print string and values of attributes and simulation properties

Set-rgba-color

Set color to red, green, blue, alpha values

Set-rgba-color

Set color to red, green, blue, alpha values

finish-animations

Finish all queued up animations from rotate and move.

finish-animations

Finish all queued up animations from rotate and move.

switch-to-first-person-camera

Attach camera to specific agent: move and rotate with agent.

switch-to-first-person-camera

Attach camera to specific agent: move and rotate with agent.

switch-to-birds-eye-camera

Use bird’s eye camera fixed in space.

switch-to-birds-eye-camera

Use bird’s eye camera fixed in space.

delayed-message delayed-message
message-in-stack

Send message in agent stack (within a cell) up and/or down

message-in-stack

Send message in agent stack (within a cell) up and/or down

Visual AgentTalk Formulas

agents_with_depiction(depiction_name) agents_with_shape("shape_name")
agents_of_type(agent_name) agents_of_type("agent_class_name")

NOTE: This has implications for implementing the polling CTP. An older traditional approach involves the implementation involves a central agent (e.g., a monitor or controller agent) setting a simulation property to 0, broadcasting a message to all agents of a given class, that update the simulation property, then via a separate method in the monitor agent, determining the status of the simulation property to assess how many polled agents are still active. The use of the agent query functions essentially accomplishes all of this without the use of a separate polling agent, nor a simulation property. However, for polling to determine agent relationships, such as boxes stacked above palettes, the traditional implementation is still required.

Triggers

AgentSheets AgentCubes
While Running same
When Creating New Agent same
On (User defined) same


Hand tool: AgentCubes Desktop and AgentCubes Online support the use of the hand tool with and without a modifier (e.g., shift key). This replaces the AgentSheets hand, mouse, and hammer tools. The AgentSheets “?” tool has no equivalent in either AgentCubes application. Also, AgentCubes applications do not permit re-defining editing tools, such as the pencil and eraser tools.

Editing Behaviors

  • AgentSheets: updating agent behavior does not become effective until the user taps 'OK' or 'apply', at which point simulation is stopped and the behavior is modified both in memory and on the hard drive.
  • AgentCubes Desktop / AgentCubes online: Live Programming. No need for Apply/OK. Behavior is changed and saved instantly. To experiment with code, in some cases, it is preferable to stop the simulation.

Importing

Importing agent depictions directly is not supported in AgentCubes Desktop or AgentCubes Online. However, it is possible to import shapes from other projects in AgentCubes Desktop. Subsequently, those shapes can be uploaded to AgentCubes Online when an entire AgentCubes Desktop project is uploaded to AgentCubes Online. It is possible to import a texture onto a non-inflatable AgentCubes Desktop icon (e.g,, sphere or cube). However, certain image size restrictions apply: dimensions must be powers of 2.

Importing of entire agents (AgentSheets feature) is not supported in either AgentCubes application.