第 一 章

观　念　篇 



认 识 自 己

－－什么是巫师？ 
　　巫师是创造者，程序设计师，负责创造玩家眼里的游戏世界。你可以创 造任何东西, 
这也使得巫师这个位置显得很重要且需担负很大的责任。 
当一个巫师代表你可以在瞬间取一个玩家的性命，对游戏系统造成很大 
的损害，或是建立一个人间天堂。任何你想得到的都可以做到。 
　　在目前的大陆，专职的巫师是很少见的。这恐怕主要是因为ＭＵＤ这个 
游戏还没有一套成熟的商业运营机制来使它产生经济效益，并以此养活 
那位专职的巫师吧！大多数巫师都是走的 玩而优则巫 的道路。很难想 
像：一个从未玩过ＭＵＤ的人会有多高的热情和动力去承担如此艰巨、 
而且是无报酬的工作。但并非说玩得好的玩家就一定要去做巫师，有人 
就是天生的玩家。流行的对于巫师有专职与兼职之说，这是指在一个 
ＭＵＤ与两个或多个ＭＵＤ担任巫师之分。我们的观点是坚决反对兼职 
巫师的，以下摘录的一段文字很能代表我们的看法： ----------------------------------
---------------------------------- : 
对于目前大部分的wiz兼职实在对于大陆泥巴这个freeware 是最大侮辱了 : 
我对于巫师的看法就是该诚恳的，勤奋的，付出在自己最热爱的一个mud : 
而不该去其他的mud寻找所谓的新的创意，或是一个等待开发处女，如果 : 
大家的目的是需要提高中国泥巴的整体水平的话，大概你一个单兵作用不 : 
大吧，那可需要的是一个整体的力量。 : 兼职的巫师本身就是一种浮华的类wiz 
,他们有点技术，热忠于这个那个的 : 
mud串门做个嘴片子，本身精力也许很多，有任务也许完成，下网了就也许 : 
满足于自己名片颇多。 : 
如果要获得新的想法，需要在其他mud当巫师才能获得吗？那不是成了看别 : 
人的工作成果，“启发“自己的新想法？这... : 如果觉得另外一个mud比现在所在的mud 
更能体现自己的想法思路或风格， : 那: 
坚决的全身心的投入到那个更理想的mud里哪，如果觉得现在呆的mud : 
没发展了。那呆着也是惹那一身烦嘛！居然有人在自己不喜欢的mud里当 : wiz ，这... : 
mud 本身就是体现一个创作群体的思想，现在大家对于mud的观念特奇怪， : 做wiz 
的等待admin发任务，admin 抱死自己的权利，不去发现wiz们的长 : 
处而只知道门派、地图、daemon的下任务，有技术的wiz抱怨工作简单、无 : 
聊，需要提高的wiz抱怨石头太硬。这就导致了巫师这个群体成个很官僚的 : 
状况，如果大家真心的做个mud，又何至如此呢。 : 
还有就是兼职也导致侵犯某些codes的作者的权利，甚至有人拿着这边的程 : 
序到那边去申请职务，这... : 
如果大家真心要把自己做的门派，或是得意的程序奉献给大家，那建议把 : 
那些程序放到自己的主页上呀，好坏自有公论嘛，而且大家在你的主页上 : 
经过讨论，或者对你是个更大的提高呢，这样大家知道是你的程序，觉得 : 
保证你的权利。freeware,sigh，到了中国这个福地，什么都变味了，人们 : 
换着法子的保护自己署名的权利，更大一群人拿着去掉开发者的署名的程 : 序做开发. 
这... 是freeware 的精神吗？限制巫师兼职根本就不是一种可 : 
以用来限制的条件，只是一相情愿的愿望而已。（有删改）

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.54.141] --------
-------------------------------------------------------------

&&－－巫师的观念： 
　　巫师是什么？巫师并不是神，神只是提供我们服务器、提供我们站点的人 
物，在我们这里，他们被定义为(gods)，真正的巫师都是同玩家一样通过 
远程登录上去的用户——只是一个拥有较多权限的超级用户而已。因此本 
质上也是一种高级的玩家，但他所遵循的原则却要绝对地高于玩家。

**** 争吵 **** 
　　巫师：永远不要与玩家争吵。如果你觉得自己错了，请于第一时间去改正 
它，第二时间再向玩家说明。要是觉得丢面子的话，就保持缄默吧。如果 
你觉得自己没错，就不要理会，对方再纠缠下去干脆 kickout....有些事 
情是越争越越乱、越争越糟糕。还有一点：你如果上线时手头有事情要处 
理或者没有二十分钟以上的闲功夫，奉劝你不要现身，隐身处理事情算了。 
　　玩家：永远不要与巫师争吵。如果你觉得自己对的，尽可能地去post或 
mail，如果觉得自己未被重视受到了伤害又不大可能得到补偿，你可以拒 
玩这个站点。如果你发现是你自己错了......你完了.........

**** 要求: **** 
　　巫师：永远不要对玩家提出要求。如果你觉得确需限制，就直接设计出程序 
，只要他们在规则的允许之内，任由他们发展。一个好的巫师是完全通过他 
的程序来实现对世界的调控，而不是言语。话多的巫师工作将会很累很累。 
　　玩家：请不要对巫师提出出格的要求。这是一种很不健康的思想，理论上， 
玩家与巫师应该是有某种正式的沟通管道，而尽量减少私底下的交易。也就 
说，巫师应该只是制订规则、写区域、管理维护 MUD，而尽量减少介入玩家 
的生活或成长过程。玩家也应该要尽量不要要求不在巫师工作范围内的事情 
，最常见的就是向巫师索取仙果、询问打开暗门的口令、某个秘密人物的所 
在。这种要求直接导致你在巫师心目中的评价直线下降。如果牵涉到要求改 
武功、提经验的地步的话，可能会带来进行坐黑牢的惩罚。而在此，我们还 
得指出一点，对于巫师来说“勿以恶小而为之”，最好的办法就是做一个铁 
石心肠的家伙，拒绝一切超越工作范围的事，否则，你还是去做一个“新手 
指南”的玩家好了。

**** 脾气: **** 
　　巫师理论上不应该有任何的脾气，这也许有点不尽人情，但是我们对每一个 
巫师都这样建议，上线前深呼吸几次。一上线先hihi，遇到事情先hehe，实 
在脾气上来压也压不住时，你干脆就quit再拍桌子跺脚大叫几声：“老子再 
也不做巫师了！”然后心平气和地再 login进去，巫师当然还得做、程序也 
还得写、丑话还得听。人们不是常说：“我们都有情绪因为我们不是神仙” 
，哈哈！现在你一在线，你就已经是神仙了。所以........

**** 动力： **** 
　　一个纯义务的、没有报酬的工作，初期的那份新鲜劲会随着没完没了的程序、 
函数而消磨怠尽。因此你得不时地给自己寻找动力。善始善终，巫师应该是程 
序员届最能考验人的工作之一。

**** 水平 **** 　　怎么你也得了解一下 MUDOS吧？实在不行，大致有个概念也成。对于 
LPC你总 弄懂吧？你所工作的MUDLIB不看完也说不过去吧？也许你目前还不行，但你若 
真的想当一名好巫师，你就得朝这个目标去做。

&& ——巫师权限简介： 
　　大总管(gods)：这个级别的比较特殊，一般是由你服务器所在单位的工作人员 
或管理人员担当。严格意义上，只有他们是神。神可以什么事都不做，却可以 
决定任何事情。不要去向神要求什么？你所要做的事除了沟通就只有祈祷。当 
然，对于神来说，除了到处goto和参预巫师频道的讨论外，他们也不必要过多 
的档案处理权。因为服务器就在他们的身边，任何制约对于他们来说都是可笑 
的，“神打了个呵欠，地上就刮了三个月的风暴”......... 　　天神(admin) 
：游戏的实际管理人，在游戏中所有事情的最后决定者。事实上 
他们只是神的使者的意义。天神唯一的限制就是不能（确切说应该是不准）修 改 /LOG 
下的文件，那里只有真正的神（大总管）才能通过服务器的操作进行 删除。 
　　大巫师(arch)：天神的助手，一般都是由熟悉系统架构的人来担任的。大巫师 
也是执行多数区域的 QC 的人选。只有一些涉及系统更动的问题，才必须通过 
天神进行更新操作，大巫师与天神没有职责上的区别，只有处理权限的不同。 
　　巫师(wizard)：写区域的人, 请乖乖的遵守所有的巫师规则. 
　　巫师学徒(apprentice)：练习生。在这个阶段，你的工作是先熟悉环境和相关 
规定。调适一下你的心态，并确实的知道当巫师所负有的责任. 

&&－－一些见议： 
　　当巫师好像是在当创造者，任何你想得到的东西都可以通过程序做到。因为这 
样，请你动手前务必多想想，先把后果想清楚了再做。如果不幸出了些差错， 
也请完完全全地负起责任并承担后果。永远记住，你的一举一动，不论大小， 
对这个游戏都将造成一些影响，请尽量让这些成为正面的影响。 
善待你的同事并尊重你的上级，巫师级别的划分并不一定是完全反应着能力的 
高低。而实际上略通编程技巧的人也都知道，一个wizard可以很轻易地把自己 改为 
admin，而事实上你也别去动这个脑筋。巫师守则的遵守只是靠相互信任 
与自觉。原理上，用程序我们是可以完成任何事情。系统中的各种防御及记录 
体系也都是防君子不防小人的，但是我们不希望在程序中看到巫师物品，即使 
必须要有，一定要加上对使用的人的权限判断，我认为有写巫师物品的时间还 
不如多设计几个谜题算了。


认 识 工 作


－－在开始制作之前 　　让我们大略看一下在LP MUD，即所谓战斗 MUD中, 
世界的构成方式。这个世界 是由一个个的对象(object)所组成, 
每个对象有一个对应的程序来描述它的特 性。在游戏中所见到的每个房间，每个 
npc，每个物品，甚至你自己，都是一 个object，都是一段程序。 
　　我们首先写出一段程序来创造出一个全新的对象，然后利用update来更新对象 
所属的程序, 再用 clone来实际造出一个可用的对象。在这里所谓更新，就是 
将硬盘里这个文件编译后形成一段代码，这段代码是存在在内存中的。在MUD中 
，程序只有进了内存方可执行。因此当你修改了或新写了一个文件，那只表明 
你在硬盘上改动或创造了这个文件，你必须做一下update，将它编译放入内存， 
你的修改和创造才正式生效。而clone命令其实就是update+move，因为它update 
的是一个物品或npc，这个物品或npc还需要有地方放。看起来吃力吗？没关 系，当你对 
updata和clone的操作十分熟悉后，再想想这段话，你就会caht* oh 在系统里, 
我们可以制作各式各样的对象, 但是都可以将之划分在三大类里面: 
房间、物品与生物。在制作区域时, 我们习惯将区域放置在根目录下的/d 目录 
。房间的档案就直接摆在区域的目录下，生物与物品则摆在这个区域中名为npc 
及obj的子目录中。 

&&－－制作的基本品质要求 　　所有的 
MUD都有自己的风格、发展方向、跟程序品质的要求。由于这些东东与程 
序是否能通常执行关系不大。有时仅仅只是一些个人习惯而已。作为MUD这么一个 
集体创作的作品，这种习惯就有必要有一个集体性的统一，这种统一大约是随著 主持这个 
MUD的admin而异。事实上又由于每个admin对mudlib的了解程度不一， 
所以对品质要求的深度也不同。以下是我们“无锡 MUD巫师组”对各位新加盟的 
巫师的品质要求：

**** 命名 **** 
　　命名的一个基本原则就是简单直观。一般我们要求使用中文的拼音，如果其英文 
名很熟知并确实比拼音短小直观的情况下，也可使用英文，当然也包括那些已经 
约定俗成的如：room、eat、food、cloth等。在使用拼音时，要遵循下列要求： 
１，请尽量保证发音准确，没把握请查字典； ２，两字词直接连写，例：大门 
damen.c，超过两字请使用隔断符号进行间隔，以免 出现难以辨读的情况。 
３，隔断符号分“_”和“-”两种，它们两者的区别在于前者两边的关系是修饰的、 而“-
”两边之间的关系是并列的。东客房可以写成dong-kefang或者是kefang_dong 
，两者之间的区别相信不需要我再多说了吧。 ４，四字词应在两字中间用“-
”隔开，象wuxidayu应该写成wuxi-dayu。三字词请选 择好隔断的部位。象老管家lao-
guanjia就不能写成laoguan-jia，这些看起来似 
乎有些罗嗦，但的确是必须养成的一种良好习惯。 
　　此外，命名最好形成统一的规范，不管在哪里当巫师，一定要先仔细看一看那里 
的大部分文件的命名格式，尽可能地与前面的文件相融合。

**** 目录 **** 
　　目录原则上没有什么过多的限制，有一些传统，你可以通过阅读整个系统的文件 
来看明白。一般的区域放在/d目录下，每一区域中下面再包含npc与obj两级子目录 
，用于放置这一区域里的人物与物品，一般不要再增添其它的有关子目录，而可以 
教授武功的人物请放在/kungfu/class/下的同名称的目录下，我们所要提醒的一点 
是，在新的区域目录的设置上要相对合理，里面文件过少，就请合并至相近的一个 
目录中，如果太多，也要尽量拆成两个目录。以免给日后对该目录的操作造成不便。

**** 程序 **** 　　程序语言相当简单，但是良好的习惯必须在一开始养成。 
１，程序必须缩排整齐，缩排一律用 tab (相当於 4 的空格)，虽然缩不缩排无关程式 
是否能够执行，但是如果你是一个只求程式执行正确，而不管别人是否容易阅读， 在 
Mud这样一个由多人共同发展程序的环境中将会十分惹人反感。

例：请采用类似 　　if(...) 　　{ 　　　　if(...) 　　　　{ 　　　　　... 
　　　　} 　　　　else 　　　　{ 　　　　　... 　　　　} 　　} 　　else if(...) 
　　{ 　　　... 　　} 　　else 　　{ 　　　... 　　} 　　的风格，不要采用 
　　if(...){ 　　　... 　　} 　　这样的风格

２，开头的注释行并不是可有可无的，最起码得让你的同事对这个程序有疑问时知道找谁？
并建议是加上编写和修改的时间。

　　// 该文件完整的绝对路径 中文名称 　　// 作者完成或者是最修改日期 　　// 
如有对该文件的重要说明，请写在这一行

３，对于房间的描述应该整齐划一，至少在同一区域下的场景描述都需保持一致。每行控制
在57至61个字节之间，建议人物20个字，房间30个字一行。对于人物的描述，出现的信息提
示也遵守这种规则。

４，档案路径名称最好和绝对路径无关，这样当你的程序在整个目录被移到另一路径下后仍
然能够正常运行，为此你可以用 __DIR__ 
这个由MudOS提供的巨集定义表示这个档案目前所在的目录(__FILE__表示目前这个档案的档
名)，即使移动之后必须做修正，最好也限於某个 .h 档案。

５，档案中尽量不要直接调用其它目录下的 NPC 或 OBJ 
，为扩展性着想，至少房间一定要调用自己目录下的。当然 /CLONE 
目录下的除外，如确需要，请直接在自己的目录下复制一份。如果确实发现各个目录对该文
件的调用率很大，不妨申请大神直接在 /CLONE 目录下设置。

６，语言风格也许与写作的各个人有关，但是我们这里的金庸风格是十分明显的，什么该有
，什么不该有，最笨的方法就是翻翻原著。我们不希望在你创造的区域发现一块德芙巧克力
或者是冲锋枪。同时我们也希望区域的设计需要有相当的「原创性」，现在侠客行上衍生出
的版本非常之多，我们不希望我们巫师只是在这其间东抄一点、西窃一点。能用自己想出来
的东西，最好回避跟一些太出名的作品雷同的东西。在制作时，有关的地理、历史以及相关
小说应该是一个好的巫师的必备参考书籍。

７，所有的讯息必须正确而且适当，所谓「正确」是指基干一般常识必须无误，例如：某人
拉开一张桌子，自己看到的是“你拉开了一张桌子”，旁观的人也能看到讯息，但却应该是
“某人拉一了一张桌”，各有不同。而如果是某人看到桌子心中不由一惊的讯息，旁观的人
就不一定能看到了。所谓「适当」是指讯息出现的地方、讯息的长短、标点符号、颜色、出
现时间必须尽量合乎真实世界的情形，例如人物add_action的讯息应该要能适当地表达出动
作者的立场，不能有看起来怪怪的感觉。写作的时候，应该多想想：现实中应该是怎么样的
？

８，景物或物品的设置必须合理，如一株可以爬的树你可以把它写成房间的景物，也可以用
一个物品来表示树的存在(可以砍下来带走)，但是一个可以钻进去的地洞就不应该写成一个
物品，虽然在程序上是可行的，但却是绝不合式的。

９，人物的强度必须合理，我们这个 
mud虽然采开放式的属性系统，但是另一个重点是：NPC 和玩家是同一个世界的人，NPC 
的作用不能作为它具有变态能力的理由，换句话说 
NPC的「强」必须有故事背景设定上的理由。
请先参照各门派掌门的强度，作为假设的玩家强度水准上限，NPC 
没有特殊理由不应该强过这些人，而且这种强度的 NPC 应该是十分「少见」的。)

１０、武器装备的强度必须合理，和 
NPC相同，强力的装备也就是宝物应该是十分罕见的。
１１、区域的大小与其中所含的「机关」必须成正比。在这里我们给出一个数字，如果你的
区域每过10个房间，都全是一堆用房间编辑器做出来的改改叙述、名称和数字的房间、NPC 
、装备或物品，那对于这种阳春区域，我劝你还是自己收回去欣赏、不要作任何通过你上级 
QC 的可能性幻想。

　　此外，还有一些编程原则是必须遵守的：

一、自己定义的函数，在文件开始最好有一个函数原型的定义声明，每个函数前有一个简单
的说明也是基本的要求。而一些复杂的地方也最好加上注释。因为在线解决问题时是经常要
查看源程序的。

二、若要完成复杂的功能需要对/d、/kungfu以外的目录增加或修改文件，需要先征得大巫

 的同意。
三、做复杂的物件时，尽可能将一些日后可以通用的功能做成inherit或include，以方便以
后的编写。

四、为兼容性、稳定性考虑，除非迫不得已，不要直接调用EFUN。

