# 外观

LLMS 索引： [llms.txt](/dvw/llms.txt)

---

新手往往认为虚拟世界的外观非常重要；老手一般更关心别的特性。

虚拟世界通常分为两类：文字型（text-based，textual）与图形型（graphics-based，graphical）。前者用文字来描述地点、物件和其他玩家，后者用图片。

不过，这两个极端之间其实存在着一个渐变的谱系。要接入一个文字虚拟世界，玩家需要与它建立某种软件连接。这种连接可以是直接的（例如从控制台运行游戏服务器、在它的提示符下打字），也可以经由客户端间接建立。如果用到了客户端，它可能是哑客户端、智能客户端或定制客户端。

严格说来，哑客户端除了输入和输出什么也不做：它把输入交给服务器，再把服务器发回的内容原样输出。不过，真正这么“哑”的客户端很少——就连 telnet 也能处理退格之类的小编辑功能。哑客户端之所以不做多少事，是刻意为之，因为这样它们就能用于更多种用途。

即便用的是哑客户端——甚至根本不用客户端——虚拟世界也不必只是一堆没有生命的文字。服务器可以给单个字母、单词、句子和段落着色（通常使用大多数 PC 都支持的 ANSI 标准），让最终显示出来的内容更美观、也更有意义。

智能客户端是为某一类用途而设计的；在这里，指的就是文字虚拟世界。这类客户端提供额外的输入功能（例如宏或触发器）和管理输出的工具（例如本地日志和自动换行）。这些功能本来仍然可以在服务器端实现、配合哑客户端使用，但如今大多数服务器作者不再费这个劲，因为他们知道，现在已经有这么多 [^52] 好客户端，人们几乎肯定会用上一个。

定制客户端只适用于与其共享协议的那一小部分虚拟世界（实践中通常只有一个）。客户端发给服务器的信息包描述的是输入内容，服务器发回来的信息包则告诉客户端该输出什么。输入协议通常并不太复杂，输出里却可以带有嵌入式代码，让客户端做出各种动作，比如切换字体、播放音效与音乐，或者显示图片。对文字虚拟世界来说，图片按定义就是静态的东西，这更像一本插图读物，而不是电影。不过，它也足以说明：一个基于文字的世界能走多远，同时仍然不会被归入图形化。

按经验法则，第一个时代和第二个时代的虚拟世界用哑客户端，第三个时代用智能客户端，第四个时代用定制客户端。

第五个时代（图形化）的虚拟世界也用定制客户端，只是显示信息的方式不同。客户端收到的信息包里含有可用来渲染场景的数据。这种渲染要么是 2D（网格化），要么是 3D（第一人称）；不过，用某种立体设备给场景带来纵深感的“真正的 3D”，以及由它发展出的完全成熟的 VR，无疑都不算太远了。

因此，对一个既不了解也不关心底层机制的新手来说，一个有活动画面、一个没有，两者的差别相当清楚；说到底，这个新手当初之所以会被其中一个吸引、而不是另一个，很可能正是出于这个原因。但对老手来说——他们明白，无论用什么客户端，实现虚拟世界本身的根本机制都大同小异（这些机制都体现在服务器上）——图形化世界与文字世界的区别，主要在于界面（尽管这个界面问题并不算小）。


[^52]: http://www.mudconnect.com/resources/Mud_Resources:Mud_Clients.html 上有一份客户端资源列表。
