公会大厅(Guild Halls):暗黑破坏神 II 失落的公会城堡
《暗黑破坏神 II》的公会大厅不是一个聊天频道,而是一块永久保存在 Battle.net 上的私人领地。
成员可以在这里聊天、交易、集结,通过向“斯蒂格之石”投入金币,让最初的小屋逐步成长为大厅乃至城堡。
这套系统在游戏发售前被取消;《毁灭之王》之后,它又曾随着第二部资料片《Diablo II: Salvation》的构想获得重生机会。二十多年后,游戏文件里仍留下十张公会地图、交互对象、界面和本地化文本。本文把公开资料与这些遗存放在一起,并记录公会地图色盘的复原过程。
参考资料源于这两篇文章,包含大量原始的记录。
公会构想
公会大厅不是临时创建、打完就消失的房间,而是一块长期保存在战网服务器上的私人领地。
一个角色通关以后,就可以建立自己的公会。 会长能够设定公会名称、标签、徽记和代表色, 公会标签会显示在公会成员的名字后,也只有公会成员能够进入公会地图, 这里既是安全区,也是成员聊天、交易、集结和展示身份的共同家园。
大厅最初很小,只有简陋的房屋和第一幕风格的草地。 成员可以把金币投入“斯蒂格之石”,让公会大厅逐级扩建。
北暴当年想做的,正是让一群玩家真正拥有一个共同的地方:能聚会,能炫耀,能成长,也能亲眼看着自己的公会从一间小屋,成长为一座大厅,甚至一座城堡。
废弃的原因
1999年11月,暴雪已经公开过公会房间的游戏截图;

同年12月,前往北方暴雪参观的媒体也亲眼见到了开发中的公会内容,游戏文件里还留下了大量数据和资源,它真正进入过制作阶段。
但在2000年3月24日,暴雪正式宣布:公会不会进入内测,也不会进入最终发售版。
"公会不会出现在内测版中,也不会出现在暗黑破坏神II的最终发售版中。在开发过程中,我们清楚地认识到,要让公会做到无懈可击、平衡且完全安全,会推迟暗黑破坏神II的发售。这需要对暗黑破坏神II、Battle.net 的客户端-服务器架构进行根本性的重大改动。测试和至关重要的平衡调整会让我们的玩家等得更久。为了把游戏尽早送到玩家手中——我们不得不决定放弃公会。请放心,我们正在探索在暗黑破坏神II发售之后加入公会的方法。"
公会大厅死于服务器架构、安全性和发售期限。 北暴当时说,他们会继续探索在游戏发售后加入公会的方法,玩家曾经相信过:也许等《毁灭之王》完成以后,这些东西总有一天会回来。
在第二部资料片中
《毁灭之王》之后,北暴考虑过第二部资料片,它的暂定名是《Diablo II: Salvation》。
第二资料片没有真正进入制作。戴夫·布雷维克后来形容,它“只完成了设计,从未真正生产”,他手里有一份设计文档,包含新职业、新区域、新机制和故事概念。 环境设计师戴夫·格伦也明确回忆,自己做过公会大厅的原型。
第二资料片想做的,并非简单增加一幕地图、一个职业,再让玩家重新通关一次。它试图重新回答《暗黑破坏神2》从开发初期就没有解决的问题:除了反复刷怪和打装备,玩家怎样在Battle.net上形成真正长期的关系?一群人怎样拥有共同目标?游戏结束以后,他们为什么还愿意回到同一个地方?
「我在《暗黑破坏神III》上想做的、也是我们在《暗黑破坏神II》上本该做的——我们确实做了,然后它被取消了——就是再出一部资料片,引入更多类似 MMO 的功能。」戴夫·格伦(Dave Glenn)补充道。
既然这个资料片的核心就是多人内容,公会系统自然获得重生的机会。
“斯蒂格之石”也被延续下来。它以设计师斯蒂格·赫德伦德命名,这是一座只能存、不能取的金币池。成员把多余金币扔进去,系统用排行榜显示谁贡献得最多。
只能存,不能取,这笔钱好像没有回报。可戴夫·格伦想验证的,正是另一种驱动力:如果一群人能够共同建设某样东西,仅仅为了公会的成长、排名和同伴的认可,他们愿不愿意不断投入?
「第二部资料片的职业之一是个治疗型职业——牧师/圣职。」戴夫·布雷维克说。「我们想要一个专门反亡灵(anti-undead)的牧师职业。我还记得写出这个想法时的情景,写完之后我心想:『天呐,这玩法一定会非常有趣。』它主要是面向多人(multiplayer)的职业,能够根据队友受到的伤害来提供治疗之类的。它不是那种直接治疗——不是『我站后面给所有人加血』那种。它是一种非常不同的玩法。我们实际上已经为每一个职业都做出了想法、概念和新的技能树条目,这些全部是面向多人的。」
资料片还加入一个偏治疗、专门克制亡灵的牧师职业,也能翻译为圣职。 它不是站在后排不断给队友直接加血的传统治疗,而是根据队友受到的伤害产生不同效果,他们为所有已有职业都构思过新的、偏多人协作的技能树条目。
It was only designed, never produced. I had a multi-page design doc going over new classes, new areas, new mechanics and story concepts. Not sure what I can say because Blizzard owns it. 它设计好了,从未制作。我准备了一份多页的设计文档,介绍了新职业、新区域、新机制和故事概念。但我不能透漏更多,因为版权在暴雪手里。 ——戴夫·布雷维克(Dave Brevik),暴雪北方联合创始人
不过他无法向我们透露更多内容了,因为版权在暴雪手里。
Salvation 因为人们对《暗黑破坏神III》可能性的高涨热情而被取消。「我们觉得原样再来一遍会有点枯燥(grind),是时候往前走走、做点别的了。对一些人来说,那意味着做暗黑以外的事;而另一些人则说:『就做下一部暗黑吧。』」麦克斯·谢弗说。
团队对暗黑3的热情更高,他们觉得在同一套游戏框架里再做一轮内容,重复且疲惫。
于是《救赎》就被放弃了。
2002年,暴雪还申请过“Diablo II: Salvation”的商标。它在多次延期后始终没有提交实际使用声明,最终于2006年被放弃。
不过他们在1997年,也申请过这个商标,那时候暗黑2刚刚启动开发,这时候的救赎肯定不是指资料片2 暴雪电影部门确实希望将游戏CG能力发展为完整电影制作能力, 申请这个商标,应该是为了给自己的电影提前布局。
《暗黑2》过场动画团队希望建立更正规的制作流程。Blizzard Entertainment的电影部门成员Harley Huggins解释其动力: “One of the driving forces behind that was we were going to make a movie eventually…”
是暴雪打算制作一部电影,他们希望证明自己不仅能制作片段式过场,也能讲述完整故事。
他们没明确提到竞技场,但是既然这个资料片要增强多人体验,竞技场大概率也是会回归的。
| 项目 | 书中内容 |
|---|---|
| 名称 | 暂定名 Diablo II: Salvation(非最终) |
| 定位 | 《暗黑破坏神II》第二个资料片 |
| 结局 | 被取消,团队转向《暗黑破坏神III》 |
| 新职业 | 牧师/圣职(Cleric)——治疗型、反亡灵专精、主打多人、非直接治疗 |
| 职业设计深度 | 已为所有职业完成多人向的新技能树条目 |
| MMO 功能 | 公会系统:可花钱升级的公会城堡,城堡+周边土地构成独立游戏房间 |
| 公会大厅原型 | 已做出原型:Stieg Stone 金币存放处 + 排行榜;钱不可取出;纯奖励驱动 |
| 关键人物 | Dave Brevik(牧师职业构想)、Dave Glenn(公会城堡/大厅原型)、Stieg Hedlund(命名致敬)、Max Schaefer(取消决策) |
| 取消理由 | "再来一遍真是枯燥费力";团队热情转向 D3;部分人想换题材 |
公会大厅地图
我们能从公开资料得知的是
公会大厅只能在 Battle.net 上访问;
通关游戏就能创建一座公会大厅;
会长有权挑选一个名称、一个出现在所有成员名字后面的三字母缩写、一套双色方案,以及选择徽章来代表公会;
公会大厅是永久性的聚会场所,它安全而私密的,只有公会成员能进入公会大厅 ;
公会大厅一开始很小,只有一间带户外草地(可以在里面嬉戏)的房间;
向史蒂格之石投入金钱,大厅就会扩展,并加入更多功能,还可以更换地图风格;
史蒂格石可以不断捐钱,玩家会看到贡献排行榜,里面的钱只能捐不能提。 第一次升级要花35,000金;
公会大厅里面不能决斗。
公会大厅像是面向公会成员的战网村,看上去他们依然追求一个更沉浸,连续的游戏世界。 好在游戏里残留的数据也不少。
现存10张公会地图,但是色盘文件已经丢失,用A3色盘打开,颜色整体发绿。
甚至地板也是绿的,地图的噪点也很明显,显得很脏 
好在我们有当前官方公布的一张图做参考,这样就有机会复原色盘。
不难发现,地图风格和A1的一样, 同时公会地图也是一种城镇地图, 从野蛮人的待机动作可以看出来,野蛮人在野外是会举起两把剑的,其次斯蒂格石和现在造型也不同。

有了参考,色盘复原才成为可能,需要把官方图和现状图做像素的1:1还原。地图上存在拉苏克,安亚这些人物来重建红色,以及公会地图利用了大量A1同款的土地,草地贴图,从而重建绿色。
这是几轮的迭代图片:



当前复原效果, 并且结合了圣髑Mod的特制调色,显示效果很好。

1. Cottages-农舍
这只是一个简陋的公会小屋,和资料吻合,是最初级的公会大厅。
它呈现为A1的房屋风格,拥有壁炉,书架,和公会最基本的配置,它也拥有野外活动空间,这里还站了一个NPC。

![]()
2. Guild/house1/guild1.ds1
现在我们突然有了一个公会大厅,看起来像一座城堡,空间大多了,但没有看到更多物件,而且这是一张孤立的地图 。

3.Guild/house1/guild2.ds1
这张是重复的

4.Guild/house1/guild3.ds1
也就是多了个公会金库,没有很大变化。

5.Guild/house1/guild4.ds1

多了一个旗帜。
6.Guild/house1/guild4b.ds1

这张大有不同,除了大厅样式不一样,还附带一个广阔的城外区域。
作者摆放很多NPC,在这种概念图里应该是起到一个模拟玩家,烘托人气的作用。
野外还有篝火,货车,牛棚,不过里面没有牛。
![]()
7. Guild/house1/guild5.ds1

多了个旗子。
8.Guild/house1/guild5b.ds1

这张是规模最大的一张,大厅还多了椅子和桌子,照明蜡烛,相比之前的地图,野外的布局也不同,不过差别不大。
![]()
![]()
9.Guild/house2/guild2.ds1

这张完全是另一个风格了,和第一张图一样, 屋内的陈设很特别,书架,个人储藏箱,还有个摆放了画作的房间,很适合一群人聚会。
![]()
10.Guild/house2/guild3.ds1

多了一个房间,房间里面多个公会金库,多了几幅画,鹿头, 看来这个房间就是用来展示纪念公会的成果和荣耀的,新房间是个厨房,很适合一群人过家家。
![]()
野外多了两个房子。
![]()
![]()
看了这么多,明显是可以看出来,公会地图随着升级不断扩大,加入新东西,并且有不同的风格,这里就有城堡风和农舍风。
所有公会图,默认是A1草原的音乐,游戏内没有独属音乐。
交互对象与UI
公会拥有若干可交互对象。
1. 斯蒂格石: 公会最基本的物件,和它交互是这个界面。


明显是配置公会信息和捐款排行榜的,配合资料和遗存的本地化文件,大概推测了下这些控件的功能。
![]()
官方提供了32种公会徽章,前景色和背景色可调。

游戏里还留存32张彩色的徽章原图,贴上去是这个效果。
![]()
2. 公会金库
公会竞技场残留数据,是2000年6月的非资游戏就已经携带着的, 所以这个箱子大小,也停留在了10 * 4的时代。


上面有一块空间可能是展现玩家写的物品描述的。
3. 战利品柜
公会地图里面没出现。和公会仓库很像,然而谁有权限从箱子拿东西,战利品柜特殊在何处, 是目前并没有资料来回答的问题。


下面骷髅和老头的装饰,刚好就是资料片的人物栏装饰。
![]()
4.留言板
前面的公会地图里面没出现,留言板的资料几乎没有,也没有界面遗存,但从名字上,也能知道大概功能了。

5. 公会传送门

描述上说传送门会带你去下一级的公会地图, 所以估计是玩家捐钱升级了公会地图,然后出现个传送门带在场的玩家去新地图。
最后还有功能不明确的UI:
公会天梯排名:





本地化文件
可以发现,它们至少规划了5个等级的公会,并且逐级解锁公会徽章,个人储藏箱,公会仓库,留言板,战利品陈列柜。
//Guilds
CapsJoinMenu4, strArena, "竞技场"
CapsJoinMenu5, strGuild, "公会"
Guild 1, strGuild1, "公会 1"
Guild 2, strGuild2, "公会 2"
Guild 3, strGuild3, "公会 3"
Guild 4, strGuild4, "公会 4"
Guild 5, strGuild5, "公会 5"
To Guild 5, strToGuild5, "前往公会 5"
To Guild 4, strToGuild4, "前往公会 4"
To Guild 3, strToGuild3, "前往公会 3"
To Guild 2, strToGuild2, "前往公会 2"
To Guild 1, strToGuild1, "前往公会 1"
CapsBnet9, strGuilds, "公会"
CapsBnet10, strEnterGuildHall, "进入公会大厅"
CapsBnet11, strInviteMember, "邀请成员"
CapsBnet12, strQuitGuild, "退出公会"
CapsBnet13, strCreateGuild, "创建公会"
CapsBnet14, strAcceptInvitation, "接受邀请"
CapsBnet15, strLeaveGuildConfirm, "确定要永久退出当前公会吗?"
CapsGuildName, strGuildName, "公会名称"
CapsGuildTag, strGuildTag, "公会标签"
GuildText1, strNoInvitations, "当前没有公会邀请"
GuildText2, strInvitationString, " 邀请你加入其公会。"
Ladder3, strGuildLadder, "公会天梯"
Ladder7, strSteegGold, "史蒂格金币"
gmGuildTitle, strGuildMemberTitle, "史蒂格之石雕像"
gmGuildName, strGuildNameLabel, "名称"
gmGuildTag, strGuildTagLabel, "标签"
gmWWW, strGuildWWWLabel, "公会网站:"
gmGuildCharter, strGuildCharterLabel, "公会章程:"
gmGuildCurrentGolds, strGuildCurrentGoldLabel, "当前金币:"
gmGuildNextLevel, strGuildNextLevelLabel, "下一级:"
gmGuildMaster, strGuildMasterLabel, "公会会长:"
gmOfficer, strGuildOfficer, "管理者"
gmName, strGuildPlayerName, "名称"
gmClass, strGuildPlayerClass, "职业"
gmLevel, strGuildPlayerLevel, "等级"
gmDonate, strGuildDonate, "捐赠"
gmRemove, strGuildRemoveMember, "移除成员"
gmPal, strGuildPal, "圣骑士"
gmSor, strGuildSor, "法师"
gmAma, strGuildAma, "亚马逊"
gmNec, strGuildNec, "死灵法师"
gmBar, strGuildBar, "野蛮人"
gmChangeSym, strGuildChangeInsignia, "点击此处更改公会徽记。"
gmChangeCharter, strGuildChangeCharter, "点击此处修改公会章程。"
gmChangeWebLink, strGuildChangeWebAddress, "点击此处修改公会网址。"
Guild Portal, strGuildPortal, "公会传送门"
createdguildsuccess, strcreatedguildsuccess, "公会创建成功。"
createdguildfailure, strcreatedguildfailure, "无法创建公会。"
inviteguildsuccess, strinviteguildsuccess, "公会邀请已发送。"
inviteguildfailure, strinviteguildfailure, "公会邀请发送失败。"
inviteguildins, strinviteguildins, "你已受邀加入 %s {%s}!输入 /d2guildjoin 即可加入。"
joinedguildsuccess, strjoinedguildsuccess, "成功加入公会。"
joinedguildfailure, strjoinedguildfailure, "无法加入公会。"
quitguildsuccess, strquitguildsuccess, "成功退出公会。"
quitguildfailure, strquitguildfailure, "无法退出公会。"
guildentererror, strguildentererror, "无法进入公会。"
strGuildMasterKicked, strGuildMasterKicked, "%s 已被公会会长逐出"
strGuildPerk1, strGuildPerk1, "公会徽章"
strGuildPerk2, strGuildPerk2, "个人储藏箱"
strGuildPerk3, strGuildPerk3, "公会仓库"
strGuildPerk4, strGuildPerk4, "留言板"
strGuildPerk5, strGuildPerk5, "战利品陈列柜"
strGuildPerk6, strGuildPerk6, "已无更多升级。"
strGuildGoldDonated, strGuildGoldDonated, "已捐赠 %d 金币"
strGuildDonateGold, strGuildDonateGold, "要捐赠多少金币?(当前:%d)"
gmGuildCurrentGoldPopup, strGuildCurrentGoldPopup, "已向公会捐赠的金币"
gmGuildNextLevelPopup, strGuildNextLevelPopup, "公会升级所需金币"
gmGuildDonateGoldPopup, strGuildDonateGoldPopup, "向公会捐赠金币"
Message Board, strMessageBoard, "留言板"
Trophy Case, strTrophyCase, "战利品陈列柜"
Guild Vault, strGuildVault, "公会仓库"
Steeg Stone, strSteegStone, "史蒂格之石"
guildaccepticon, strguildaccepticon, "是否接受该徽章"
guildmsgtext, strguildmsgtext, "文本"
*屑
*z
*呀
L*A
*手
*了
*铭
文章留言
这里很安静,还没有人说话。