Special Course on Networked Virtual January 29, 2004 Environments BrickNet (cont’d) BrickNet (cont’d) Other Academic Projects Other Academic Projects � Object Object- -request brokers on request brokers on � MASSIVE MASSIVE � � the servers the servers � different interaction media: graphics, audio and text different interaction media: graphics, audio and text � � Aimed for collaborative Aimed for collaborative � awareness awareness- -based filtering: each entity expresses a focus and nimbus for ea based filtering: each entity expresses a focus and nimbus for each ch � � S1 S1 medium medium design environments design environments � Distributed Worlds Transfer and Communication Protocol (DWTP) Distributed Worlds Transfer and Communication Protocol (DWTP) � � each node is responsible for each node is responsible for � � each object can specify whether a particular event requires a re each object can specify whether a particular event requires a reliable liable its part of design and for � its part of design and for distribution and what is the event’s maximum update frequency distribution and what is the event’s maximum update frequency sharing that information sharing that information Server Server � Real Real- -Time Transport Protocol (RTP/I) Time Transport Protocol (RTP/I) � Also, networked games, Also, networked games, � � Communication Communication groupware systems, systems, � ensures that all application instances look as if all operations ensures that all application instances look as if all operations have been have been groupware � S2 S2 S3 S3 executed in the same order executed in the same order concurrent engineering concurrent engineering � Synchronous Collaboration Transport Protocol (SCTP) Synchronous Collaboration Transport Protocol (SCTP) systems, and other systems, and other � � collaboration on closely coupled, highly synchronized tasks collaboration on closely coupled, highly synchronized tasks asynchronous, network- - asynchronous, network � � the interaction stream has critical messages (especially the las the interaction stream has critical messages (especially the last one) which are t one) which are based graphics environments based graphics environments � sent reliably, while the rest are sent by best effort transport sent reliably, while the rest are sent by best effort transport Networked Demos and Games Networked Games: Games: Doom Doom Networked Demos and Games Networked � SGI SGI Flight Flight � � id Software, 1993 id Software, 1993 � � 3D aeroplane simulator demo 3D aeroplane simulator demo for Silicon for Silicon Graphics workstation, Graphics workstation, 1983 1983– – � � First First- -person person shooter shooter (FPS) (FPS) 84 84 � � serial serial cable between two workstations cable between two workstations for PCs for PCs � � Ethernet network Ethernet network � � Part of the game was Part of the game was � users could see each other’s planes, but no users could see each other’s planes, but no interaction interaction � � � SGI SGI Dogfight released as shareware in released as shareware in � Dogfight � modification of modification of Flight Flight , 1985 , 1985 � 1993 1993 � interaction by shooting interaction by shooting � � extremely popular extremely popular � � packets were transmitted at frame packets were transmitted at frame rate → clogged rate → clogged the network the network � � created a gamut of variants created a gamut of variants � limited up limited up to ten players to ten players � � � Flooded LANs with packets Flooded LANs with packets � at frame rate at frame rate Networked Games: ‘First Generation’ Networked Games: ‘Second Generation’ Networked Games: ‘First Generation’ Networked Games: ‘Second Generation’ � Peer Peer- -to to- -peer architectures peer architectures � Client Client- -server architectures server architectures � � � each participating computer is an equal to every other each participating computer is an equal to every other � one computer (a server) keeps the game state and makes decisions one computer (a server) keeps the game state and makes decisions on on � � updates updates � inputs and outputs are synchronized inputs and outputs are synchronized � � clients convey players’ input and display the appropriate output clients convey players’ input and display the appropriate output but do but do � � each computer executes the same code on the same set of data each computer executes the same code on the same set of data � not inlude (much) game logic not inlude (much) game logic � Advantages: Advantages: � � Advantages: Advantages: � � determinism ensures that each player has the same virtual enviro determinism ensures that each player has the same virtual environment nment � � generates less network traffic generates less network traffic � � relatively simple to implement relatively simple to implement � � supports more players supports more players � � Problems: Problems: � � allows persistent virtual worlds allows persistent virtual worlds � � persistency: players cannot join and leave the game at will persistency: players cannot join and leave the game at will � � Problems: Problems: � � scalability: network traffic explodes with more players scalability: network traffic explodes with more players � � responsiveness: what if the connection to the server is slow or responsiveness: what if the connection to the server is slow or the the � � reliability: coping with communication failures reliability: coping with communication failures � server gets overburdened? server gets overburdened? � security: too easy to cheat security: too easy to cheat � � security: server authority abuse, client authority abuse security: server authority abuse, client authority abuse � Jouni Smed 1
Recommend
More recommend