10款游戏的设计分析 来源: 游戏制作联盟 作者: 新疆人在流浪
文章原有的题目是:《10个值得向同行推荐的游戏》。
但许多人都曲解了我的意思,所以不得不更改了名字,显得“专业”一些。
这似乎是一个很古老的题目,事实上,早就有许多类似的人,写过许多类似的题目。但大多是谈一部游戏如何震撼、如何感人……如何不玩就枉为人也……如是种种……
私以为,这些东东与其说是写给游戏人看的,不如说是写给玩家看的更为妥当。
一个职业游戏人,他的时间是非常有限的,即使有业余时间想玩游戏,出于积累的目的,他必须去玩那些他并不喜欢的游戏。
对于他们来说,即使是一部最爽的游戏,如果只有解乏发泄的目的,还是没有什么学习和游戏的必要。
当发现业内人玩游戏的目的与业外人的区别之后,曾与许多人交流过想法,对大家的意见进行了归纳。
发现,如果要向业内人推荐一个游戏,那么这部游戏必须有如下几个特征:
1、 这些游戏要有代表性。
2、 这些游戏可以提供给业内人士一个明确的、看得见、摸得着的帮助和指引。
3、 当然,这部游戏最好要足够有趣。
……
本文罗列的10个推荐游戏,其实是10个推荐理由,而每个理由都罗列了相当多数量的游戏。
这些罗列的内容与游戏类型没有关系,即不是按照传统的SLG、RPG来分类的,这一点请诸位看官注意。
必玩游戏之一:《火焰之纹章》
代替作品:《DIABLO》
必玩原因:状态系统
《火焰之纹章》可以说是战役型SLG的鼻祖,自1990年4月《暗黑龙与光之剑》发售至今,已有12年的光阴了。
在《火焰之纹章》之后,战役型SLG(又称S·RPG)开始繁荣,其后的《皇家骑士团》、《FFT》、《旺达尔之心》、《炎龙骑士团》……都可以说是《火焰之纹章》的“子孙”。
但是,《火焰之纹章》在完成了初次登场之后,却并没有停下他的脚步,他仍旧在继续着自己的行程,非常奇怪的是,他从此走上了一条与其它同类型作品完全不同的道路。
大家来看一看这些出现在《火》中的游戏因素:
反击、反击时绝对会心一击、当HP低于最大HP1/10时闪避力上升、攻击骑兵时会心一击机率上升、回合开始时自动回复HP……
你看出来这些设计有什么统一点了吗?
那就是:“这些设计全部都不需要操作。”
一部游戏中的设计,最大的部分集中在角色,也就是NPC身上,而涉及NPC的创意,基本上可以分为两类:状态、行为。
其中,不需要操作,就可以实现的设计内容,就是状态。而需要操作的,则称之为“行为”。
在《火》中,大多数创意和玩点都集中在了这些“状态”上,对传统(指《火》的子孙)中常见的诸如“面积魔法”、“召唤魔法”……嗤之以鼻,甚至连“不良状态”都少得可怜。
这是与其它所有的同类型游戏,甚至RPG游戏都完全不同的设计思路。
状态,是被国人普遍忽视的游戏宝藏,尽管这是一个与“行为”相同规模的游戏库。国内几乎所有的游戏设计,都集中到了“行为”上。如阵法、魔法、必杀技、道具、武器技……
这种研究的缺憾,造成了中国游戏界的先天畸形,可以说,一天不研究“状态”以及状态在游戏中的价值和位置,中国的游戏,就永远不是一个完整体。
反观世界上诸多经典游戏,都会看到“状态”在游戏中活跃的身影。
《DIABLO》中的所能“被动技能”,以及武器上附加的特殊效果,就是状态。
《魔法门》中的职业属性,就是状态。
《最终幻想7》中是以在武器中镶嵌装备“珠”子(如“先制”之珠)来实现一些状态的。
《星际争霸》是角色的先天能力(“如隐身”),就是状态。
为了提醒大家,我在这里罗列了我想到的一些可能会在战役型SLG中出现的“状态”因素,但是,研究“状态”最好的办法,还是去玩一玩那部游戏:《火焰之纹章》
附:状态举例:
二次攻击……攻击时发动魔法……如果杀死敌人,可以再次行动……攻击后敌无法行动……攻击后死亡……被攻击时,令敌损失相同的HP……一定范围内已方生物被攻击,自己代替损失HP……反击……被某种生物攻击时,一定概率闪避……由防御罩代替损失HP……回合开始时自动增加HP……回合开始时自动驱散所有不良状态……回合开始时自动攻击相邻的敌人部队……一关结束时自动复活……每周一自动增加HP……每月15日夜间战斗为狼人状态……登场时魔法攻击敌全体……感应攻击(敌进入感应范围内自动战斗)……结界影响(一定范围内部队战斗力变化)……被影响(战斗时,如一定范围内有指定部队战斗力变化)……相邻位置敌牵制(指敌人经过身边时必然停下来)……合击……当已方战士在城堡战斗时,魔法援助……当已方指定职业的战士战斗时,战斗力上升……水面移动可能……地行……当水的宽度低于3格以下时跳跃可能……敌人越过可能……已方部队超越过可能……瞬间移动……替换移动……移动范围加倍……移动力减半……HP回复时效果加倍……再次行动作用到与目标点相邻的部队……令目标点处于指定状态时,状态时间增加一倍……结束行动时,相邻部队再次行动…………无法控制……无法操作……操作后一定概率不行动……操作后一定概率自动行为……一定范围内行为无法使用……在某个日期死亡时自动复活……死亡后自动变成另一个生物……自爆……死亡后相邻部队HP=1……
必玩游戏之二:《魔法门》
其它作品:《FFT》、《超级机械人大战》、《浪漫沙加》
必玩原因:小抄养性
游戏中玩家的力量是怎么增加的?
几乎所有的玩家,都会立即联想出这样一个过程:战斗——累计经验值——当经验值积累到一定数量时升级。
升到一定级别(或者是增加经验值到一定程度)时,会自动给角色增加一种战斗方式。通常为招式,如“五雷咒”之类。
这是《仙剑》的升级方法,相当长的一段时间,甚至直至今天,这都是国内玩家默认的升级系统。
事实上,升级,以及增加能力的方式还有许多种。
《DIABLO》的升级及增加能力、技能的方式,就迥异于《仙剑》。
角色升级,升级时得到能力点和一个技能点。
分配能力点可以增加角色的能力。
分配技能点,可以激活角色的技能或是升级某一个技能。
而在《魔法门》中,角色升级时得到技能点。
除了单纯的能力级别外,角色还有许多具体的技能,如“火魔法技能”、“弓箭技能”这些技能也是可能升级的。
用这个技能点去升级这方面的技能,升级后可以学习更高级的魔法或是提高现有战斗方式的效果。
这个设计可以令玩家自由的选择角色培养的方向。
而在《FFT》中的却是这么增加能力的。
角色战斗的同时,会累加一定数量的技能点到角色当前对应的职业上。角色消耗这些技能点,就可以激活该职业的技能。
说到怪异的升级方式,当然不能忘记《浪漫沙加》。
在这部游戏中,所有的技能是在战斗中随机悟得的。角色能力越高,所悟的技能也就越强大。
除了升级系统外,我们应该看到有许多优秀的游戏值得我们去临摹。
几乎99%以上的回合制游戏中,精灵在完成一种行为之后,是要结束行动的。但也有些游戏例外,例如《机器人大战》中的“精神”、《艾克美牌》中的“再次行动”
……
在《机器人大战》,我们看到角色在使用“精神指令”之后,是不会结束行动的。因此,角色可以用这些精神指令去修正攻防效果。
例如,把“必中”、“魂”、“幸运”、“加速”……累加到一起,就可以达到这种效果:“攻击远距离的敌人,增加3倍的伤害效果,绝对命中敌人,杀死敌人后得到双倍的经验值和金钱。”
这种设计的本质,是增加了玩家对游戏的干预方式和程度。
最后,为了方便大家,我再提供一些可以抄的资料吧。
《鲁多拉秘宝》:言灵系统。
在这个系统中,玩家可以通过寻找文字碎片的方式,最终达到自已设计魔法的目的。
《财宝猎人》:战斗系统。
这个类似于SLG的战斗系统中的战斗、移动、法术的操作系统是统一的,玩家可以象ACT游戏中那样直接手动的控制角色,真是非常奇怪的一个系统。
《英雄无敌》:地图移动系统。
英雄无敌的地图移动系统有些类似于《财宝猎人》只是操作的方式变成了鼠标。由此带来的变化也是巨大的。
《幻想传说》:战斗系统。
曾有人想过这样一个创意,平时是RPG,在遇到敌人时转入FTG的战斗系统。这样的创意可能会有吗?玩一玩《幻想传说》吧。
《火焰之纹章——圣战之系谱》:爱情系统。
SLG游戏中,除了战斗之外,难道就没有别的什么东西可以做了吗?事实上,还有一件事可以做,那就是选择队伍中的男男女女一起战斗。最终,他们就可以产生下一代。影响……另一个故事……
(
题外话:抄亦有道
“把游戏做出自己的特色!”、“游戏最重要的是创意!”、“只有与众不同才有存在的价值!”、“弄潮儿向潮头立,手把红旗旗不湿……”
说这种话的人,通常不是没有游戏制作经验,就是那种会花两张出租车票去买一根冰棍的主儿。
如何振兴中国游戏?
如果以最快速度让中国的游戏产业转入正轨?
答案只有一个字:“抄!”
我们在中国大陆,我们是渺小、落后的国内游戏人,我们是弱者,我们必须认命,否则,就会连弱者的资格都会被剥夺……
至少,弱者还有一线希望成为强者,而死者却是绝无希望的。
看看我们的周围,和大陆一样的游戏界弱者不有不少,如韩国、台湾……他们曾和我们站在同一起跑线上,但现在他们都站在了我们的头上。
他们的游戏中,几乎没有任何创意。他们的游戏产业,就是“抄”出来的。
创意是要付出代价的,有创意的游戏,其制作风险及周期几乎是同类型游戏的3倍。而且十有八九不一定成功。
最重要的是,只有处在游戏制作前沿的游戏众受,在对旧的游戏表现形式已经滥熟于胸时,才对会游戏设计的“创意”表示兴趣。
中国大陆的玩家是这样吗?远远不是!事实上,他们当属于启蒙阶段,95%以上“玩家”甚至连RPG都需要别人引导。
事实上,许多中国游戏制作者也是明白这个道理的,但是这么多年过去了?国内的游戏业为什么还是没有起色呢?
答案简单至极,看一看我们的游戏制作者都抄了些什么吧?
《究极三国》抄《C&C》
《齐天大圣》抄《DIABLO》
《封神榜》抄《英雄无敌》
《烈火文明》抄《最终幻想》
……
乖乖隆的咚,被抄的都是经典哟,国内游戏人人穷志不短,拿着几十万人民币的投资去规划几百万美金的项目……可怜,只落得个白茫茫大地一片真干净。
……
再看一看台湾游戏人,他们抄《大富翁》、抄《龙之力量》(《三国志群英传》)、抄(《勇者斗恶龙》,但只抄表现和操作)、抄(《同级生》)(H游戏)……很明显,较之国内的游戏人,他们明显多了一份理性和思考。
抄的时候,他们很少拘泥于对经典的LINK,更多的,是从市场的回报和技术条件上进行需求分析和制作规划。
抄亦有道,不是把心一横,把脸皮一老就能做得来的。
要抄游戏,首先要分析技术可行性,如果技术要求高(如《QUAKE》)、规则交互性强(如《星际争霸》)……抄之前,最好先掂量掂量。
最经典的抄法,就是抄那种经典、好做,同时国内又几乎无人所知的游戏。就象没有被抄之前的《大富翁》、《龙之力量》一样。
这就是我罗列这几部游戏的原因。
)
必玩游戏之三:风水回廊记
代替游戏:三国志战记、卡片召唤使、战斗国家、天下统一
必玩原因:全文抄照
传统的游戏世界观,是建立在古希腊“元素论”的基础上的,主要分土、水、火、风地大元素。
还有一种情况,即是建立在“龙与地下城”的基础上,按“元素”、“感知”、“邪恶”……等来划分世界。
日本游戏如此,美国游戏亦是如此。
如果能够建立一个有民族特色的世界观,使游戏的能力、道具、武器、法术……有律可循、有类可分……
与希腊世界观相比,中国的世界观更有实用价值。我国的中医、相术、建筑、风水等无不体现道家的精神。其中,最有代表意义的世界观分法竟有十个之多。即:
无极、太极、两仪、三才、四象、五行、六合、七星、八卦、九宫。
其中,以“五行”为世界观的游戏最多,事实上,国内的游戏中,至少一半的以“武侠”、“法术”为背影的游戏采用“五行”的体系。
五行的体系要比“元素”论复杂的多,因为其中有“相生”、“相克”、“相合”三种关系。玩家很难掌握,搞不好,还有攻击敌人,还会给对方加血的可能。
因此,国内的涉及“五行”的系统通常都比较牵强,很少听说有比较“好玩”的涉及五行的系统,如锻造、法术、采药……成为国内玩家津津乐道的玩点。
但却有一个例外,有一个以“五行”为体系的游戏,创造一个巨大的玩点。使玩家就是冲着“五行”去玩这个游戏。
这个游戏就是《风水回廊记》。
具有讽刺意味的是,它不是一个国产游戏(包括港、台在内)。
《风水回廊记》其根本系统为,建设若干个有五行属性的房间,然后从一个房间向另一个房间挖“通道”。这样,就会产生一个“气脉”开始挖通道的房间流向被另一个房间
如果其中一个房间与另一个房间是“相生”的关系,则会有2单位的气脉流向另一个的房间。
如果其中一个房间与另一个房间是“相合”的关系,则会有1单位的气脉流向另一个的房间。
如果其中一个房间与另一个房间是“相克”的关系,则不会有气脉流向另一个的房间。
这个设计的要点,在于他“架空”了五行的具体特征,例如“金”对应什么,“木”对应什么之类。而是直接以“五行”的气脉总量为游戏成果的计算单位。
(
曾见过一些国内的游戏,用“金”表示“征兵”,用“木”表示“内政”……实在不知道是什么道理。)
(一些涉及“五行”的法术,在设计“火”(火球)、“水”(冰冻)、“土”(岩落)时还比较有说服,但在涉及“木”时就非常牵强了,而“金”就几乎想不出什么法术名来了。
)
这一点与几乎所有的同背影游戏不同。但也正是其成功原因之所在,因为他足够简单,足够火爆,而且足够深入。
这种设计,与前面所说的“小抄”不能相同的对待。因为他的体系是一个完整的整体,我们无法把他的某一个创意从他的创意库中割出来。
所以,就全文照抄吧。就象“奥丁”抄《龙之力量》、“21世纪纵横”抄《文明》那样全文照抄吧。
同样值得全文照抄的,还有这样几个游戏:
三国志战记、战斗国家、天下统一
《三国志战记》:
游戏中的主要玩点在于“连锁”系统,连锁系统又是建立在“战术”系统上的。
游戏中的每个战法,需要一个“条件”,例如这个条件为“敌在自己前方,背向自己”。战法发动后,会造成敌人位置的改变以及方向,改变之后,如果已方另一员武将的当前战法所对应的条件成立,就会自动发动“战法”,这叫“连锁”。
举个例子。
假设武将夏候敦具备的战法是“威吓”,效果为“令敌人退后一步”。
另一个员武将李典具备的战斗是“突击”,条件为“敌人在已方前面”,效果为“穿越敌人”。
在战斗中,会发生这种情况:夏候敦使用“威吓”,然后令敌人后退了一步。正好退到李典前面……达成了“突击”的条件,于是形成了“连锁”……李典自动发动了“突击”,再次攻击,并穿越了这个敌人。
《战斗国家》:
游戏的主要玩点在于“感应系统”。
每支部队都有一个“射程”,如果敌人进入射程,则会自动发生战斗,去攻击敌人。
在实际的战斗中,当你排好阵型,等着敌人进入,就会发生一连串感应攻击。
《天下统一》:
这也许是最值得一抄的游戏了。
游戏最大的特征,是每个“国家”(其实就是省,如果按中国的面积标准来说,可能是县)都是“据点”来实现的。
据点之间,有道路,这是用来移动的条件。
移动到自己家领地内,就是行军或调动。
如果移动到了别人的领地,那就战争。如果那个据点里有敌人,就会发生战争。
……
战争的过程非常简单,但有如下棋般千变万化,怎样安排自己的兵力、布阵和采取何种攻守之势,成为胜利的关键。
他是本人最喜欢的战略型SLG,较之同类型的大作,如《三国志》、《信长》系统来说,他……实在是……太……太……太小了。
但这个DOS下、16色、PC喇叭,人物能力参数简单到只有三个(军、政、忠),甚至连人物头像都没有的游戏,却是拥有相当一批拥护者。
这个游戏太小了,就像一个小品游戏,可能还没有《炸弹人》、《坦克战》大呢。但他却是一款SLG,而且是战略型SLG。
一个一个美工、一个企划、一个程序……三个人三个月内肯定可以做完的战略型SLG。
中国的游戏小组啊!这么值得一抄的东西,怎么会没有看见呢?
最后总结一下抄法:
《风水回廊记》抄法:
五行系统:全文照抄。
战斗系统:体系、操作不变,内容、名称可以变化。
故事系统:系统不变,但故事要全部换掉。
《三国志战记》抄法:
连锁系统:全文照抄。要彻底,最好连具体的名称、效果,甚至对应的格局都全部“拿来”。
内政、情节系统:可以适当变化,但最好不要影响到战斗。
故事系统:系统不变,但故事建议改为《楚汉战争》、《封神演义》……之类。
《战斗国家》抄法:
感应系统:系统全文照抄,具体的武器可适当调整。
经济系统:可以适当变化。
故事系统:可以换掉,建议改成《抗日战争》、《星际争霸》
《天下统一》抄法:
内政系统:基本照抄,但不要改变“线路”、“据点”之类的核心设计。
战斗系统:可以适当改变,例如改为类似于《英雄无敌》、《仙剑奇侠传》那样的战斗过程,需要注意的是一场战斗的时间不能过长。
故事系统:赶紧换掉,建议改为《三国演义》。
(
题外话:95潮:
1969年,当全世界都在为美国人登上月球欢呼的时候,我们却在大跳忠字舞……
1995年,当全世界都在为超任上无数的精品大作欢呼的时候,我们却在为《仙剑》感动。
……
在研读“大抄”“小抄”的时候,我们发现了一个普遍的现象,那就是这些游戏,大都是95年前后超任主机上的作品。
鲁多拉秘宝、前线任务、财宝猎人……
有多少中国游戏制作人知道这些当年造成了极大轰动,创造了独特游戏系统的游戏?
信息闭塞导致的愚昧与落后,并不会随着信息和电子时代的到来发生质变。
在台风、西风的追逐背景下,我们的游戏设计者错过了整整一个时代。
……
在我们做市场调查、做玩家统计时,我们始终忽视了最重要的一个玩家族群,那就是最早的那一批,从任天堂红白机到MD,再到超任、PS……乃至PS2的这群人……
有没有人弄清楚过这个问题:
为什么玩过《时空之旅》、《最终幻想6》这些游戏的玩家,会对《仙剑奇侠传》……甚至包括一切电脑游戏在内的RPG游戏不感兴趣?
有谁聆听过他们的声音?反思过中国游戏这种近乎偏执的设计道路?
为中国游戏人之见识,可发一叹!
最近很忙!忙魔兽,忙毕业,忙着找房子,忙着工作~
呀,一下子什么事情都来了,忙的我都没时间来上Blogjava 了。
这里列出的是一些有可能被混淆的缩写和单词,但这并不是一张完整而详细的列表。有许多在互联网上广为流传的缩写词汇跟《魔兽世界》没什么关系。
AC - Armor Class,盔甲级别或防御。
Add - 一只额外的怪物加入到现有的战斗中。
AOE - Area Effect Damage,区域作用魔法。指的是一个可以伤害一个区域中的一群怪物的魔法,就像魔兽争霸三中的暴风雪魔法。
AE - Area Effect,区域作用伤害
AFK - Away from Keyboard,离开键盘。这意味着玩家离开了他的电脑。
Aggro - 这个词意味着怪物已经疯狂并且你已经将它们“激活”到开始攻击你的程度。它们现在开始会试图接近并攻击你。“鱼人被我Aggro了”或“如果你继续接近,鱼人将被Aggro”。
Aggro Radius - 怪物周围的区域,进入它意味着怪物会“苏醒”并攻击你。
Agi - Agility,敏捷
Buff - 施放与怪物或玩家身上的有益魔法。牧师的心灵之火[Inner Fire]或撒满的嗜血术[Bloodlust]都是典型的Buff。
Carebear - 喜欢帮助其他玩家攻击怪物,而非在pvp中攻击其他玩家的玩家
Caster - 施法者,如法师。
Cheese - 利用游戏的不平衡之处牟利。
Critters - 面对攻击不会反击的怪物,如小鹿和小兔子。
DD - Direct Damage,直接伤害。用来形容一个魔法所造成的伤害是一击生效而非持续产生伤害作用。
DMG - Damage,伤害。
DOT - Damage over time,在一段时间内不断对目标造成伤害。
DPS - Damage per second,每秒伤害。
De-Buff - 对一个单位施放一个具有负面效果的魔法使之战斗力降低。一个典型的“De-buff”就是减速。
FH - Full Health,生命值全满。
FM - Full Mana,法力全满。
GM - Game Master,游戏管理员。一些被暴雪娱乐雇佣以帮助、协助玩家的人。
GS - Goldshire,闪金镇(地名)。
HP - Hit points/Health,伤害点数或生命值
Incoming (INC) - 意味着即将出现一次攻击。
Instancing - 在《魔兽世界》中有一类地下城,当你和你所在的队伍进入它的时候,你们会被载入到一个属于你们的这个地城的副本,只有你和你的队伍能够出现在这里,其他进入这一区域的队伍会自动进入他们自己的副本。
INT - Intelligence,智力。
KOS - Killed on Sight,仇人见面。如果一名兽人走向一名人类守位,那么这名守位会在看的见它的情况下试图杀死他(激怒)。
KS - Kill Steal, 偷杀,试图杀死另一个人正在对付的怪物。
LFG - Looking for a group,寻找队伍以加入。
LOL - Lots of Laugh/Laughing Out Loud,大笑。这个缩写意味着某些事的确十分好笑。但不幸的是,虽然这个词十分常用,但从很久以前开始它便容易引发一些不理智的行为(译者:毕竟有些人很容易被嘲笑激怒)。作为变通,你可以使用“呵呵呵呵”或“哈哈哈哈”来代替它,这两个词相对来说虽然不是最好的选择但更容易被接受。ROFL(笑到打滚)也是一个应该尽量避免使用的词。(译者shyso按:总之这一段内容是提行大家注意网络礼节,一些感情色彩过于强烈的词最好不要用于与不熟悉的人之间的交谈)
LOM - Low on Mana,法力不足。
LOS - Line of Sight,视线。
LOOT - 从被杀死的怪物或包箱里拿取财物。
LVL - Level,等级。
MMO - Massively Multiplayer Online,大型多人在线。
MMOG - Massively Multiplayer Online Game,大型多人在线游戏。
MMORPG - Massive Multiplayer Online Role Playing Game,大型多玩家在线角色扮演游戏。
MOB - 怪物。
Newbie - 菜鸟,有时用来形容新玩家的一个术语,但也用于指代那些技术不太好的玩家。
Newb - 新人的简称,见上。
N00b - 一种用来称呼新人的不礼貌的说法。请不要使用。
NPC - Non-Player-Controlled Character,非玩家控制的角色。这种角色通常被服务器控制。也就是一名“电脑”角色。
OOM - Out of Mana,法力耗尽。人们通常用这句话提醒其他队员他已经没有法力不能再施放法术了,特别是治疗魔法。
PC - Player controlled character,玩家控制的角色。
Pet - 被玩家控制的非玩家生物,如一只狼或一只地狱犬等等。
PK - Player Kill,玩家在未经另一个玩家同意的情况下攻击并试图杀死他。
Puller - 负责吸引怪物的玩家。
Pulling - 队伍中的一名玩家负责吸引一只或几只怪物,并将他们带到队伍所在地,以便队伍中的其他玩家可以攻击这些怪物。这种方法可以避免一次被大群的怪物攻击。
PVP - Player vs. Player,玩家对玩家。也就是一名玩家攻击另一名玩家。
Raid - 由一群玩家在某一地区进行的大规模作战被称为Raid。
Release - 点击“释放灵魂”按钮并在缚灵石再生。
Re-Spawn - 一只被杀死的怪物重新出生(被创建)。
Spawns - 在游戏世界中,怪物被创建时所位于的地点或出现的过程。
SPI - Spirit,灵魂。
STA - Stamina,耐力。
Stack - 堆放在同一个格子中的同类物品的数量。
STR - Strength,力量。
Tank - 能够承受很多伤害的近战角色,如一名战士。
Train - 把一群怪物引向另一名玩家。这种行为通常不受欢迎。
WF - Westfall,西部荒野(地名)。
WTB - Wanting to buy,想要购买。
WTS - Wanting to sell,想要出售。
一、攻击力(Attack Power,简称AP)的计算公式:
Warrior/Paladin:AP=角色等级*3+力量*2-20
Hunter/Rogue:AP=角色等级*2+力量+敏捷-20
Shaman:AP=角色等级*2+力量*2-20
Druid:AP=力量*2-20
Mage/Priest/Warlock:AP=力量-10
角色DPS=AP/14+武器DPS
单次攻击伤害(最小/最大)=攻击速度*AP/14+武器伤害(最小/最大)+技能附加伤害
二、防御力(Armor)的计算公式:
1敏捷(Agilty)=2Armor
Armor减少伤害%=0.75%*防御力/(攻击方等级+9)
例:防御力5000的角色, 被61级敌人攻击时,可以减少伤害0.75%*5000/(61+9)=53.6%
被51级敌人攻击时,可以减少伤害0.75%*5000/(51+9)=62.5%
伤害减小值的封顶值是75%,这时角色的防御力为100*(敌人等级+9),也就是说杀62级敌人时防御要在7100以上才能达到封顶效果。我不知道现在最高防御能达到多少,但在绝大多数情况下,杀同等级敌人是不可能达到封顶值的。
三、敏捷对物理攻击重击(crit)、闪避(Dodge)几率影响的计算公式:
在不计装备和天赋影响的情况下,重击和闪避几率受以下因素影响:
1.重击/闪避的基础值和变化值
角色的重击/闪避几率中,有一部分是不受敏捷影响的(这里称为基础值),另外一部分受敏捷影响(这里称为变化值)。
角色重击/闪避的计算公式为:基础值+变化值*角色的敏捷/敏捷标准值。
对一般的职业来说,当角色敏捷等于标准值的时候,重击/闪避几率为5%。也就是说基础值+变化值=5%。变化值越高表示敏捷对这个职业的影响越大。
敏捷标准值是与等级和职业相关的一个参数。1级时一般职业的标准值为20,盗贼和猎人为23。60级的时候战士敏捷标准值100,即敏捷100时重击/闪避几率为5%。
敏捷标准值似乎没有计算公式,是通过查表获得的,也可以自己推算,我在后面会附上算法,大家有兴趣可以自己计算。
各个职业的重击/闪避基础值和变化值:
Rogue:重击基础值0%,变化值10%;闪避基础值0%,变化值20%
Hunter:重击基础值0%,变化值5%;闪避基础值0%,变化值10%
Warrior:基础值0%,变化值5%
Paladin:基础值0.7%,变化值4.3%
Druid:基础值0.9%,变化值4.1%
Shaman:基础值1.7%,变化值3.3%
Warlock:基础值2%,变化值3%
Priest:基础值3%,变化值2%
Mage:基础值3.2%,变化值1.8%
2.角色的武器技能等级(熟练度)和防御技能等级
即属性栏里显示的attack和defense。其中attack影响角色重击几率,defense影响角色闪避几率。具体来说就是重击/闪避受一个(attack(或defense)*0.04-等级/5)%的修正。
大家知道角色每升一级attack/defense上限会增加5级,正好和等级/5抵消,也就是说如果把attack/defense修满,重击/闪避几率就不受任何惩罚,如果没有修满,则每差一个等级减少0.04%的重击/闪避几率.。反之如果通过装备把attack/defense加的超过上限就会有额外奖励。
例:一个60级战士,敏捷90,defense330级,那么他的闪避为0+5%*90/100+(330*0.04-60/5)%=5.7%
四、格挡几率(Block)和招架几率(Parry)
基本几率5%,受防御技能(defense)的影响,每级防御技能增加0.04%格挡/招架几率。或者说同闪避一样受(defense*0.04-等级/5)%的修正
附:角色敏捷标准值的算法
首先注意把与重击/闪避或者防御技能相关的装备都拿掉,最好不要加任何天赋,战士不能出于,以免引起混乱。
记录敏捷值A和闪避/重击几率D。将attack/defense对D值的修正还原,如你的角色武器技能差N级达到上限,就在D上加N*0.04%。
敏捷标准值=敏捷A/(1+(闪避或重击几率D值-5%)/闪避或重击变化值)
最后,可以更换一下敏捷装备,使敏捷发生变化,再根据上面给的公式检验一下计算结果是否正确。
重击几率可以在角色的基本技能“Attack”上查看,闪避几率可以在角色的基本技能“Dodge”上查看
为了《抗日--地雷战》的宣传工作曾经和一些媒体的朋友在一起交谈了一些关于国内游戏制作业的一些情况,许多朋友都要我谈一下西山居创作室成功的经验。我想来想去,和其他的国内游戏软件制作公司相比,我们并没有什么特别的东西。我们唯一有所不同的地方,也许就是拥有一批专职策划人员。
由于国内的游戏制作业刚刚起步,既缺乏系统的专业理论指导,又缺乏实战经验,以至大多数玩家甚至一些游戏制作公司在对待策划这个问题上都明显存在不少误区,其中主要表现在两个方面:一是有高超的程序编写能力就能做出一个优秀的游戏,轻视甚至忽略策划工作的重要性,以至不少制作组的负责人甚至老板就是程序员出任的;二是能编故事就能做策划,做策划是一件轻松愉快的事情。
我无意在此标榜策划的必要性和重要性,不过是有幸做了《剑侠情缘》和《抗日--地雷战》两个游戏的策划,在这里向大家简单介绍一下一个策划人员在一个游戏的整个制作过程中所做的工作,以便让大家对策划的工作以及游戏的制作过程有一个比较清晰的了解。
在一个游戏的制作过程中,策划的工作过程大致可以分为三个阶段,可简单地称之为前期工作、中期工作和后期工作。其中前期工作是策划工作的重点和难点,故描述略加详细。
一、前期工作
即制作组的其它部门还未开工时策划所做的工作,主要是进行市场调研、确定工作计划和撰写策划书三个方面:
1、市场调研
游戏软件是一种商品,并且是一种高投入的商品。国外一个作品的投入通常在百万美圆的数量级,并且不乏上千万数量级的大制作。国内(大陆)的一个象样的作品制作出来也要花掉好几十万,员工工资、设备折损、资源购买、广告宣传、载体和包装等等等等,《剑侠情缘》的所有开销超过了100万元,《抗日--地雷战》也隔100万不远。在这种前提下,市场调研的重要性不言而喻:如果你做出来的产品没有市场,那么这个产品就是你自杀的武器。
项目 《剑侠情缘》《抗日--地雷战》 开发成本 50万 40万 (工资、设备折旧、资源) 销售成本 35万 30万 (广告、海报、运输、首发式、税) 生产成本 (光盘、包装、说明书) 25万 20万 市场调研一是对现有作品的调研,二是对用户需求的调研。对现有作品的调研可避免新策划的作品有"跟风"之嫌,特别是国内的游戏产业,由于技术水准和国外相比还有比较大的差距,如果一味地跟着别人跑,没有什么新的突破,那么这种作品想获得玩家的认可的相当困难的。对用户需求的调研可保证作品面世后有足够的用户群,他们是制作组的衣食父母,如果不尊重他们,想想后果吧! 有一个很重要但又容易被忽视的问题,这就是游戏产品的时效性。
一个游戏作品的制作周期比较长,短则一年半载,长则一年两年。但一个游戏的销售期却非常短,特别是在国内,根据我的经验,国内一个游戏作品的销售时间通常只有两个月时间,很难突破三个月。也就是说,在这两个多月的时间里你就可以得知你的人力、时间和资金的投入是否得到了回报。 所以,在开发一个新产品进行市场调研时一定要考虑一个提前量。首先确定自己的产品上市时间,然后根据调查研究的结果判断自己的产品上市时是否会受到其它作品的冲击,用户群是否会因为技术的更新、新作品的上市而转移,等等。
2、工作计划
根据上面的说明,一个游戏产品的成本主要集中在开发成本上。开发成本基本上是和时间成正比关系的,所以在进行市场调研后制定一个切实可行又能最大限度降低成本的工作计划就显得致关重要。由于制作组的其它部门尚未开工,整个游戏的架构都在策划的脑子里,所以这个工作主要是策划来完成的,当然,策划在制定工作计划的同时,必须从公司的实际情况出发,不能任意挥洒。
工作计划中的主要内容是人员配备和工作日程表。
根据游戏容量的大小确定参与制作的人员结构,既要在预计的时间内完成任务,又要在整个制作过程中没有人员闲置,安排是否得当取决于策划的经验和预测。一个优秀的策划和一个蹩脚的策划在做同样的产品时时间可能相差40%甚至更多。由此可见工作计划的安排对制作成本的影响。
在不同的游戏种类中,制作组的各部门人员比例是不一样的。如RPG游戏,美工工作量较大,文字工作量较大,那么就应该在美术方面多加人手,可以专门安排一个人做文字方面的工作;战略类游戏美术工作量相对较小,但数据量大,结构复杂,调整困难,靠策划一个人难以胜任,那么就应该安排人员协助策划做数据设定方面的工作。
由于在游戏制作的后期就要开始做宣传、销售方面的工作,所以工作日日程表一定要比较准确,误差不能太大。日程安排过松,会导致工作效率降低,从而增加开发成本;日程安排过紧,在预定的时间内不能完成制作,将使宣传和销售处于非常不利的境地,直接影响回报率。
一份具体的工作计划中至少应包括以下几个部分: 游戏的主要指标; 各部门工作量预算; 制作时间预算; 资金预算; 进度表。
3、策划书
策划书相当于工程师的蓝图,实际上就是策划将大脑中的游戏雏形用文字表达出来,以书面形式转告制作组的其它部门,作为其它部门在制作过程中的指导书。
策划书不要求很详细,基本上不考虑细节方面的东西,但要求它很稳定,一旦生成不得随意修改,所以撰写策划书时一定要和其它部门沟通,以确保策划案切实可行。特别是关于技术方面的,不能天马行空,独往独来,如果到时候技术方面不能达到策划书中的要求,后果很可能是整个制作组的人员在某一段时间内的工作都白干了。
不同的游戏种类的策划书的撰写会有一些差异,但下列项目是每一份策划书中都必须明确规定的:
1、类型(结构);
2、解析度;
3、操作系统;
4、故事背景;
5、容量(关数);
6、游戏进程;
关于游戏的类型,很难有一个明确的定义。随着技术的发展,游戏的容量越来越大,内涵越来越多,以至某些游戏已经很难用某一种类型来定义它。如有些战略游戏,却包含有许多角色扮演的成分;许多角色扮演类游戏,却又包含有养成的成分,等等。
国内的游戏业起步较晚,基本上没有系统的研究,关于游戏种类的划分,很大程度上是一些人参照台湾前些年的分类方法,而台湾的分类方法,又大多是照搬国外的,现在看来是有些老道,不太适合时宜了。如果国内的游戏制作公司能够在一起相互探讨一下,对电脑游戏作一些系统的研究,那我们前进的步伐一定会更快一些。 在这种情况下,要给一个尚未诞生的游戏确定一种现成的类型是比较困难的。通常我们可以提出一个大致方案,然后在这个方案之上构思新的创意,最后形成一种新的模式,这种模式和现有的作品相比应该有所突破。所谓的游戏类型,可以看作是诸多模式的组合。
建立一种有突破的游戏模式才是策划工作的精华所在。这是一种没有目的性的工作,唯一的限制来自技术方面。游戏的模式对游戏的可玩性起决定性作用,一个作品是否成功,很大程度上取决于游戏模式。
游戏模式相当于建筑工程师的蓝图,有了蓝图,在工人们开工之前,我们已经能够看出未来的大厦的轮廓了,或挺拔壮丽,或小巧玲珑,最终的结果一定不会相差很远。游戏也是如此。
建立一种新的模式才是策划工作的主体,也是策划工作的重点和难点。至于编一段故事,想几个小点子,谁都或多或少会一点。 以《抗日--地雷战》为例,初步决定其类型为回合制战略游戏。回合制战略游戏中,敌我双方轮流行动,各行动一次为一个回合,象人们平常下棋一样,所以这种模式又俗称"战棋"游戏。这还是一个很笼统的东西。将其具体化,一是将传统战棋游戏中的小范围的冷兵器攻击变换为大范围的热兵器攻击,二是将虚无缥缈的"魔法"变换为实实在在的"战术",如滚木,擂石,威慑,骚扰,破坏……还有敌方的施毒,空袭等。
那么,《抗日--地雷战》的突破在哪里呢?在地雷上面。在休息关里,玩家的主要工作就是购买材料,制作性能各异的地雷;在战斗关中,和地雷相关的操作就有埋设、起出、定时、遥控、转交等。 解析度包括游戏准备采用的分辨率和颜色种类,如320×200×256色,640×480×16色,800×600×256色等等。通常,在同一个作品中的解析度是一定的,这样既可以保证作品的美术风格大致近似,又可以减轻程序的负担。但也可能有例外,如作品的主体采用较低的解析度,以得到技术上的保证和减少美术方面的工作量,而在片头和片尾中采用较高的解析度,以获得较好的视觉效果。
除开分辨率和颜色外,有时候还需进行调色板方面的设定。在RPG游戏中,人们比较注重画面的精美,因此调色板不宜太过拘泥,以免使美工约束过多,造成画面的单调;在战略类游戏中,人们注重的是敌我双方的战略战术,对画面不会象RPG游戏那么在意,因此有可能确定一个固定的调色板,从而使游戏的容量大幅度减少——游戏所需的光碟实际上就是给美术师和音乐师准备的。更重要的一点是,当许多人在做同一类工作时,比如两个人同时画人物造型,三个人同时画人物头像时,如果不将调色板设定好,那么程序在同时显示这些内容时就会出问题。不过,随着软硬件技术的发展,一些作品已经开始使用16M色以上的真彩色,调色板的意义已经越来越淡薄了。
在颜色种类相同的前提下,当分辨率从320×200提高到640×480时,美术方面的工作量将大幅度增加,320×200状态下在屏幕上一个点的位置在640×480状态下要用4个点来填充。不过,在高分辨率状态下人物和物体的尺寸会相应减小,所以美术的工作量也不是4倍的增加,平均起来估计增加2倍左右。
国内的机器分布五花八门,有些国家事业单位甚至还在使用286、1M内存的机器,用金山公司91年的WPS(大多还是盗版)打字。不过游戏公司大可不必为此担心,因为用以玩游戏的电脑大多放在家里,机器的配置隔最新潮流最多半年的距离。
但是,游戏策划人员并不能因此忽视机器配置的分布状况,作为一种商品,一个游戏作品应该最大限度地获得用户群,而不是为了省事只关注主要的用户群。特别是在这个286、386、486、586并存的年代里,要为一个作品的用户群准确定位并不是一件很容易的事情。我们曾经认为作品对系统的要求应该尽可能的低,以满足那些已经成为昨日黄花的机器。后来发现这样做的商业效果并不明显,因为真正的玩家们都拥有配置相当高的机器。对机器配置的要求并不只是反映在CPU上,如《剑侠情缘》,对CPU的要求是486DX33,但要求有4M的EMS,这就需要机器装配有8M内存,由于许多机器只有4M内存而使该作品失去了一部分用户。
故事背景对美术设计人员是至关重要的,故事发生的年代决定人物的服饰、建筑的风格等,这是游戏中最惹人注目的东西,并决定玩家对作品的第一印象。
也许有人认为,游戏,不过玩玩而已,大可不必吹毛求疵。如果玩家们都这么认为,那游戏公司的日子就好过多了,因为对游戏中任何一个细节的精雕细琢都意味着工作量的猛增,直接后果就是成本的增加。如果是游戏公司的制作人员这么认为,那这个公司离倒闭的日子也不远了,试想一下,哪一个精品不是精心雕琢出来的?哪一个粗劣之作又得到了用户的认可? 作为一个专职策划,还有一份很重要的工作就是进行作品的质量管理,哪怕是一个NPC的衣服,一个房间里的一把椅子,如果它不合适,就应该重新来过,而不能蒙哄过关。 为了避免这类事件发生,最好的方法是防患于未然,在策划书做出明确的指示。
游戏的容量决定游戏制作中人力和物力的投入,事实上就决定了游戏的开发成本。所以在策划书中对游戏的容量必须有一个相对准确的确定,和最后的产品误差不应该超过10%。游戏的容量决定工作计划的撰写,二者要紧密配合。
中途增加游戏内容乃游戏制作之大忌,一方面严重影响原来的制作计划和进度(除非原来的制作计划本身就是一塌糊涂),另一方面破坏美术、程序设计人员对作品的整体思路,使作品的整体协调性受到影响。
游戏进程之所以要预先在策划书中确定下来,是为了让所有制作人员心中有底,并在工作中作一个整体规划,维护作品中某一方面在整个作品中的协调性和完整性。比如,美术设计人员在描绘地图时,就会根据剧情作一个整体的分析,然后尽可能完美地实现它。如《地雷战》的地图系统,开始的地形以山峦为主,然后是丘陵地带,逐渐向平原发展,这些在策划书中都有明确的指示。
二、中期工作
中期工作就是游戏主体的制作。在此期间策划的主要工作也可分为三个部分。
1、游戏模式的细化(结构设定)
在作前期的准备工作时,游戏的大致框架就已经出来了,并以策划书的形式提交给制作组的其它部门。不过,这个框架还非常的粗糙,美术设计人员、程序设计人员虽然知道自己将要做些什么,但具体行动却困难重重,常有无从下手的感觉。相比较而言,音乐设计师的弹性要大得多,只要知道了大致的剧情,音乐师就可以任意挥洒去了。 所以在制作开始后策划最先要做的事情就是将游戏模式细化,称之为"结构设定"似乎更专业化一点。结构设定的重点是建立各种子模型并确定各子模型之间的逻辑关系。一旦所有的逻辑关系一确定,程序员就可以用具体的程序行来描述各个组成部分以及整个游戏的数学模型了。 结构设定是一件很繁杂的工作,稍有纰漏就可能导致整个框架的崩溃。以《地雷战》为例,兵种、人物、战术、地雷、地形、物品、攻击范围、杀伤范围等即为各种子模型,下面是一个体现各子模型之间相互关系的简单示意图。显然这并不能代表整个模型。
其中某些关联是多重的,如战术本来只与兵种有关,某一特定兵种的战术也是一定的。但是,如果某队员经过了转职的过程,那么该队员(人物)也就和战术建立了一种关联,因为我们在策划案中确定了一项游戏规则:队员转职后将保留原有的战术。同样的,队员的攻击范围和杀伤范围最初也只和兵种有关,但队员升级后攻击范围和杀伤范围也将增加,这样队员(人物)和几种范围有就建立了关联。 人物, 兵种, 地雷, 战术, 地形, 物品, 攻击范围, 杀伤范围; 某些子模型之间的关联是通过数字来体现的。如地雷和物品中材料的关联就是地雷的配方,即制作某一种地雷需要的材料的品种及其数量,这里材料的数量就是一组数字。物品中的武器装备改变装备部队的攻击力和防御力,攻击力和防御力的增加量也是用数字实现的。还有地雷、战术和攻击物品对敌方的杀伤点数,不同兵种对同一敌方部队的杀伤点数,不同等级的同样兵种对同一敌方部队的杀伤点数,等等,也需要用数字来确定。 这些数字决定游戏的难度、平衡性和合理性,其重要性不言而喻。对这些数字的确定称之为"数据设定",以和"结构设定"加以区分。当然,"结构设定"和"数据设定"之间是有很大一个交集的,许多时候二者并不能严格区分开来。 进行结构设定的时候,需要的数字都是一个估计的数字,这个数字不过是让程序员有事情做而已,真正的数据设定是在作品的测试阶段进行的。
2、各类任务单的拟定
这主要是面对美术设计师和音乐设计师的。将游戏中所有需要用美术来表现的组成部分提炼出来,以任务单的形式分发给美术设计人员,让美术设计人员以各种图象、图形的形式构成游戏需要的组件。 美术方面的工作大致包括人物(头像和形体)、场景(地图和背景)、战斗(动作和效果)和动画(局部动画和全屏动画)等几个大的组成部分。 人物部分包括头像和形体两个组成部分。头像表现人物的容貌,能够体现人物的气质和性格,因此对于有个性的人物一定要给美工一个说明。形体部分有一个很重要的参数就是动作数,如上下左右运动,拾取物品,或某些NPC的固定动作,等。动作数严重影响工作量,所以在拟定任务单时要给出一个说明。 场景的重头是地图系统,不论在什么类型的游戏中,地图系统都是一个很重要的组成部分,它决定玩家在游戏中的活动区域。场景的另一个内涵是各种相对固定的背景,如战斗背景,武器店、杂货店的背景等。
战斗系统在美术方面的体现也是两个部分,一个是战斗时人物的动作,一个是战斗产生的效果。 无论什么游戏中,动画总是占有很重要的地位。随着储存技术的发展,一些游戏的动画越做越大,很大程度上已经成了一个游戏公司技术力量的体现了。 游戏中的动画大致有三类,可分别称之为程序动画、NPC动画和全屏动画。 程序动画本身不由美工完成,而是采用程序的手段来实现,主要用于人物的移动,以及必然事件的触发。如《剑侠情缘》一开始,独孤剑的师傅回来时受了重伤,独孤剑去见师傅,一进门就产生一段独孤剑和师弟走到师傅床前的动画,这就是由程序实现的。 NPC动画是指美工将NPC的形体、动作作进行修改、添加后在某一固定场景(通常就是地图)中产生的动画,通常用于交代某段必然的通过普通方式又不容易实现的剧情,如《剑侠情缘》中独孤剑在临城里施展轻功飞身上青楼,张如梦和南宫彩虹在剑门关拜天地,《地雷战》中"抢夺粮食"一关里,飞虎队跃上火车让火车停下来,都是采用的NPC动画。 全屏动画不受场景的限制,能够很好地烘托环境的气氛,细腻地表达剧情,但工作量大,对创意方面的要求高,所有游戏中一般只在比较关键的地方才使用。全屏动画用得最多的地方是片头和片尾。 在安排动画的创作时,应根据具体情况决定动画的种类,既要保证工作量合适,又要能够比较完美地体现需要表达的故事情节。
3、剧情的细化与装配程序的撰写
所谓剧情的细化就是将整个故事分解为极小的事件单元,然后通过具体的游戏行为(玩家的操作和程序的控制)来实现它们。 事件的触发与结束构成游戏的进程,对事件的描述构成游戏的装配程序。装配程序实际上就是策划给程序员写的程序流程图,笔者发现用BASIC来写装配程序最合适不过了。 装配程序算是策划对自己工作的一个小结,装配程序一旦完成并得到程序员的实施(用汇编、c、c++或是其它什么东西产生一个exe文件)后,游戏的主体制作就基本完工,继而进入测试阶段。
三、后期工作
1、作品的测试、调整与改进
如果把策划的工作分一个轻重,那么工作的重点只有两个:一个就是结构设定,构成整个游戏系统的模型;一个就是数据设定,确定整个游戏系统的难度,各部队之间的平衡性,玩家和电脑之间的公平性。
2、宣传
宣传工作是游戏作品进入市场之前重要的一环,可以用一个简单的公式来表达一个作品的商业效果:销量=质量+宣传。 策划是对游戏作品最了解的人,要让玩家真正了解作品的精髓,许多时候还非得策划来现身说法不可。游戏作品的宣传工作大致分为三个方面,即广告、新闻和首发式。 广告的费用在制作成本中占有很大的比例,《剑侠情缘》和《地雷战》的广告费用都是30万左右。虽然这两个作品的广告都是专人设计和制作的,但其中的文字部分基本上都是游戏策划人员提供的。 首发式可以产生一定的轰动效应,并制造出新闻来。《剑侠情缘》在北京、上海、广州、武汉、成都、福州六大城市同时举行首发式,其轰动效应就比较明显,一个多月内就销售了2万多套,工厂赶制了三批,最后仍然造成了供货中断。尽管如此,《剑侠情缘》仍是迄今为止销量最多的国产游戏软件(大陆地区)。《抗日--地雷战》在南京大屠杀纪念馆举行首发式,当时就吸引了南京、上海的数十家新闻媒体的记者到会,并有不少南京市党政部门的领导也到场,当天晚上当地各电视台就在新闻栏目里播出了有关的报道,次日各大报刊也刊登了有关的消息。 在游戏制作期间,就经常有一些媒体来对制作组进行采访,以新闻或专访的形式作一些报道,让玩家们随时了解作品的制作情况。作品上市后新闻报道会达到一个高潮,除开各专业报刊以外,许多公众媒体也会表达他们热烈的关注。《抗日--地雷战》上市后,《人民日报》、《光明日报》、《解放日报》、《羊城晚报》等数十家大报都作了大篇幅的报道。由于这些大报的宣传,《抗日--地雷战》在国内引起了很大的反响。《珠江晚报》得知消息后派了一位副主任来公司采访,我在接待这位副主编心中很是过意不去,因为我们忽视了在珠海本地的宣传工作。有些记者多次通过电话采访,有些则专程来公司现场采访,由此也可以看出社会各界对国内电脑游戏业的支持。 在游戏制作在最后阶段,我基本上要花一半的时间来应付各方面的宣传工作,虽然金山公司有专门的宣传和营销部门。
3、发售及售后服务
由于金山公司的产品主要由北京金山进行市场营销活动,并有连邦等大型连锁销售组织作代理,所以制作人员基本上不直接参与销售活动,最多是给想先睹为快的BBS站站友提前几天发几套出去而已。 但是,游戏作品的售后服务基本上都是由制作人员来完成的。
1.什么是字节码?它对Java的Internet程序设计为何十分重要?
字节码是一种高度优化的指令集,由Java运行时解释器执行,可以帮助Java获得可移植性和安全性。
2.面向对象程序设计的3个重要原则是什么?
封装、多态性和继承。
3.什么是变量?
变量是一种命名的内存地址,变量的内容可以在程序运行时修改。
4.什么样的变量名无效?
变量名只可以是 字母(A/a)、下划线(_)及美圆符号($)开头,数字做开头的变量无效。
5.如何创建单行注释与多行注释?
单行注释以“//开始”,在行尾结束。多行注释以“/*”开始,以“*/”结束。
6.语句在一行中的放置位置有限制吗?
没有限制。Java是一种形式自由的语言。
7.Java为什么要严格指定其简单类型的取值范围和行为?
Java严格指定其简单类型的取值范围和行为是为了确保跨平台的可移植性。
8.Java的字符类型是什么?它与其他大多数程序设计语言的字符类型的不同之处是什么?
Java的字符类型是char。Java字符采用Unicode编码格式而不是ASCII格式,后者是大多数其他计算机语言采用的格式。
9.因为任何非0值都为true,所以boolean值可以取任何你想要的值,对吗?
不对,boolean值只能是true或者false。
10.解释自增运算符的前缀形式与后缀形式的不同?
当自增运算符在其操作数之前,Java将会先执行对应的操作,然后获得操作数的值用语表达式的其他部分。如果运算符位于操作数之后,Java 将会在自增之前获得操作数的值。
11.在表达式中,byte和short升级为什么类型?
在表达式中,byte和short升级为 int 类型。
12.总述什么时候需要强制转换?
当在不兼容的类型之间转换时,或者窄域转换发生时,需要使用强制转换。
漂亮的游戏开始画面
介绍一个游戏开始的画面。
先建两个类 MenuScreen.java SimpleCustomMenuWithBGFont.java用于测试
首先说下SimpleCustomMenuWithBGFont.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
//import java.util.*;
public class SimpleCustomMenuWithBGFont extends MIDlet implements CommandListener {
Display display;
Display pauseDisplay;
boolean isSplash = true;
MenuScreen menuScreen;
public SimpleCustomMenuWithBGFont() {
MenuScreen menuScreen = new MenuScreen();
display = Display.getDisplay(this);
display.setCurrent(menuScreen);
}
protected void startApp() throws MIDletStateChangeException {
}
protected void pauseApp() { }
protected void destroyApp (boolean flag) throws MIDletStateChangeException {}
public void commandAction (Command cmd, Displayable dis) {
}
}
这个类很简单,就是作为了测试使用的。
主要来介绍一下MenuScreen.java
import javax.microedition.lcdui.*;
public class MenuScreen extends Canvas implements Runnable {
// 设置字体
static final Font lowFont = Font.getFont (Font.FACE_MONOSPACE, Font.STYLE_PLAIN, Font.SIZE_SMALL);
static final Font highFont = Font.getFont (Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
static final int NEW_GAME = 0;
static final int HIGH_SCORE = 1;
static final int SETTINGS = 2;
static final int HELP = 3;
static final int ABOUT = 4;
static final int MENU_ITEM_COUNT = 5;
// 设置颜色
static final int lowColor = 0x0000FF00; // Not Highlighted
static final int highColor = 0x000000FF; // Highlighted
static final int highBGColor = 0x00CCCCCC; // Highlighted Background
static int width; //屏幕宽
static int height; // 屏幕高
static int startHeight; // 菜单开始的高度
static final int spacing = highFont.getHeight()/2; // 菜单项间的距离
// 菜单项
static final String[] mainMenu = {"New Game","High Score","Settings","Help","About"};
// 当前高亮显示的索引号
static int menuIdx;
Thread thread;
// 背景图
Image bgImage;
//构造
public MenuScreen() {
width = getWidth();
height = getHeight();
// 计算菜单开始的高度
startHeight = (highFont.getHeight() * mainMenu.length) + ((mainMenu.length-1) * spacing);
startHeight = (height - startHeight) / 2;
// 默认所选为菜单的第一项
menuIdx = 0;
try {
bgImage = Image.createImage("/res/bg.png");
} catch (Exception e) {}
thread = new Thread(this);
thread.start();
}
public void run() {
while(true) {
repaint();
}
}
public void paint(Graphics g) {
//清屏
g.setColor(0x00000000);
g.fillRect(0,0,width,height);
// 背景
g.drawImage(bgImage,(width - bgImage.getWidth()) / 2, (height - bgImage.getHeight())/2,20);
for (int i=0; i<mainMenu.length; i++) {
if (i==menuIdx) {
//g.setColor(highBGColor);
//g.fillRect(0,startHeight + (i*highFont.getHeight()) + spacing,width,highFont.getHeight());
g.setFont(highFont);
g.setColor(highColor);
g.drawString(mainMenu,
(width - highFont.stringWidth(mainMenu)) / 2,
startHeight + (i*highFont.getHeight()) + spacing,
20
);
} else {
g.setFont(lowFont);
g.setColor(lowColor);
g.drawString(mainMenu,
(width - lowFont.stringWidth(mainMenu) ) / 2,
startHeight + (i*highFont.getHeight()) + spacing,
20
);
}
}
}
protected void keyPressed (int code) {
if (getGameAction(code) == Canvas.UP && menuIdx - 1 >= 0) {
menuIdx--;
} else if (getGameAction(code) == Canvas.DOWN && menuIdx + 1 < mainMenu.length) {
menuIdx++;
}else if (getGameAction(code) == Canvas.FIRE)
switch(menuIdx) {
case NEW_GAME: System.out.println("Start New Game"); break;
case HIGH_SCORE: System.out.println("Display High Score"); break;
case SETTINGS: System.out.println("Display Settings"); break;
case HELP: System.out.println("Display Help"); break;
case ABOUT: System.out.println("Display About Info."); break;
}
}
}
顺便这里介绍一下J2ME中的字体:
字体的属性由:字体类型,风格和字体大小构成,请注意颜色并不是字体的属性。字体
类型由Form类中的静态常量进行定义,可能的取值:
FACE_MONOSPACE: 等宽字体
FACE_PROPORTIONAL: 比例字体,非常宽
FACE_SYSTEM: 系统字体
字体风格由Font 类中的静态常量进行定义,字体风格是可以多选的,可能的取值为:
STYLE_BOLD : 加粗
STYLE_ITALIC :斜体
STYLE_PLAIN :常规
STYLE_UNDERLINED:带下划线字体
字体由Font 类中的静态常量进行定义,可能的取值为:
SIZE_LARGE: 大号字体
SIZE_MEDIUM: 中号字体
SIZE_SMALL: 小号字体
创建字体时并不是通过Font 类的构造方法来创建,而是利用Font类的静态方法
static Font getFont(int face,int style,int size)来创建字体。或者利用
static font getDefauleFont()来创建系统默认字体。
在MIDP v2.0中,为Font类增加了新的一个方法用于创建字体,即 static Font
getFont(int fontSpecifier),参数fontSpecifier的取值范围被定义为Font类
的静态常量,目前只能由俩种取值:
FONT_STATIC_TEXT:静态文本字体,定义了屏幕显示时设备采用的字体
FONT_INPUT_TEXT:输入文体,定义了在用户输入时设备采用的字体
在显示文字时,如果文字过长而超过当前屏幕的宽度,那么多余的部分将无法显示,
所以为了有效地显示文字可以用检测字符或者字符串的宽度的方法,由程序判断每
行输出的字符数,来达到更好的显示效果.
J2ME游戏中的图片处理
图片资源乃是游戏的外衣,直接影响一个游戏是否看上去很美。在J2ME游戏开发中,由于受到容量和内存的两重限制,图片使用受到极大的限制。在这种环境中,处理好图片的使用问题就显得更加重要。
本文从容量和内存两个方面谈谈J2ME游戏图片处理的基本方法。
一 减少图片容量
方法1:将多张png图片集成到一张图片上。
这是最基本也是最有效的减少png图片容量的办法了。比如你有10张png图片,每张10×15,现在你可以把它集成到一张100×15或者10×150或者X×X的图片上去。这张大png图片的容量比10张png图片的总容量小很多。这是因为省去了9张图片的文件头,文件结束数据块等等,而且合并了调色板(如果10张图片的调色板恰好相同,则省去了9张图片的调色板所占的容量!这是个不小的数字)
方法2:减少图片的颜色数
减少颜色也算是一个方法?我想说的是什么时候减,谁去减。如果游戏完成后发现容量超出,此时在用优化工具减少颜色,虽然能降低图片容量,但图片效果可能就不让你满意了。所以,在美工作图时就要确定使用的颜色数,手机游戏使用的是象素图,即一个象素一个象素点出来的图像,所以预先规定调色板颜色数量是可以办到的。不过,最终使用优化工具也是有用的,有时候相差一两种颜色,但效果差别并不大,容量却可以变小一些。呵呵,减少颜色确实可以算是一种方法。
方法3:尽可能使用旋转和翻转
这点不用解释了
方法4:使用换调色板技术和自定义图片格式
如果前两种方法还不能满足你对容量的要求,而你的游戏中恰好使用了很多仅颜色不同的怪物,那么可以试试换调色板技术。J2ME规范中规定手机至少可以支持png格式的图片,每张png都带有调色板数据,如果两张图片除了颜色不同而其他(包括颜色数)完全相同,则只要保存一张图片和其他图片的调色板,这相对于保存多张图片来说节省了不少容量。不过这个方法挺麻烦,你得了解png文件格式,然后做一个工具提取出调色板数据和调色板数据块在png文件中的偏移。内存中保存图像仍使用Image,如果要换调色板,则将png文件读入到一个字节数组中,根据调色板数据块在png中的偏移,用新的调色板代替原来的调色板数据,然后用这个字节数组创建出换色后的Image。也许你觉得保存一张png和n份调色板数据的方法有点浪费。至少多保存了1份调色板数据啊!如果直接将图像数据提取出来,在加上n份调色板数据,岂不是更节省容量。但是使用上面的方法,我们还可以用drawImage渲染。如果这样自定义了图片格式,那只有自己写个渲染函数了,这倒还可以,只不过put pixel的速度在某些机器上非常慢。或者自己构造png格式数据,再使用Image.如果你真得决定这么做,我还有个小建议,不要对图像数据进行压缩,zip压缩大多数时候比你写得压缩算法好(参见J2ME Game开发笔记-压缩还是不压缩)。论坛上有位朋友提过使用bmp格式代替png格式,jar中图片容量更小,也是一个道理。
二 减少图片所占内存
1 图片所占内存的计算
png图片所占用的内存并不对应于图片容量。图片占用的内存的计算为:width*height*bpp。bpp即为系统内置的颜色位数。以Nokia 6600为例,象素格式为565共16位。所以一张100*100的图片占用100*100*(16/8)=20000字节,约为19.5k的内存。象素格式是固定的无法改变,所以只有减少图片的宽和高才能降低其消耗的内存。
2 减少Image对象数量可节约大量内存
减少Image对象数量不等于减少图片数量。我的意思是说,将一张集成图保存在一个Image对象中,通过setClip的方法从这个Iamge对象中选取你需要的图像渲染。不过这个方法牺牲了一点速度,每帧都从集成图Image中减切图像的速度比无减切的渲染慢。但对于数目不多的渲染,比如精灵,使用这个方法没问题。这个方法还有一个问题就是不能释放集成图中不需要的图片,这就要看你集成的程度了。从图片容量和内存管理的角度综合考虑,我一般使用二次集成的方法。比如有n个精灵,先将各精灵所有的图片集成到一张集成图中,得到n张集成图,然后将这n张集成图再次集成到一张更大的集成图中。这样在jar中只存在一张集成图。使用时,先将大集成图分割载入到n个Image对象中即可。这样各个精灵的图片可以单独管理了。
3 使用旋转和翻转
只保存一个原始的Image,需要时再旋转或翻转
游戏策划——略懂程序,美术,音话剧,戏剧编导,心理学……
游戏项目-策划专员
任职要求:
1. 大专学历以上。
2. 熟悉网络社区生活,熟悉网络游戏,并善于总结网络用户或玩家的行为规律。
3. 具备良好的创造能力
4. 具有一定程序设计概念者
5. 具备很强的文字组织能力;
6. 有技术背景或有网游设计经验者优先。
游戏项目-高级策划专员
任职要求:
1. 具有逻辑学,统计学以及经济理论知识基础;
2. 具有大量游戏经验,具备良好的创造能力;
3. 具有一定程序设计概念者;
4. 具有可量化、体系化游戏配平数据调谐能力者;
5. 熟悉中国文化、对中国历史有深入了解,对中国神话体系等有全面了解;
或者熟悉欧美历史,对魔幻体系以及基本架空世界观有全面了解。
6. 很强的文字组织能力。
国内手机无线游戏市场前景分析(1)
http://www.51let.net/Article_Show.asp?ArticleID=511国内手机无线游戏市场前景分析(2)
http://www.51let.net/Article_Show.asp?ArticleID=513=======================================
国内一些优秀的手机软件公司
清华深讯(
http://www.tssx.com.cn)
空中信使(
http://www.kongzhong.com)
新热力科技(
http://www.yunfei.com/)
掌星科技(
http://www.joymobile.com)
数位红软件应用(
http://www.worldup.com)
九天互动数据(
http://www.bjsky9.com/)
至通信息(
http://www.gm365.com)
阳光加信(
http://www.ray5198.com/)
联梦娱乐(
http://www.oofcybw.zj001.net/)
优一百(
http://www.u100.cn)
Magus soft(
http://www.magus-soft.com/)
逆火多媒体工作室(
http://www.nmprod.com/)
掌坤科技(
http://www.msoft.com.cn/mobile_game.htm)
掌中仙境(
http://www.palmsp.com/)
中国java网(
http://www.cnjm.net/)
downloadgame(
http://www.downgame.com/)