Download presentation
Presentation is loading. Please wait.
Published byFelicia Atkinson Modified over 9 years ago
1
Final Demonstration of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland
2
What We Will Cover Senior Project Background Sponsors The Problem The Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 2Erin Rowland
3
Senior Projects Class Computer Science Capstone 13 Teams … 61 students Industry Projects Entertainment Projects Educational Projects ◦ Health Care Education using Second-Life University of Colorado Denver College of Nursing ◦ Science on a Sphere Craft Technologies Group Erin Rowland3
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 4 Erin Rowland
5
AgentCubes ◦ Generate simulations ◦ Create games ◦ Conceptual Aid for teaching AgentSheets, Inc. 5Erin Rowland
6
Scott Lininger: Designer, Programmer, and Writer Representative from Google SketchUp and O3D and O3D 6Erin Rowland
7
Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 7 George McCabe
8
Problem: Expand AgentCubes User Base Portability (Multi-Platform) Usability Accessibility 8George 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) 9George 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 10George McCabe
11
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 12George 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 13George McCabe
14
Solution: (cont’d) Other Components “Dark Tunnel” Compiler Navid Ahmadi University of Lugano in Switzerland Generates JavaScript Calls API Functions Defined by WebDynamo 14George McCabe
15
Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 15Michael Wally
16
WebDynamo Conceptual Diagram 16Michael Wally WEUP GUI Compiler WebDynamo GUI APIAPI O3D
17
User Interaction 17Michael Wally WebDynamo GUI WEUP GUI
18
Navid Ahmadi Allows user to define agents ◦ Actions/Conditions provided by WebDynamo Provides compiler with agent behavior 18Michael Wally WEUP GUI
19
Compiler Navid Ahmadi Compiles simulation implementation ◦ Based on simulation properties Creates specific agents ◦ Based on user input to WEUP 19Michael Wally Compiler
20
Compiler – Agent Implementation subclass.extend(frogAgent, agent); frogAgent.prototype.tasks = function(i) { if(‘Conditions’) {‘Actions’} if(‘Conditions’) {‘Actions’}… } 20Michael Wally Compiler
21
WebDynamo GUI 21Michael Wally WebDynamo GUI APIAPI O3D Agent manipulation Simulation controls Camera controls
22
WebDynamo API Agent Class ◦ Provides actions/conditions for agents Resource Manager ◦ Manages agents and animators ◦ Tells agents to perform tasks() Animators 22Michael Wally WebDynamo GUI APIAPI O3D
23
Simulation Implemented by compiler Driven by WebDynamo WebDyanmo GUI provides interaction Good times had by all! 23Michael Wally
24
Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 24Stuart Reed
25
Environmental Requirements Any O3D Supported Configuration Software / Development Environment ◦ Supported Browsers: Firefox 3 ◦ Supported Operating Systems: Windows XP, Mac OS X, Linux ◦ Implement API in JavaScript and O3D 25Stuart 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) 26Stuart Reed
27
Functional Requirements JavaScript Objects ◦ Agent Attributes and Tasks API Functions ◦ Compiler Condition and Action Events Implement Simulation O3D Scene Rendering Worksheet GUI ◦ Run, Stop and Step the Simulation ◦ Manipulate Camera ◦ Manipulate Agents Draw, Delete, Move 27Stuart Reed
28
WebDynamo GUI O3D Worksheet 28Stuart Reed
29
AgentCubes Worksheet Tools o JavaScript Handlers for Keyboard and Mouse Input o Calls Method for Active Tool WebDynamo GUI Toolbar 29Stuart Reed
30
WebDynamo GUI Toolbar 30Stuart Reed Simulation Runtime Controls Agent Controls
31
WebDynamo GUI Toolbar 31Stuart Reed Worksheet Controls Camera Controls
32
Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 32Scott Keller
33
Architecture - Hierarchy 33Scott Keller
34
Architecture – MVC Overview Controller View Model Push Animations 34Scott Keller Run Tasks() Animate Display Agent Calls JS API Functions Simulation Implementation Implement Tasks() Add Agents
35
Architecture - ResourceManager Add ◦ Initializes starting agents ◦ Adds agents to array 35Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents
36
Architecture - ResourceManager Tasks ◦ Generates list of agents ◦ Calls tasks( ) on each agent in random order ◦ Tasks( ) implements agents behavior 36Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents
37
Architecture - ResourceManager Animate ◦ ResourceManager stores list of animators ◦ Render callback calls gameloop which runs through active animators ◦ Determines time between rendered frames to calculate transformations 37Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents
38
Architecture - Agent Specific agents implement tasks( ) Runs its tasks( ) and pushes animators Maintains agent information 38Scott Keller Model Push Animations Run Tasks() Display Agent Calls JS API Functions Simulation Implementation Implement Tasks()
39
Architecture - View Animator ◦ Uses O3D to display 3D graphics in browser ◦ Animates agent movements and rotations ◦ Displays agents 39Scott Keller View Animate Display Agent
40
Demo! 40Stuart Reed
41
Summary Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Demonstration Questions? 41Erin Rowland
42
AgentSheets, Inc. Dr. Alexander Repenning 42 Everyone
43
Questions? 43Stuart Reed
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.