Table of Contents
preface xi
acknowledgements xii
author online xiv
overview xv
introduction xxii
programming examplesx xviii
1 Hijacking a computer program to create artificial life 1
1.1 Multimedia players: The biological cells of the Internet 4
Giving control to the client 7
1.2 Client-side control 8
1.3 Practical reality 9
1.4 Who is the designer of an avatar? 11
Where is the intelligence? 11
1.5 Choice of A-Life avatar cell engine 13
1.6 Creating an A-Life avatar cell 14
1.7 The cell portal 17
1.8 The cunning plan 26
Creating an object from the client side 27
1.9 Summary 31
2 Add-ons, plug-ins, Xtras, and supplementary engine code 33
2.1 Creating an avatar 42
2.2 Summary 52
3 The ability of documents to take control 53
3.1 Tagged text and parsing 54
3.2 Auto control, rogues, and viruses 66
Thinking time 69
3.3 Control by email 69
3.4 Where and what is the avatar? 77
An avatar on the Web 77, Rogue documents 80
3.5 Transferring documents from the Web to the local system 81
3.6 Creating frames and frame scripts on the fly 84
3.7 Importing nontext documents from the Web 91
3.8 Summary 95
4 The creation of complex systems 97
4.1 How to safeguard an avatar system against rogues and viruses 100
4.2 Intranets 101
4.3 Object-oriented design strategies 102
4.4 Adaptability and metamorphosis 105
4.5 A business as an object-oriented structure 106
4.6 Presenting a new concept 109
4.7 Interaction with the Internet 114
4.8 Tricks and illusions with intranets 117
4.9 Avatars as marketing tools 120
4.10 The illusion of bots 122
Bot party 123
4.11 Summary 129
5 The practical aspects of programming an A-Life avatar 131
5.1 A recap 132
5.2 Examples of avatar application 134
5.3 The dimensions of a computer environment 135
5.4 Structure of the A-Life avatar cell 137
5.5 Separate casts 145
5.6 Onscreen presentation--sprites, frames, and scores 147
5.7 The human/avatar communication interface 155
5.8 Lists of pointers 161
5.9 Objects and behaviors 163
5.10 Movies in a window 165
5.11 A-Life avatar cells and the Internet 168
5.12 Practical avatar technology 172
5.13 Summary 174
6 An avatar interface to the Internet 177
6.1 Converting real world to virtual world 186
6.2 Bringing in customers 193
Bringing a new customer into the cafe 194
6.3 Filling the cafe with customers 200
6.4 Virtual objects 205
Reconfiguring virtual objects 211, Are objects in RAM or onscreen? 212
6.5 Expansion of the cafe concept 214
6.6 Summary 217
7 The opening of a new paradigm 219
7.1 A client-controlled door to external avatars 223
7.2 Setting up a menu in an A-Life avatar cell 223
7.3 From cast document to avatar 229
7.4 Thinking Time 237
7.5 Adding to an object's abilities and knowledge 238
The customer object shows what it has learned 244
7.6 The flexible virtual object 247
7.7 Discriminative message passing 252
7.8 Summary 255
8 Getting an avatar to make decisions 257
8.1 Responses and reactions 258
8.2 Avatar response to environmental prompts 262
Encroaching on the world of science fiction 268
8.3 Message passing 269
8.4 Summary and conceptual implications 275
9 Emotive decision making 279
9.1 Intelligent objects 280
Joe's brain 281
9.2 Emotional decision making 286
An abstract view of emotions 288
9.3 Considering other options 293
9.4 Conditioning Joe to deal with new situations 296
9.5 A generic Joe object 300
9.6 Influences that change Joe's emotions 304
9.7 Nonlinear systems and artificial intelligence 306
9.8 Summary 306
10 Hilbert space 309
10.1 Hilbert space and genetic algorithms 310
10.2 The strange concept of a multidimensional space 311
10.3 Hilbert space 314
The use and power of Hilbert space 316
10.4 The genetic algorithm 319
10.5 Function replication 321
10.6 Complex structures in Hilbert space 328
10.7 Emotions and strategies in Hilbert space 331
10.8 The Web, avatars, and Hilbert space 333
10.9 Extending Hilbert space to include CD-ROMs 336
10.10 Worth a thought 338
10.11 Modeling "thinking" in Hilbert space 340
10.12 Nonlinear results and rules in the environment 343
10.13 Evolution ofa heuristic strategy 353
10.14 Different types of genetic algorithms 355
10.15 Summary 357
11 The merging of the silicon and biological worlds 361
11.1 Computers and biological systems--a common abstraction 368
11.2 The enigma of a virtual object 371
11.3 Resolving the difference between biological and A-Life avatar cells 375
11.4 Using avatars as links to the Internet 381
11.5 Commerce--the energy driving the evolution of the Web 388
11.6 The wormhole 393
11.7 Conclusion 394
11.8 Summary 396
epilogue 399
references 402
index 409