100% found this document useful (8 votes)
38 views

Distributed Virtual Worlds Foundations and Implementation Techniques Using VRML Java and CORBA Diehl Stephan All Chapter Instant Download

Foundations

Uploaded by

akwlngalia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (8 votes)
38 views

Distributed Virtual Worlds Foundations and Implementation Techniques Using VRML Java and CORBA Diehl Stephan All Chapter Instant Download

Foundations

Uploaded by

akwlngalia
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Download the full version of the textbook now at textbookfull.

com

Distributed Virtual Worlds Foundations and


Implementation Techniques Using VRML Java and
CORBA Diehl Stephan

https://textbookfull.com/product/distributed-
virtual-worlds-foundations-and-implementation-
techniques-using-vrml-java-and-corba-diehl-
stephan/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Machine Vision Algorithms in Java Techniques and


Implementation Whelan Paul F Molloy Derek

https://textbookfull.com/product/machine-vision-algorithms-in-java-
techniques-and-implementation-whelan-paul-f-molloy-derek/

textbookfull.com

Virtual Existentialism Meaning and Subjectivity in Virtual


Worlds Stefano Gualeni

https://textbookfull.com/product/virtual-existentialism-meaning-and-
subjectivity-in-virtual-worlds-stefano-gualeni/

textbookfull.com

Automation in the virtual testing of mechanical systems:


theories and implementation techniques First Edition
Haugen
https://textbookfull.com/product/automation-in-the-virtual-testing-of-
mechanical-systems-theories-and-implementation-techniques-first-
edition-haugen/
textbookfull.com

Heterogeneous Information Network Analysis and


Applications 1st Edition Chuan Shi

https://textbookfull.com/product/heterogeneous-information-network-
analysis-and-applications-1st-edition-chuan-shi/

textbookfull.com
Fuzzy Graph Theory 1st Edition Sunil Mathew

https://textbookfull.com/product/fuzzy-graph-theory-1st-edition-sunil-
mathew/

textbookfull.com

Platform Chemical Biorefinery. Future Green Industry 1st


Edition Satinder Kaur Brar

https://textbookfull.com/product/platform-chemical-biorefinery-future-
green-industry-1st-edition-satinder-kaur-brar/

textbookfull.com

Constructing Sexualities and Gendered Bodies in School


Spaces: Nordic Insights on Queer and Transgender Students
1st Edition Jón Ingvar Kjaran (Auth.)
https://textbookfull.com/product/constructing-sexualities-and-
gendered-bodies-in-school-spaces-nordic-insights-on-queer-and-
transgender-students-1st-edition-jon-ingvar-kjaran-auth/
textbookfull.com

Studying Animal Languages Without Translation An Insight


from Ants 1st Edition Zhanna Reznikova (Auth.)

https://textbookfull.com/product/studying-animal-languages-without-
translation-an-insight-from-ants-1st-edition-zhanna-reznikova-auth/

textbookfull.com

Engineering Asset Management Systems Professional


Practices and Certification Proceedings of the 8th World
Congress on Engineering Asset Management WCEAM 2013 the
3rd International Conference on Utility Management Safety
https://textbookfull.com/product/engineering-asset-management-systems-
ICUMAS 1st Edition Peter W. Tse
professional-practices-and-certification-proceedings-of-the-8th-world-
congress-on-engineering-asset-management-wceam-2013-the-3rd-
international-conference-on-utili/
textbookfull.com
Campbell Essential Biology 6th Edition Simon

https://textbookfull.com/product/campbell-essential-biology-6th-
edition-simon/

textbookfull.com
Distributed Virtual W orlds
Springer-Verlag Berlin Heidelberg GmbH
Stephan Diehl

Distributed
Virtual Worlds
Foundations and
Implementation Techniques
Using VRML, Java, and CORBA

With 58 Figures and 7 Tables

Springer
Dr. Stephan Diehl
Department of Computer Science
University of Saarland
66041 Saarbrücken
Germany
[email protected]

ACM Computing Classification (1998):


1.3.6-7, H.5.3, H.S.l, C.2.4, D.2

Library of Congress Cataloging-in-Publication Data applied for

Die Deutsche Bibliothek- CIP-Einheitsaufnahme


Diehl, Stephan: Distributed virtual worlds: foundations and implementation techniques
using VRML, Java, and CORBA I Stephan Diehl.
ISBN 978-3-642-08713-4 ISBN 978-3-662-04519-0 (eBook)
DOI 10.1007/978-3-662-04519-0

This work is subject to copyright. All rights are reserved, whether the whole or part of
the material is concerned, specifically the rights of translation, reprinting, reuse of il-
lustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and
storage in data banks. Duplication of this publication or parts thereof is permitted only
under the provisions oftheGerman copyright law of September 9, 1965, in its current
version, and permission for use must always be obtained from Springer-Verlag Berlin
Heidelberg GmbH. Violations are liable for prosecution under the German Copyright Law.

©Springer-Verlag Berlin Heidelberg 2001


Originally published by Springer-Verlag Berlin Heidelberg New York in 2001
Softcoverreprint of the bardeover Ist edition 200 I

The use of general descriptive names, trademarks, etc. in this publication does not imply,
even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.

Cover design: Künkel + Lopka, Heidelberg


Typesetting: Camera-ready by author
Printedon acid-free paper SPIN: 10772031 45/3142 ud- 543210
To Luca and J ean-Luc
Preface

Recently, with the success of Java and the existence of different interfaces be-
tween VRML and Java, it became possible to implement three-dimensional
internet applications on standard VRML browsers (Plugins) using Java. With
the widespread use of VRML-Browsers, e.g., as part of the Netscape Com-
municator and Microsoft's Internet Explorerstandard distributions, everyone
connected to the internet via a PC (and some other platforms) can directly
enter a virtual world without installing a new kind of software. The VRML
technology offers the basis for new forms of customer services, e.g., interactive
three-dimensional product configuration, spare part ordering, or customer
training. Also this technology can be used for CSCW in intranets.
This book has a theoretical and a practical part. The theoretical part is
intended more for teachers and researchers, while the practical part is in-
tended for web designers, programmers and students, who want to have both
a hands-on approach to implementing Web 3D applications and a technically
detailed overview of existing solutions for specific problems in this area.
The reader should have a good knowledge of programming languages and
computers in generaland should know Java or at least an object-oriented pro-
gramming language. The book not only provides and explains source code,
which can be used as a starting point for own implementations, but it also
describes the fundamental problems and how currently known solutions work
and discusses a variety of different techniques and trade-offs. Many illustra-
tions help the reader to understand and memorize the underlying principles.
Acknowledgments. This book evolved from lectures at the University of
Saarland and courses taught in industry. I want to thank all participants for
discussions and feedback. Andreas Kerren carefully read a draft version of
the book and provided constructive comments. Above all, I have to thank my
wife Christine - she has been very patient with me. While I spent weekends
in front of the computer, she had to take care of our two sons Luca and
Jean-Luc. This book is dedicated to them.
Saarbrücken, January 2001 Stephan Diehl
Contents

Part I. Introduction

1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Peloton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 A Virtual Theater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Electronic Commerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Technical Aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Technologies, Languages and Protocols.................... 9

3. User Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Commercial and Experimental Virtual Worlds . . . . . . . . . . . . . 11
3.3 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Multi-User Worlds- The Future?......................... 16

Part II. Fundamentals

4. Three-Dimensional Computer Graphics . . . . . . . . . . . . . . . . . . . 19


4.1 Some Mathematical Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 The Graphics Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5. Virtual Reality Modeling Language (VRML) ............. 27


5.1 History of VRML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 What is VRML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Concepts of VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4 VRML: An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.5 Static Scenes... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5.1 Geometrie Nodes................................. 31
5.5.2 Appearance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.5.3 Transformations.................................. 34
X Contents

5.5.4 Other Static Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


5.5.5 DEF/USE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5.6 Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.6 Dynamic VRML ....................................... 36
5.6.1 Events, Routes, Sensors and Interpolators . . . . . . . . . . . 37
5.6.2 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.6.3 Animations Using the External Authoring Interface... 44
5.6.4 Problems with the EAI . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5. 7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6. Protocols for Distributed Virtual Worlds . . . . . . . . . . . . . . . . . 51


6.1 Internet Protocols- TCP/IP............................. 51
6.1.1 Network Layer: Internet Protocol (IP) . . . . . . . . . . . . . . 52
6.1.2 Transport Layer: Transmission Control Protocol (TCP) 53
6.1.3 Transport Layer: User Datagram Protocol (UDP) . . . . 53
6.1.4 Transport Layer: Multicast IP . . . . . . . . . . . . . . . . . . . . . 53
6.2 A Layer Model for Distributed Virtual Worlds . . . . . . . . . . . . . 54
6.3 Architectures for Virtual Worlds. . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.4 Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.5 Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.6 Protocols for Distributed Virtual Worlds . . . . . . . . . . . . . . . . . . 57
6.6.1 Distributed Interactive Simulation (DIS) . . . . . . . . . . . . 57
6.6.2 Distributed Worlds Transfer and Communication
Protocol (DWTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6.3 The Multi-User 3D Protocol (Mu3D) . . . . . . . . . . . . . . . 61
6.6.4 Virtual Reality Transfer Protocol (VRTP) . . . . . . . . . . . 63
6. 7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7. VRML Extensions for Distributed Virtual Worlds . . . . . . . . 65


7.1 VSPLUS: Sharing Events Through Net Nodes.............. 65
7.2 VASE Multicast-VR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.3 Living Worlds.......................................... 70
7.3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3.2 Living Worlds Terminology . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3.3 Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3.4 Shared Objects and Avatars . . . . . . . . . . . . . . . . . . . . . . . 73
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8. Partitioning of Distributed Virtual Worlds. . . . . . . . . . . . . . . . 77


8.1 Spatial Partitioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1.1 Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1.2 Level of Detail (LOD).. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.1.3 Bounding Boxes.................................. 79
8.1.4 Binary Space Partitioning Trees . . . . . . . . . . . . . . . . . . . . 80
8.1.5 Cells and Portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Contents XI

8.2 Spatial Partitioning of Multi-User Worlds . . . . . . . . . . . . . . . . . 83


8.2.1 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.2.2 Locales and Beacons.............................. 83
8.2.3 Aura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

9. Streaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.1 Continuous Data Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.1.1 Compression..................................... 87
9.1.2 Streaming in Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.2 Continuous Data Streams in Distributed Virtual Worlds . . . . . 88
9.3 Relevant Internet Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.3.1 Resource Reservation Protocol (RSVP) . . . . . . . . . . . . . 89
9.3.2 Real-Time Streaming Protocol (RTSP) . . . . . . . . . . . . . . 90
9.3.3 Real-Time Transport Protocol (RTP) . . . . . . . . . . . . . . . 91
9.4 Quality of Service for Streaming... . . . . . . . . . . . . . . . . . . . . . . . 93
9.4.1 Forward Error Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.4.2 Interarrival Jitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.4.3 Combined Jitter and Error Control . . . . . . . . . . . . . . . . . 94
9.5 Spatial Hierarchical Compression . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

10. 3D Technologies for the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 99


10.1 Quicktime VR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.2 MetaStream ........................................... 101
10.3 VRML ................................................ 102
10.4 MPEG-4 .............................................. 102
10.5 Pure Java 1.1 Applets ................................... 103
10.6 Java3D ................................................ 104
10.7 X3D .................................................. 105
10.8 Summary .............................................. 106

Part 111. lmplementation

11. lmplementing Multi-User Worlds with VRML ............ 109


11.1 Requirements .......................................... 109
11.2 Existing Systems ....................................... 109
11.3 Java- and EAI-Based Approaches ......................... 110
11.4 A CORBA-Based Approach ............................. 110

12. Java Network-Programming:


A Simple Distributed Virtual World ...................... 113
12.1 Java Network Programming ............................. 113
12.1.1 HTTP Connections (Hypertext Transfer Protocol) .... 113
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
XII Contents

12.1.2 TCP (Thansfer Control Protocol) ................... 114


12.1.3 UDP (User Datagram Protocol) .................... 115
12.1.4 Multicast UDP ................................... 116
12.1.5 Object Serialization ............................... 117
12.1.6 Remote Method Invocation (RMI) .................. 117
12.2 Miss Connectivity ...................................... 118
12.2.1 Architecture and Protocol of MissC ................. 119
12.2.2 Resources of the Dead ............................ 120
12.2.3 Some Implementation Details of the Protocol ........ 120
12.2.4 Alternative Implementations of the Protocol ......... 123
12.2.5 Some Implementation Details of the Scene ........... 125
12.2.6 Intra-Browser Communication ..................... 133
12.3 Conclusion ............................................ 135

13. lmplementing Multi-User Worlds with CORBA .......... 137


13.1 A Gentle Introduction to CORBA ........................ 137
13.1.1 Common Object Request Broker Architecture (CORBA)137
13.1.2 Object Request Broker (ORB) ..................... 137
13.1.3 Object Adapter .................................. 141
13.1.4 Interface Definition Language (IDL) ................ 141
13.2 A CORBA-Based Multi-User World ...................... 144
13.2.1 The Protocol .................................... 145
13.2.2 The Client ....................................... 145
13.2.3 The Server ...................................... 147
13.2.4 An Alternative Protocol. .......................... 147
13.2.5 Intra-Browser Communication ..................... 149
13.3 Conclusion ............................................ 149

14. The Future ............................................... 151

List of Figures ................................................ 153

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

References .................................................... 157

Index ......................................................... 163


Part I

Introduction
1. Motivation

Before we dive into the technical aspects we present in this chapter three
very different examples of Distributed Virtual Worlds (DVW). The reader
will benefit throughout the book by thinking about how to use the described
techniques to implement one of the applications in this chapter.

1.1 Peloton

In February 1998 a system called Peloton [17] was presented at the Interna-
tional Conference on the Virtual Reality Modeling Language VRML'98. The
term "Peloton" stems from cycling and denotes the main group of cyclists
in a cycle race. Peloton was developed at Bell Laboratories, a research in-
stitute of Lucent Technologies. Peloton is a distributed cycling simulation, a

Fig. 1.1. Screenshot of Peloton


4 1. Motivation

computer-based system which generates virtual environments for simulated


cycle tours. Several persons connected to different computers in the internet
are able to cycle simultaneously through a virtuallandscape (Figure 1.1).
They might just enjoy the scenery, but they might also race. To participate
in the simulation the cyclist has to register with the Peloton server via the
World Wide Web (WWW). Each participant has a stationary bike which is
connected to a computer through sensors and force-feedback devices. The
latter enable the computer to control the resistance of the pedals. For the
cyclist, a new multimedia experience becomes true: he has to pedal harder
to drive up a hill. The sensors provide information which is used to position
the cyclist in the virtual environment. The virtual environment is based on
topological data of actual cycling tracks. It consists of computer-generated
graphics, as well as pictures and noises of the cycling track.
In this virtual environment the cyclist is represented as an animated,
graphical object. Such an object representing a user is called an avatar. In
the Peloton example the avatar moves as fast as the cyclist pedals. Every
cyclist has his personal view of the track and he can change his view during
the ride. Moreover, he can talk to other cyclist over a "webphone" or a con-
ventional telephone. Since Peloton was developed using established web tools
and data formats, it runs on many different platforms. Moreover it is able to
adapt the complexity of the scene to the capabilities of the computer it runs
on. To sum up, Peloton represents a new dass of applications which enable
users to interact in real time using unconventional input-output devices.
The developers of Peloton plan to extend their system such that joggers on
running belts and rowers in keep-fit devices are able to experience the same
environment.

1.2 A Virtual Theater


Peloton demonstrates just one of the possibilities opened up by distributed,
virtual worlds. In the following we discuss a fictitious virtual world. However,
parts of it are currently under development at the VRML Dream project
[57] (http: I /www. vrmldream. com) and the first distributed live performance
on the internet actually took place on 26 April 1998 (Figure 1.2).
Assurne that a stage play is performed by actors who control their avatars
from different computers in the net. The stage set was assembled from the
online catalogues of different suppliers. The actors select suitable avatars for
their roles in the play and get them dressed. There are several actors in the
wardrohe or on the stage. They talk about the choice of clothes, their roles
and the poor payment. In the performance there will be a living elephant. It
was bought in a virtual pet store and now has its own life. At the entrance
the audience has to present their tickets, which they got from one of the
advance booking offices and paid with electronic cash. The audience can talk
together without disturbing the performance, but they can also heckle the
1.3 Electronic Commerce 5

Fig. 1.2. VRML Dream: Live Performance on the Internet

actors. Someone has brought a time bomb: disguised as a hat it is actually a


"Trojan Horse". Activated during the performance it rips the actors' clothes
off. Shortly after, it deletes all objects of the scene on the server.

Fig. 1.3. A 3D Personal Computer Gonfiguration Tool on the Web

1.3 Electronic Commerce


Online shopping, in particular online book stores, has become popular. Tech-
nically there is often not much difference to printed catalogues, but there are
goods for which web pages with t ext and 2D images are not sufficient. 3D
models enable the customer to look at a product from different viewpoints,
6 1. Motivation

moreover he can configure the product or build it from simpler parts in a


3D world and then order it online as a whole [23]. Customers and customer
services can look at and interact with the same model and they can talk using
internet telephony. The customer service can show in the model how to use
the product or how to replace a damaged part with a spare part.
The PC Gonfigurator [6] was designed as an interface of a built-to-order
e-commerce application (Figure 1.3). First the user can select a motherboard
and a computer case. Then he selects a graphics card, RAM expansions etc.
and drags and drops them into a slot. Instead of inserting them into slots
by hand, there is also an automatic mode. In a similar way the user can add
CD-ROMs, disks and the CPU.
For this new generation of e-commerce applications which combine inter-
active 3D-computer graphics with online services the term v-Commerce has
recently been suggested.
2. Technical Aspects

In this chapter we introduce some terminology which will be used throughout


the book. Then we infer basic requirements for distributed virtual worlds from
the examples of the previous chapter. Finally, we look at what technologies
are used to implement these on the web.

2.1 Terminology
Virtual worlds are computer-based models of three-dimensional spaces and
objects with restricted interaction. A user can move through a virtual world
and interact with those objects in various ways.
VRML [77, 14] is a file format for the specification of such spaces and
objects. A VRML file defines a scene gmph: by traversing the graph the
renderer (i.e. the algorithm which draws the scene onto the screen) computes
the appearance, geometry, position and orientation of each object in the
scene. VRML was designed to be platform independent and extensible, and it
should work with low-bandwidth connections. The major difference to other
3D-file formats is its use of URLs to include spaces and objects over the
www.
Behaviors are the dynamic changes of some properties of an object, as well
as the deletion and creation of objects and the modification of environmental
properties like gravity or light. Behaviors can be triggered by time, users or
programs.
A virtual world is distributed if active parts of it are spread throughout
different computers in a network. Developers of distributed virtual worlds
have to face both the problems of virtual reality and those of distributed
systems.
A multi-user world is a virtual world where several users can interact at
the same time. These users work at different computers which are intercon-
nected. In multi-user worlds the avatar plays a central role. An avatar is the
virtual representation of a user. It is put at the viewpoint of the user, i.e.,
the position in the virtual world from which the user looks at the scene. In a
single-user world the avatar is only used to detect collisions of the user and
those objects in the scene. In a multi-user world the avatar is also the visual
representation of the user, i.e. it determines how the user is seen by other
8 2. Technical Aspects

users. If a user moves his viewpoint, his avatar must also move in the views
of the others users. The term avatar comes from an Indian religion, where it
means god 's incarnation on earth.
The WWW has changed our way of perceiving the internet and its ser-
vices. They are brought to us as a cross-referenced book and we browse
through its pages. Multi-user worlds have the potential to change our view
again. They provide us with a new metaphor for the internet, its services and
its inhabitants- the users. They become objects in space, and for fast access
the user can tunnel from one point in space to another. One of the major
design goals of VRML was to allow for multiple users to act in a virtual world
at the same time. So far, this goal has not been achieved and there is not yet
a standard for the interaction of several users in a virtual world.
If interested, the reader might want to skip ahead and have a look at the
terminology introduced by Living Worlds in Beetion 7.3.2.

2.2 Requirements

From the examples in Chapter 1 one can deduce some technical requirements
for distributed, virtual worlds. Objects have a graphical representation, an
internal state and a behavior usually defined by program code. Such objects
have to be added or removed from a scene in real time, their behavior has
to be tracked in real time and their implementation has to be distributed
on different computers in the network. Some objects must be controlled by
other objects and objects must share information. If an imported object has
to become a permanent part of a scene, one must be able to store it including
its behavior on the scene server.
Further requirements result from security considerations, e.g., protecting
a scene from vandalism. An object can grant or deny access to its data and
behavior. For this purpose it could provide user rights. From this results
yet another requirement. The identity of users and their objects has to be
checked; this process is called authentification and cryptographic methods
play an important role here.
When several objects try to access a shared resource, a confiict arises.
Such confiicts can be avoided through transaction mechanisms or they can be
resolved by confiict solution strategies. Other requirements are those common
to distributed systems on the internet:
Low Bandwidth and Network Latency: On the internet the bandwidth
is in generallow and there is no guaranteed bandwidth. Network latency
is the amount of time it takes to deliver a message over the network.
To hide network latency a dient can, for example, perform speculative
computations or use buffering.
Heterogenity of Networks: Computers on the internetrundifferent oper-
ating systems. These operating systems often differ in the programming
2.3 Technologies, Languages and Protocols 9

languages and libraries they provide. A solution to the problern is to use


platform-independent languages like Java and VRML , or architectures
like CORBA, which achieve platform-independence through standard-
ized protocols.
Distributed Interactions: Objects which interact can be controlled by
programs or users at different computers. The computations at the clients
involved must be synchronized, e.g., through locking.
Failure Handling: There is a trade-off between reliability and speed of
transmission of messages on the internet: lost messages must be resent .
Monitoring the quality of transmission can be used to adapt transmission
quality or properties of the application, e.g., frame rate.
Scalability: A distributed system scales up, if it works with large num-
bers of clients and objects. To achieve scalability, work must be equally
distributed to all clients and there must be no bottlenecks in the com-
munication structure. Most rendering techniques in virtual reality have
been developed on high-end graphics Workstations. On the internet a
scene must be rendered on computers with less computing power and
thus rendering algorithms are preferable which scale down, i.e. yield near-
photo-realistic results on high-end machines, but also acceptable results
on personal computers.

li(!'loton ( 'hent

.. ...... ......... _____ _. . . . .. . .

Fig. 2.1. Architecture of Peloton

2.3 Technologies, Languages and Protocols


A closer look at the architecture of Peloton in Figure 2.1 and those of other
multi-user worlds on the web reveals that they use similar implementation
techniques, languages and protocols:
10 2. Technical Aspects

JSAI EAI
Script Applet
~

Fig. 2.2. VRML, Java and Networking

3D Objects and Scenery: The scenery, as well as the three-dimensional


objects and some of their behaviors are coded in VRML.
Programming: Behaviors are programmed in Java and/or JavaScript. All
other programs running on the dient are written in Java. Device drivers
are written in C, C++ or assembly language and connected to the rest
of the application through the Java Native Programming Interface JNI
or, as in Peleton, through network communication on the same host.
Intra-Browser Communication: VRML and Java communicate through
programming interfaces: Java-applets communicate with the VRML-
Browser through the External Authoring Interface (EAI) . Java-Code en-
capsulated in the scene-graph uses the Java-Scripting Interface to access
the scene-graph.
Networking: For network communication, application-layer protocols like
the Hypertext Transfer Protocol (HTTP) and the Realtime Transport
Protocol (RTP) are used . Application-specific protocols are implemented
on top of these, as well as the transport-layer protocols TCP and UDP
and/or CORBA. CORBA actually is an architecture for distributed ,
object-oriented systems and achieves platform-independence through a
standardized protocol called IIOP.

This is what this book is about , in particular Chapter 5 and Part III,
and is shown more clearly in Figure 2.2. In Part II we Iook at protocols,
spatial partitioning and streaming techniques, which are independent of a
particular implementation language and are designed to meet some of the
above requirements.
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
3. User Perspective

In this chapter we discuss the wide spectrum of applications of DVWs, give an


overview of existing virtual worlds and look at navigation and communication
in virtual worlds from a user's perspective. Finally, we address some aspects
which will be important for the future success of DVWs.

3.1 Applications

There is a wide spectrum of applications for distributed virtual worlds. Ac-


tually our fantasy is the only limit. Planners and investors can meet in the
virtual counterpart of a new building before even the foundation stone is
laid. Early on, the effects of building projects, e.g., new highways or railroad
tracks, can be visualized for decision makers. In virtuallecture rooms students
of different schools or universities gather for tele-learning courses. Collabora-
tive work processes, e.g., assembly and dismantling, can be exercised without
consumption of materials. In hospitals several experts can work together in
a complicated operation (tele-medicine, virtual scalpel). Devices, robots and
plants can be controlled by several persons. A robot could pick up nuclear
waste this way in areas where no living person can survive (tele-presence).
We witness the beginning of distributed virtual worlds in art, e.g., virtual
galleries, collaborative paintings and sculptures. The game industry has also
seen the writing on the wall. Until recently many action games provided a
multi-player mode by connecting computers via the serial port. Nowadays
such games use the internet for multi-user communication.

3.2 Commercial and Experimental Virtual Worlds

In the book A vatars! Bruce Damer looks from a user perspective at a variety
of multi-user worlds [22]. His book provides installation and usage informa-
tion, as well as anecdotes. Damer uses the term virtual worlds and delimits
it from virtual reality. Virtual reality is concerned with reproducing reality
true to life. Tothis end mostly expensive, specialized hardware is used, e.g.,
cyber-helmets and cyber-suits. In contrast, virtual worlds require less from
12 3. User Perspective

the user's hardware - a modern PC will work. Immersion is the subjective


impression or illusion of being in or a part of the virtual world. Damer claims
that immersion is achieved through communication with other people and
does not require sophisticated computer graphics. The effect is similar to
reading a novel and being drawn into the story.

Table 3.1. Virtual worlds and their graphical representations

Representation Representation
Name of World of Avatars
The Palace 2D 2D
http://www.thepalace.com
Microsoft's Comic Chat 2D 2D
http://www.microsoft.com/ie/chat
Worlds Away 2D 2D
http://www.worldsaway.com
Virtual Places 2D 2D
http://www.vplaces.com/vpnet
Worlds Chat 3D 2D
http://www.worlds.net
Microsoft's V-Chat 2D & 3D 2D
http://www.vchatl.microsoft.com
NTT's Interspace 3D 2D (Video)
http://www.ntts.com/interspace
Active Worlds 3D 3D
http://www.activeworlds.com
Onlive! Traveler 3D 3D
http://www.onlive.com
Oz Virtual 3D 3D
http://www.oz.com/zipvrml
VRML-based Virtual Worlds:
Blaxxun's Passport 3D 3D
http://www.blaxxun.com
Mitsubishi Electric's Schmoozer 3D 3D

http://www.schmoozer.net
Sony's Community Place 3D 3D
http://www.vs.spiw.com/vs
Geometrek's Deep Matrix 3D 3D
http://www.geometrek.com
Vnet 3D 3D
http://ariadne.iz.net/-jeffs/vnet
3.2 Commercial and Experimental Virtual Worlds 13

To represent the world some systems use a constant background image,


and objects and avatars are placed on a layer in front of it (2D), or on
severallayers (2!D), suchthat objects can hide objects on lower layers and
can collide with objects on the same layer. An increasing number of systems
uses three-dimensional model-based representations. Allegedly, the first 3D
virtual world on the internetwas Worlds Chat in 1995. In some worlds users
can change the scenery and build complete cities from scratch.
There are also huge differences in the way avatars are represented. Ear-
lier systems use static images and some use sequences of images to display
animated movements. In some 3D worlds 2D avatars are used which are repre-
sented by a set of images, each image shows the avatar from a different angle,
e.g., front, side and back view. This technique is also known as 3D sprites and
is used in many computer games. In this way 3D effects are achieved with-
out computationally expensive model-based rendering. On the other hand,
model-based avatars can be animated by changing the modelovertime and
thus allow for more flexible animations.
In Interspace, avatars are small monitors showing a live video transmis-
sion of a camera installed at the user's computer. In addition to text chat,
Interspace also provides voice chat. As a result Interspace represents a new
kind of video conferencing.
Hundreds of thousands of users have visited the largest of the above men-
tioned virtual worlds and at times thousands of users are simultaneously
online.

Table 3.2. Multi-user games

The Realm 2 ~D
http://www.realmserver.com
Meridian59 3D
http://www.meridian.3do.com/meridian
Ultima Online 3D
http://www.owo.com
Diablo 3D
http://www.blizzard.com
War Birds 3D
http://www.icigames.com
Quake 3D
http://www.idsoftware.com
Xwing vs. Tie Fighter .3D
http://www.lucasarts.com
DukeNukem3D 3D
http://www.duke.gtinteractive.com
14 3. User Perspective

Also, the game industry offers multi-user games, which have many of
the features of multi-user worlds. Dedicated web pages like www. heat. net
and www. garnestarm. com provide servers for a diversity of multi-user games,
including some of those listed in Table 3.2.
Except for the games market the commercial success of multi-user worlds
is very low. There are two major reasons for this. First, the technical prereq-
uisites are still demanding; second, the worlds are not used in a goal-directed
way, i.e. to facilitate certain work flows. Currently most multi-user worlds are
inhabited by technical enthusiasts who meet there to discuss implementation
details of these worlds.

3.3 Navigation

For most commercial multi-user worlds the user has to buy the viewer of
the respective vendor and instaU it on her machine. Demo-versions of these
browsers can be downloaded for free on the internet. Some vendors distribute
the viewers for free and try to earn money by selling their virtual-world servers
and world-authoring tools.
After the installation the user has to start the viewer and to log into the
virtual-world server. Some systems allow guest logins, others require that the
user registers by providing at least his email address or that the user has
to pay membership fees. Unfortunately some users misuse their anonymity
and harass other users by vulgar language and other activities depending on
the kinds of actions provided by the system. As a result, some systems are
moderated. A moderator supervises the chat and activity in the world and
throws obtruders out.
After logging into the server the user gets a default avatar. In Worlds
Chat the default is a crash test dummy. If the user doesn't like this avatar
she can select one from a menu. In most systems registered users can create
or import their own avatars.
After the selection of the avatar the user can move through the virtual
world. He can look at the scenery from different perspectives:
• first person view: The user sees the world through the eyes of his avatar,
i.e. the camera is at the position of the avatar.
• bird's eye view: The user sees the world from top, i.e. the camera is
above the avatar.
• third person view: The user sees the world through the eyes of a third
invisible person which follows the user's avatar, i.e. the camera is behind
the avatar.
In 3D computer games the third person view is preferred because the user
can see both the position as well as the actions of her avatar.
3.4 Communication 15

Worlds are usually made of several scenes which are connected in different
ways. The user can dick at objects or closed doors, which work in a simi-
lar way to hyperlinks in web pages. If the user clicks, the scene associated
with the object is loaded and the user is put into the new scene. Different
systems use different terms for this concept: anchor, hotspot, door, farcaster,
wormhole, tunnel or teleport.
A more sophisticated kind of these door, called a portal, allows the user
to see parts of the other scene through the open door without having to Ioad
the other scene completely.

3.4 Communication

An important aspect of virtual multi-user worlds is the communication among


users. Currently, text chat, i.e. the transfer of textual messages, is the state
of the art. Some experimental systems use audio or video transmission, e.g.,
NTT's Interspace. Voice chat is sometimes also transmitted over a traditional
phone connection, but transmission over the internet is more challenging and
in some parts of the internet web phones provide acceptable quality even
today. As web phones become more mature they will certainly replace text
chat.
We will now Iook closer at the features of text chat. The reader should
note that voice chat should provide similar features.
Usually all chat messages are sent to all users in a scene, but there arealso
means for private conversation. For this, the user has to switch to whisper
mode to send messages only to the closest user in the virtual space or to a
user whom she selects by name. Some systems also support user groups. In
this case a message can be sent to all members of the group. The members
of the group don't have to be in the same scene of the world.
The reader certainly will know emoticons from her electronic mail. Here
combinations of certain characters are used to represent emotions, e.g., wink-
ing ; -) or a shouting : -0 face. In addition to using emoticons in the text
chat, the user can use gestures to express emotions. For this, she can select
a gesture in a menu and her avatar will then perform this gesture, e.g., smile
or dance.
In Comic Chat the user's messages are displayed in a balloon next to his
avatar. The user can change the form of this balloon and the style of the font
(hold, italic, etc.).
In several systems the user can select the expression of his avatar's face
(smile, frown, laugh) or animations of the avatar (dance, jump, bow) from a
menu.
A bot is a programmed, active object, sometimes also called an agent
or angel. It can happen that a bot pretends to be an avatar and that users
don't realize that they are actually talking to a program. Such bots are based
Random documents with unrelated
content Scribd suggests to you:
CHAPTER XVII
“We are yet three,” said Naoise. “Draw the bolts, Ainnle, for one
sortie of friendship. We have no doorman, for Deirdre could not
close or open the door by herself. You and I, Ainnle. Be quiet, Ardan!
Come, my brother, and put all your arm into the blade. We will come
in by the door we go out of. This door! Be ready for our shout,
Ardan!”
They went out and returned with red weapons, and for a long time
they sat in the dim flare of a torch watching by their dead comrade.
“He was a brave boy,” said Deirdre.
“He did not obey my order,” her husband sighed. “I do not know
what he did.”
“I smell—smoke,” said Ainnle suddenly.
“I have smelled something for a long time,” said Deirdre, “but I
could not think what it was. I am weary because of the death of this
good friend.”
But little by little the vast building became full of smoke, and in a
while a fierce roar and crackling was heard also.
Naoise was again the hardy leader.
“They have fired the fortress! We do not know what happened while
Iollann was away, but Conachúr has reached the end of the world.
Who could have foretold that he would fire the Red Branch! We must
prepare for all that can happen.”
“We are not dead yet,” said Ardan.
“What do you counsel, brother?” said Ainnle.
“Sit down, there is less smoke on the floor.”
A ruddy glare could be seen by each window.
“Fire is laid all round the building. We must make our plans quickly.”
Ainnle turned gleefully to his younger brother.
“You shall run after all, my poor friend.”
“In good truth,” Ardan grinned, “I thought in Scotland that I should
never want to run again, but I feel now that we have been staying
too long in the one place. After all,” he said complacently, “I am a
man of action.”
“And, of course,” Ainnle gibed, “no one can run as quickly as you
can.”
“No one,” said Ardan, “except Deirdre.”

“Listen,” said Naoise. “We have still more than a chance. We can
run. Scotland trained us in that certainly, and if we can surprise but
forty yards on the men without, we shall outrun their best in twenty
minutes.”
“Where shall we run to?”
“We shall take the road to our own lordship. If Lavarcham’s message
has been sent, our kinsmen should be marching at this moment on
Emain. But,” he said, and pointed, “we cannot wait for them.”
They looked in silence.
A huge golden flame licked screaming through the window, wavered
hither and thither like some blindly savage tongue, and roared out
again.
“It was ten feet long and three feet thick,” said Ardan in a whisper.
“In ten minutes we shall go,” said Naoise.
“What arms?”
“Shield and spear, brother. Strip off all armour. We must run lightly.
“I shall be out first,” he continued. “Give me twenty seconds before
you follow, Ainnle, I can make room in twenty seconds. You will run
ten paces to the left of the door. Deirdre and Ardan will run
immediately into our interval; turn all to the right, and at my shout,
run. Single file; Ainnle at the end. If I shout ‘halt,’ you two turn
about and protect the rear. When I shout ‘run,’ drop every combat
and fly. You, Deirdre, take Iollann’s shield.”
“And his spear,” said Deirdre.
“Keep actually at my back, beloved, and each time we halt drop flat
on the ground.”
He was shouting his instructions now, for the voice of the fire was
like the steady rage and roar of the sea, and through every window
monstrous sheets of flame were leaping and crashing.
“This door,” said Naoise. “A kiss for every one,” he called. “We shall
win yet. Pull, Ainnle!”
“The door is red-hot,” said Ainnle.
“Back for a mantle; two. Now grip. Pull! Give me twenty seconds,
Ainnle.”
He leaped across fire and disappeared.
The others leaped after him, with a wild yell from Ardan.

Conachúr had sent a flying messenger to the palace.


“Bring Cathfa back with you,” he ordered. “Tell him I want him. Say
that the king beseeches him to come.”
The captain of his troop stood by.
“Alas for the Red Branch!” he said mournfully.
“All that can be destroyed can be rebuilt,” said Conachúr. “I shall
rebuild the Red Branch.”
He was in terrible distress and agitation.
“The morn is nigh,” he said.
And he strode unhappily to and fro, with his eyes on the ground and
his mind warring.

Far to the east a livid gleam appeared. The darkness of a summer


night, which is yet a twilight, was shorn of its soft beauty, and in the
air there moved imperceptibly and voluminously a spectral apparition
of dawn. A harsh, grey, iron-bound upper-world brooded on a chill
and wrinkled earth. The king’s eyes and the eyes of his captain
scanned each other from colourless, bleak faces. There was no hue
in their garments; their shields were dull as death; and their hands,
each clutching a weapon, seemed like the knotted claws of goblins.
A slow, sad exhalation came from the king’s grey lips, like the plaint
of some grim merman of the sea, rising away and alone amid the
chop and shudder of his dismal waters.

“The fire is catching,” the captain murmured. “Hark to that


crackling!”
“We shall have light,” the king murmured. “The Red Branch will
flame.”
“Within ...!” said the captain moodily, and he looked with stern
mournfulness on the vast pile.
“They must soon come out,” he muttered.
“Your men are posted?”
“Every door is held. When they pop out this time——”
“They will have no place to pop into,” said Conachúr. “I have them,”
he growled; and he threw his hand in the air and gripped it, as
though in that blanched fist he held all that could never escape from
him.
“They will fight,” said the captain, “and they are woeful fighters.”
“You are nervous, man,” said Conachúr. “At this hour and after this
night,” said the captain, “our men could fly from those three like
scared rabbits.”
“I fear that,” said Conachúr.
“They may get away,” said the captain. Conachúr advanced on him
so savagely and with such a writhe of feature that the man fell back.
“Dog!” said Conachúr. “If they escape I shall take your head.”
“They are surrounded,” the captain stammered; “they cannot
escape.”
“They can escape,” Conachúr roared. “You know they can escape.
Your men are cowards and idiots, and what are you? Oh, am I not a
thwarted man! Am I not a forsaken king! Where is Cathfa? Where is
the druid?” he cried.
“Majesty,” the captain implored, “do not curse us. The great
magician is coming.”

The magician indeed had come.


“What has set you raging, Conachúr?” he asked.
“Father,” said Conachúr, “if you do not assist me I am lost.”
The old, old man looked at him.
“Tell me your tale, son. Whom have you locked up in fire?”
“The sons of Uisneac are there,” said Conachúr. “They will escape
me,” he said.
“They are my grandchildren,” said Cathfa.
“It is the woman with them,—it is Deirdre I want. She was mine.
She was stolen from me. I am not myself without her. I am a dead
man while she is with Naoise.”
“What do you fear from boys roared round by flame?”
“They may escape with her. When they come out my men may run
from them. If they escape this time, father, I am dead.”
“If I help you, Conachúr——?”
“I shall do anything you ask. Nothing you can demand will be too
much for Conachúr.”
“It is the woman you want?”
“The woman only.”
“It is not the blood of these boys you lust for?”
“The woman, father, only the woman.”
“I shall help you, Conachúr. Do not lay one finger on my daughter’s
sons, the sons of your young sister.”

“They are out,” the captain said, as a great roar came from the
soldiers.
Conachúr moved to that direction.
“Quick, quick,” he said, twitching his father’s mantle in his
impatience. “They will escape me.”
“They shall not escape me,” Cathfa answered. “There is no need for
haste.”
They were out, indeed, and, like two grim lions or woeful griffins of
the air, Naoise and Ainnle were raging in that press. Into their
interval leaped Ardan, with but one eye peeping from the shield and
a deadly hand thrusting from the rim. Back and forth they leaped
with resistless savagery. Men flew at them and from them.
Everywhere was a wild yelling of orders and the wilder screaming of
stricken men. But, over all, Naoise’s voice came pealing—
“Up, Deirdre. Run!”
She was at his back in an instant, the shield covering her side; her
spear darted viciously by his right elbow, and a venturesome man
dropped squealing. Five feet behind, Ardan was leaping like a cat, all
eyes and points, and ten paces behind him Ainnle was bounding.
“Halt,” roared Naoise.
Deirdre was again on the ground. Ardan ranged tigerishly to right
and left, while Ainnle whirled on the pursuers in ten-foot bounds.

Conachúr had arrived with Cathfa. Men were falling before them at
the rate of three a second. So dreadful was Naoise’s onslaught in the
front that none would face him. Men tumbled over each other when
he charged.
“The men will run away in a second,” said the captain.
“Get into the mêlée, coward,” roared Conachúr.... “Cathfa——!” he
implored.
The officer whizzed out his blade and leaped forward. In three
seconds he was dead, and five who followed him were rolling in their
agony along the ground.
Naoise’s voice came in a wild shout.
“Up, Deirdre. Run!”
The four were again in line. The men in front melted to either side of
that dreadful file.
“Run!” said Naoise. “We are out!”

In front of him there was but Conachúr and Cathfa. Conachúr drew
his great sword and stood crouching; and at him, with a dreadful
smile, Naoise came on. Cathfa moved two paces to the front and
stared fixedly at Naoise. He extended his two arms widely——

Naoise dropped on one knee, rose again, leaped high in the air and
dropped again on his knee. Deirdre fell to the ground and rose up
gasping. Ardan rolled over on his back, tossed his shield away, and
came slowly up again, beating the air with his hands. Ainnle went
half way down, rose again, and continued his advance on tiptoe.
A look of dismay and rage came on Naoise’s face. He moved with
extraordinary slowness to Deirdre and lifted her to his shoulder.
“We are lost,” he said. “That magician——!”
“Keep on swimming,” Ardan giggled. “There was never water here
before, but the whole sea has risen around our legs, and we may
paddle to Uisneac.”
The arms dropped from their hands, and, in fact, they swam.
Not for a minute or two did the soldiers dare advance, and then they
did so cautiously. They picked up the fallen weapons, and then only
did they lay hands on the raging champions.
Cathfa dropped his arms to his sides.
“We are taken,” said Naoise. “Our run is ended.”
CHAPTER XVIII
Cathfa had gone away, and Conachúr strode to his prisoners.
“So! Naoise,” he said.
“So! uncle,” said Naoise.
“I win in the end. I always win at last,” said Conachúr.
He looked at each with his stern smile, and when he spoke again it
was to Deirdre.
“Little fawn! you have run wild for a long time. You shall rest at last.”
But she made only the reply that a fawn makes, the reply of parted
lips and terror-stricken eyes.
“You shall come to me,” he said.
Then she moistened her trembling lips and looked at Naoise.
“Do not look at him,” said Conachúr. “He is already a dead man; let
him be forgotten. All tricks and troubles are ended for you, sweet
bird; you shall have peace.”
“Will you have peace to-morrow, Conachúr?” said Naoise. “Fergus is
marching on you.”
“Be at ease, nephew,” and the king smiled grimly. “I shall take care
of Fergus when he comes. For long I have wanted to take care of
Fergus. But, first, I shall take care of you, Naoise, and of your traitor
brothers. Your hour is on you,” he said, “and you die now.”
“Churl and rogue——!” said Ainnle.
But a gesture from his brother stopped him.
“Let this king do his business,” he said.
“That must be done,” said Conachúr.
He turned briskly and moved away.
Now the day was at hand, and these four looked on a world that
was spectral and misshapen, but which was yet the world. On high
the clouds could be seen, a grey immensity, stony as the face of
Conachúr, and a chill wind moaned thinly about them. But far away
the grey misery of morn had lightened, and a silver gleam, slender
as a rod, crept up the east.
To that gleam their eyes turned, and from it to each other’s faces.
At the guards who ringed them in they did not look, or they looked
unseeingly. But those gaunt apparitions stared like statues on the
four and did not move a lip.
“The sun will rise in a little,” said Ardan.... “That magician has gone,”
he whispered. “If we leaped at the guards——!”
“No good, brother, they are too many and we have no arms.”
“We should have one merry minute,” said Ardan.
“We have had a merry night,” said Ainnle, “be contented, babe.”

Naoise looked lovingly on his brothers.


“We were always together,” he said. “We shall always be together.”
“And I ...!” said Deirdre, “am I to be left out at last?”
“Sweet girl,” said Naoise, “he will kill us, but you will be spared. You
shall see that sun come up. You shall look at it for us.”
“Dear husband,” she said, “do you still love me? Do you truly love
me?”
His eyes gave her answer.
“Here comes Conachúr,” said Ainnle.
“And a large person with him,” said Ardan.
It was Mainè Rough-Hand, son of the King of the Fair Norwegians,
they say; but others think it was Eogan, son of Durthacht, the prince
of Ferney.
“You shall die at the hand of a gentleman as befits your rank,” said
Conachúr.
“I shall be the first,” said Ardan briskly. “I am first in every great
deed,” he explained to Conachúr.
“Hark to him!” Ainnle laughed. “Respect your elders, young person,
and the heads of your family.”
But Ardan appealed to Mainè.
“Let me be first, sweet sir,” he pleaded. He turned confidingly to
Conachúr. “I cannot bear to see my brothers killed,” he said....
Deirdre knelt by the bodies, and she sang their keen, beginning:

“I send a blessing eastward to Scotland.”

When she had finished the poem she bowed over her husband’s
body: she sipped of his blood, and she died there upon his body.
SO FAR, THE FATE OF THE SONS OF UISNEAC, AND THE
OPENING OF THE GREAT TÁIN
Printed in Great Britain by R. & R. Clark, Limited, Edinburgh.
BY THE SAME AUTHOR
THE CROCK OF GOLD. Crown 8vo. 6s. net.
THE CROCK OF GOLD. With Illustrations in Colour and Black and
White by Wilfred Jones. 8vo. 12s. net.
HERE ARE LADIES. Crown 8vo. 6s. net.
THE DEMI-GODS. Crown 8vo. 6s. net.
THE CHARWOMAN’S DAUGHTER. Crown 8vo. 4s. 6d. net.
IRISH FAIRY TALES. Crown 8vo. 7s. 6d. net.
IRISH FAIRY TALES. With 16 Plates in Colour and other
Illustrations in Black and White by Arthur Rackham. Fcap. 4to.
15s. net.
THE ADVENTURES OF SEUMAS BEG: THE ROCKY ROAD TO
DUBLIN. Poems. Crown 8vo. 4s. 6d. net.
REINCARNATIONS. Poems. Crown 8vo. 3s. 6d. net.
THE HILL OF VISION. Poems. Third Edition. Crown 8vo. 6s.
net.
SONGS FROM THE CLAY. Crown 8vo. 4s. 6d. net.
LONDON: MACMILLAN AND CO., Ltd.
Transcriber’s Notes:
A number of typographical errors were corrected silently.
Cover image is in the public domain.
Table of Contents added.
*** END OF THE PROJECT GUTENBERG EBOOK DEIRDRE ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.

You might also like