final demonstration of the agentcubes web api scott keller erin rowland stuart reed michael wally...
Post on 03-Jan-2016
219 Views
Preview:
TRANSCRIPT
1
WebDYNAMO
Final Demonstration of the AgentCubes Web API
Scott KellerErin RowlandStuart Reed
Michael WallyGeorge McCabe
dy· na· mo: (n.) A generator
Erin Rowland
2
What We Will CoverSenior Project BackgroundSponsorsThe ProblemThe SolutionConceptual DiagramRequirementsUser Interface ArchitectureSummaryDemonstration
W e b DY N A M O Erin Rowland
3
Senior Projects ClassComputer Science Capstone13 Teams … 61 studentsIndustry ProjectsEntertainment ProjectsEducational Projects
◦Health Care Education using Second-Life University of Colorado Denver College of Nursing
◦Science on a Sphere Craft Technologies Group
Erin RowlandW e b DY N A M O
4
AgentSheets, Inc.
Dr. Alexander Repenning
• CTO of AgentSheets, Inc.
• Professor of Computer Science at CU Boulder
• Balance Educational and Motivational
concerns
Exposing Computer Science to Middle School Students
W e b DY N A M O Erin Rowland
5
AgentCubes◦Generate simulations◦Create games◦Conceptual Aid for teaching
AgentSheets, Inc.
Erin Rowland
6W e b DY N A M O
Scott Lininger:
• Designer, Programmer, and Writer
• Representative from Google
• SketchUp and O3D
and O3D
Erin Rowland
7
Topics DiscussedSenior Project BackgroundSponsors:
◦ AgentSheets◦ Google
ProblemSolutionConceptual DiagramRequirementsUser Interface ArchitectureSummaryDemonstration
W e b DY N A M O George McCabe
8
Problem:Expand AgentCubes User
Base
Portability (Multi-Platform)UsabilityAccessibility
W e b DY N A M OGeorge McCabe
9
Problem: (cont’d)AgentSheets (2D) Requires User to
Download and Install the Software
AgentCubes (3D) Not Publicly Available◦Current Version in Development (Mac OS X)
W e b DY N A M O George McCabe
10
Solution:Render 3D in a Web Browser
JavaScript Implements Scene and Agents
Handle API Calls from a Compiled Simulations
Render Simulations Based on AgentCubes
Graphics Rendered by O3D
W e b DY N A M O George McCabe
O3D • Open-Source JavaScript API
• Cross-platform
• Generates Interactive 3D Graphics Applications
• Runs in a Browser Window
• beachdemo.html
and O3D
Erin Rowland 11George McCabe
12
Solution: (cont’d)WebDynamo is an O3D Version of the
AgentCubes Worksheet◦Tools Allow Interaction With the Scene
Draw and Manipulate Object Instances Pan and Zoom Camera
W e b DY N A M O George McCabe
13
Solution: (cont’d)Other Components
• Web End-User Programming• GUI Allows Users to Create Agents and Define
Their Behavior• Creates XML files to Store Agents, Behaviors,
and the Scene
W e b DY N A M O George McCabe
WEUP
14
Solution: (cont’d)Other Components
“Dark Tunnel” Compiler• Navid Ahmadi• University of Lugano in
Switzerland• Generates JavaScript• Calls API Functions Defined by
WebDynamo
W e b DY N A M O George McCabe
15
Topics DiscussedSenior Project BackgroundSponsors:
◦ AgentSheets◦ Google
ProblemSolutionConceptual DiagramRequirementsUser InterfaceArchitectureSummaryDemonstration
W e b DY N A M O Michael Wally
16
WebDynamo Conceptual Diagram
W e b DY N A M O Michael Wally
U s e r I n p u t
D e f i n e A g e n t sWEUP GUI
S i m u l a t i o nP r o p e r t i e s
Compiler
M a n i p u l a t eA g e n t s
B r o w s e r - b a s e dS i m u l a t i o n
WebDynamo
GUI
API
O3D
17
User Interaction
W e b DY N A M O Michael Wally
U s e r I n p u t
D e f i n e A g e n t s
M a n i p u l a t eA g e n t s
WebDynamo GUIWEUP GUI
18
WEUP GUI
Navid AhmadiAllows user to define agents
◦Actions/Conditions provided by WebDynamo
Provides compiler with agent behavior
W e b DY N A M O Michael Wally
WEUP GUI
S i m u l a t i o nP r o p e r t i e s
19
Compiler
Navid AhmadiCompiles simulation implementation
◦Based on simulation propertiesCreates specific agents
◦Based on user input to WEUP
W e b DY N A M O Michael Wally
Compiler
B r o w s e r - b a s e dS i m u l a t i o n
20
Compiler – Agent Implementation
subclass.extend(frogAgent, agent);frogAgent.prototype.tasks = function(i){
if(‘Conditions’) {‘Actions’}if(‘Conditions’) {‘Actions’}…
}
W e b DY N A M O Michael Wally
Compiler
B r o w s e r - b a s e dS i m u l a t i o n
21
WebDynamo GUI
W e b DY N A M O Michael Wally
M a n i p u l a t eA g e n t s
WebDynamo
GUIAPI
O3D
Agent manipulationSimulation controlsCamera controls
22
WebDynamo API
Agent Class◦Provides actions/conditions for agents
Resource Manager◦Manages agents and animators◦Tells agents to perform tasks()
Animators
W e b DY N A M O Michael Wally
B r o w s e r - b a s e dS i m u l a t i o n
WebDynamo
GUI
API
O3D
23
Simulation
Implemented by compilerDriven by WebDynamoWebDyanmo GUI provides
interactionGood times had by all!
W e b DY N A M O Michael Wally
B r o w s e r - b a s e dS i m u l a t i o n
24
Topics DiscussedSenior Project BackgroundSponsors:
◦ AgentSheets◦ Google
ProblemSolutionConceptual DiagramRequirementsUser Interface ArchitectureSummaryDemonstration
W e b DY N A M O Stuart Reed
25
Environmental Requirements
Any O3D Supported ConfigurationSoftware / Development
Environment◦ Supported Browsers:
Firefox 3◦ Supported Operating Systems:
Windows XP, Mac OS X, Linux◦ Implement API in JavaScript and O3D
W e b DY N A M O Stuart Reed
26
Environmental Requirements
Hardware Environment◦ Windows:
x86 CPU, DX9-compatible GPU with VS 2.0 and PS 2.0 support
◦ Mac: Any Intel Mac (Unsupported GPUs Will Use
SW rederer)
W e b DY N A M O Stuart Reed
27
Functional RequirementsJavaScript Objects
◦Agent Attributes and TasksAPI Functions
◦Compiler Condition and Action Events Implement Simulation
O3D Scene RenderingWorksheet GUI
◦Run, Stop and Step the Simulation◦Manipulate Camera◦Manipulate Agents
Draw, Delete, MoveW e b DY N A M O Stuart Reed
29
AgentCubes Worksheet Toolso JavaScript Handlers for
Keyboard and Mouse Inputo Calls Method for Active Tool
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
32
Topics DiscussedSenior Project BackgroundSponsors:
◦ AgentSheets◦ Google
ProblemSolutionConceptual DiagramRequirementsUser Interface ArchitectureSummaryDemonstration
W e b DY N A M O Scott Keller
Architecture - Hierarchy
W e b DY N A M O
WORLD
M AT R I XR E S O U R C EM A N A G E R
C A M E R A A N I M A T O R
S I M U L A T I O NP R O P E R T I E S
A G E N T
A G E N T…
S H A P E
A C T I O N S
C O N D I T I O N S
33Scott Keller
34
Architecture – MVC Overview
W e b DY N A M O
Controller
ViewModel
Push Animations
Push Animations
Scott Keller
Run Tasks()Run Tasks()
AnimateAnimate
Display AgentDisplay Agent
Calls JS API FunctionsCalls JS API Functions
Simulation Implementation
Simulation Implementation
Implement Tasks()
Implement Tasks()
Add AgentsAdd Agents
35
Architecture - ResourceManager
W e b DY N A M O
Add◦Initializes starting agents◦Adds agents to array
Scott Keller
Controller
Push Animations
Push Animations
Run Tasks()Run Tasks() AnimateAnimate
Calls JS API FunctionsCalls JS API Functions
Simulation Implementation
Simulation Implementation Add AgentsAdd Agents
36
Architecture - ResourceManager
W e b DY N A M O
Tasks◦Generates list of agents◦Calls tasks( ) on each agent in random
order◦Tasks( ) implements agents behavior
Scott Keller
Controller
Push Animations
Push Animations
Run Tasks()Run Tasks() AnimateAnimate
Calls JS API FunctionsCalls JS API Functions
Simulation Implementation
Simulation Implementation Add AgentsAdd Agents
37
Architecture - ResourceManager
W e b DY N A M O
Animate◦ResourceManager stores list of animators◦Render callback calls gameloop which runs
through active animators◦Determines time between rendered frames
to calculate transformationsScott Keller
Controller
Push Animations
Push Animations
Run Tasks()Run Tasks() AnimateAnimate
Calls JS API FunctionsCalls JS API Functions
Simulation Implementation
Simulation Implementation Add AgentsAdd Agents
38
Architecture - Agent
W e b DY N A M O
Specific agents implement tasks( )Runs its tasks( ) and pushes
animatorsMaintains agent information
Scott Keller
Model
Push Animations
Push Animations
Run Tasks()Run Tasks()
Display AgentDisplay Agent
Calls JS API FunctionsCalls JS API Functions
Simulation Implementation
Simulation Implementation
Implement Tasks()
Implement Tasks()
39
Architecture - View
W e b DY N A M O
Animator◦Uses O3D to display 3D graphics in
browser◦Animates agent movements and
rotations◦Displays agents
Scott Keller
View
AnimateAnimate
Display AgentDisplay Agent
41
SummarySenior Project BackgroundSponsors:
◦AgentSheets◦Google
ProblemSolutionConceptual DiagramRequirementsUser Interface and ArchitectureDemonstrationQuestions?
W e b DY N A M O Erin Rowland
42
AgentSheets, Inc.
Dr. Alexander Repenning
W e b DY N A M O Everyone
THANK YOU!
&
S c o t t L i n i n g e r
top related