游戏策划


看来你已经让Evennia启动运行了,而且在你心中有一个伟大游戏设想,现在是时候开始行动了!但是,从哪里开始呢?这里有一些工作流程的建议。请注意,本文中的建议只是建议,主要针对的是个人游戏设计爱好者或小团队在业余时间开发游戏。

以下是让游戏第一版与玩家见面的最起码的步骤。即使你现在正急着想跳过这部分内容直接去做游戏开发,试着按这些步骤做一遍仍然会给你很大的帮助。同时,你也应该一直对工作保持兴趣,否则会失去开发的动力。制作完整的游戏需要大量的工作,你需要全力以赴才能实现。

请记住,有99.99999%的游戏设想最终没能做成游戏,特别是可以在线玩的网络游戏。因此,我们压倒一切的首要目标就是打败上面的数字,把游戏做出来让它上线!即使上线的只是你梦想游戏的缩减版,缺乏许多“必备”的功能!先让它上线然后再扩展它,要比你一直闷头写代码直到有一天你失去兴趣或硬盘崩溃,一切都灰飞烟灭要好。

就像在网络游戏中常见的那样,游戏上线并不代表你已经“完成”了游戏 —— 大多数MUD游戏会常年添加新的功能 —— 它也是乐趣的一部分!


策划(第一步)

这应该是在你开始编写第一行代码或创建第一间房间之前做的事。许多优秀的游戏设计师都擅长这项工作,即定义出他们的世界是“关于”什么的内容的,包括:主题、世界观、很酷的怪物等等。这对定出游戏会具有哪些特别吸引人的地方很重要,但遗憾的是这还足以实现你的游戏,要做到这一点你还必须规划出如何用Evennia来实现你伟大的游戏设想。

一个良好开端是首先规划出游戏的基本特性、它们需要能做到些什么。下面拿一个很不完善的清单做例子(对于第一个版本的游戏,你应该使用更短的清单):

系统
这是你游戏的幕后机制,在游戏中通常没有具体的对象展现它。
  • 你的游戏规则是由代码系统强制执行,还是让游戏高手来控制、仲裁?
  • 实际的游戏判定规则是什么样的?即你如何决定一项操作是成功还是失败?你的游戏需要用什么方式来“roll”点?你的游戏是基于现有的系统建立,还是创建你自己的系统?
  • 时间的流逝会对游戏产生影响吗?有昼夜变化吗?那季节呢?或者你魔法系统会受月亮盈缺的影响?
  • 你想改变全球天气吗?这需要对大量的房间执行操作。
  • 你想要全游戏的经济系统还是简单的以物易物制度?或者根本没有正式的经济交易?
  • 玩家能在游戏中相互发邮件吗?
  • 玩家能在公告栏发帖吗?
  • 在游戏中你的员工层次结构是怎样的?他们需要拥有哪些权力?
  • 建造者能建造些什么?为此他们需要能执行哪些命令?
  • 等等

房间
考虑你游戏中最基本的房间。
  • 简单的描述够吗?还是需要让描述信息变化(比如随时间、光照、天气或季节变化)?
  • 房间需要有不同的状态吗?它可以有气味、声音吗?它会受剧烈天气、火灾或魔法的影响吗?如果受影响,房间里的物体会受到怎样影响?这些事情需要由管理员一件件手工处理?
  • 房间中的物体如何显示?是显示所有的东西,还是需要将一些东西隐藏起来直到你找到它?
  • 物体可以被藏在房间里吗?玩家可以躲在房间里吗?
  • 等等

物体
考虑你游戏中最基本的(不受玩家控制的)物体。
  • 物体有多少种?你是想给物体建一张庞大的掉落列表,还是物体只是角色扮演中按需创建的道具?
  • 游戏中需要用钱吗?如果需要,每个硬币都是一个单独的物体还是只记录银行帐户总值?
  • 物体有重量或体积吗(这样你就不能无限量地携带它们了)?
  • 它们会损坏吗?如果会,它有耐久度吗?可以修复吗?
  • 多个相同物体如何处理?它们可以堆叠吗?如何处理堆叠在一起的物体?
  • 武器是一种特殊类型的物体还是你支持拿着椅子打斗?那拿着花或拿着纸打呢?
  • NPC/怪物也是一种物体。它们该站着不动还是该具有某种AI?
  • 等等

角色
这是玩家直接控制的物体。
  • 玩家可以同时让多个角色处于活动状态吗?他们是否可以同时玩多个角色?或着在同一时间只能激活一个?
  • 玩家如何创建角色?使用角色创建屏幕?回答问题?填写表单?
  • 你要使用职业(如“小偷”、“战士”等)或其他系统(如以技能为基础)吗?
  • 如何实现不同“职业”或“种族”?他们是不同类型的对象,还是按照玩家的选择在基本对象上加载不同的数据?
  • 如果角色能隐藏在房间里,有什么技能可以探测到他们?
  • 什么技能可以让角色挥动武器战斗?他们是否需要拥有特殊技能来拿椅子战斗而不是拿剑战斗?
  • 他们是否需要力量属性来决定可以携带多少东西或可以打破哪些对象?
  • 技能树是什么样子的?它们可以积累经验吗?如何积累?
  • 等等

MUD游戏比你想像的要复杂得多,而且还要和复杂的网络结合在一起。它很容易变成庞然大物,而且还会诱惑你让你想在上线之初就实现全部功能。努力找出“构成”游戏的基本内容,在做第一个版本的时候只专注于它们。给它们列个清单,将未来扩展的想法保留在脑海中,要控制住自己。


编码(第二步)

这是创建你游戏中“游戏”部分的实际工作。许多“游戏设计师”类型的人往往忽略这部分内容直接跳到构建世界的部分;相反的,许多“游戏程序员”类型的人往往直接跳到这部分内容而不事先做好规划。这两种做法都不可取,会导致你不得不返工一次,甚至可能更多。

Evennia的开发者中心可以在开发方面帮助你。我们还有不少带有实例的教程。Evennia会努力让这部分工作变得容易些,但有些现实是无法回避的,如果你想做出比最基本的聊天类游戏更复杂的东西,你就只能咬紧牙关编写游戏代码(或找一个愿意为你工作的程序员)。

即使你不想自己编码,作为设计师你至少也需要了解Evennia的基本模式,如物体命令脚本,以及它们是如何结合在一起。我们建议你仔细阅读世界教程(同时也看一下它的代码),至少对幕后的机制有些感觉。你也可以通过教程学习如何从头开始构建游戏

在编码过程中,你可以回看策划阶段的设想,努力着实现它们。如果发现有些事情比你想象的更容易或更难,不要羞于更新你的策划。越早发现问题,越容易解决它。

使用带版本控制的在线代码托管(公开或私有的)是个好主意。这不仅便于多个程序员合作(并带有bug跟踪器等),而且还意味着你的工作可以随时备份。这里有如果使用版本控制建立健全的开发环境的说明。

创建“技术演示”版
这是你编码的一部分。这对经验丰富的程序员来说可能是显而易见的,但再多强调也不为过,你应该先做小范围的测试,然后再将代码放进大的游戏世界中。越早进行测试,越容易修复bug,花费的成本也越低,有时你做的东西无法按预期工作可能需要返工,尽早发现问题可以减少工作量。如果你的设想无法实现,你可能还要回到策划阶段重做计划。

因此,你需要在游戏中建立独立的例子,为每一个重要的类型建立一个房间或一个物体,测试在单独情况下它们是否能正常工作。如果它们需要以某种方式相互影响,就再添加更多的物体,看看是否能正常工作。建立一组房间,测试小怪如何走动……等等。总之,为你不断增长的代码建立一个测试平台。测试应该逐步进行,直到你有一个功能完整的(如果你不能保证没有bug)微型技术演示版,可以展示你想在初版游戏中实现的所有功能。这里并不需要任何的游戏试玩,甚至不需要主题,测试仅仅是给你和你的程序员看的。小规模的测试做得越多,在下一阶段遇到的麻烦就会越少。


构建世界(第三步)

到目前为止,我们只在数据库中建立了几个技术演示对象。在这一步,我们要在数据库中加入更大的主题世界。有很多缺乏经验的开发者会过早进入这一阶段(跳过编码阶段,甚至策划阶段)。如果以后的代码可以支持天气信息,但你现在建造的房间不包含这些信息该怎么办?或者幕后的数据存储方式发生了变化呢?在最好的情况下,你的一部分工作可能需要重做;而在最坏的情况下,可能一切都要从头来过。尽管Evennia的类型类系统允许你修改现有对象的属性,但一些钩子函数只会在对象创建时被调用......我只想说,如果没有建立好合理的底层代码架构就开始大规模建造,你肯定会做许多无用的工作,走很多弯路的。

所以开始建造之前,“游戏”层面(编码+测试)应该已经或多或少地完成了,至少要达到初版的水平。

在开始建造之前,你还是应该先把计划做好。确保你和你的建设者都清楚世界的哪些部分是初版需要的。要告诉每一个人你期望的样式、质量和细节水平。你的目标不应该是一次完成整个世界,你所要的应该是获得对游戏的“感觉”。你要建立的是一个虽小但具备一定功能的世界,可以让潜在的游戏玩家测试并保持基本平衡。以后你总有机会添加新区域的。

在建设时,你也同时在对当前的自定义命令和自定义系统做自由、广泛的测试。和编码阶段相比,建设阶段会涉及更多不同的人,你会得到反馈说有些事情难以理解或不直观,一定要对这些反馈作出回应。


Alpha版

如前面提到的,不要在你的世界中添加超出必要范围的东西。给它打上一个巨大的alpha标记上它上线吧,让人们来测试它!让你的测试玩家尝试一切东西 —— 他们会以你永远也无法想象的方式来打破你的游戏。在alpha阶段,你最好重点邀请好友们或其他的MUD开发者,因为你可以缠着他们给出有用的反馈信息和bug报告(肯定会有bug,这是无法避免的)。这里有上线设置的快速指导,能帮你的游戏上线。


Beta版/永久测试版

当alpha版稳定下来,你就可以移到Beta版,让更多的人来玩了。许多MUD游戏是永久测试版,这意味着它们永远不会被视作“已完成”,会一直循环“规划-编码-测试-建造”的周期,不断实现新的功能或玩家建议。作为游戏设计者,现在是你逐步实现梦想的时候了。


(原文:https://github.com/Evennia/evennia/wiki/Game Planning    翻译:卢铱俊)