达达尼昂 | 个人原创 | 2009-12-29游戏策划常用工具[GameDesign半年工作总结之一]
游戏策划常用工具[GameDesign半年工作总结之一]
所谓工欲善其事必先利其器,合理灵活的运用工具,将会使工作效率大大提高。
以下是工作半年来陆续用到的各类软件:
文档处理、文本编辑、文件比较
Microsoft Office 2007
这个就不用多说咯…值得一提的是EXCEL&VBA。
UltraEdit-32文本编辑器
之前一直用Notepad,后来改用UltraEdit。初用时还不习惯,后来发现打开大文件和进行大量数据替换,UltraEdit的速度快得惊人,被折服了。
UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,可以取代记事本,内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般大家喜欢用其来修改EXE 或 DLL 文件。
Beyond Compare(文件比较)
Luo推荐的一款软件,刚开始研究。可以对两个文件内容进行比较,将不同之处高亮显示。
Beyond Compare是一款不可多得的专业级的文件夹和文件对比工具。使用他可以很方便的对比出两个文件夹或者文件的不同之处。并把相差的每一个字节用颜色加以表示,查看方便。并且支持多种规则对比。
游戏流程、游戏结构、游戏建模
Microsoft Office Visio 2007
不用多说,画流程图必备的。
(当然,有时候程序员同学会不仔细看Visio文件,此时还需要白板+白板笔…)
MindManager (思维导图)
明晰游戏结构、理清各系统关系,头脑风暴,MindManager是个不错的选择。
Power Designer
好吧,我承认,当第一次打开Power Designer之后,我对游戏设计有了一个全新的概念。
游戏的骨架从平时看到的画面中剥离出来,各个表结构的关联、各个字段的作用,通过Power Designer看得再清晰不过了。
利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。
图片处理、UI设计
Adobe Photoshop
地球人都知道…
Image Optimizer
一款非常小巧的图片压缩软件,压缩后的画质基本上无影响,但大小可以缩小50%以上。
UIDesigner
由腾讯CDC制作的一款UI设计软件。目前属于内测期,可以给开发团队发邮件索要该软件。
当然咯,关于UI设计,也见过达人用EXCEL做的超棒的例子,所以,软件不是最重要,关键看怎么个用法。
数据库、远程管理
db2mysql
顾名思义,一款将Access数据库文件转为MYSQL文件的软件。
当处理4W条以上数据时,软件会有短时间无法响应,建议大量数据分批转换。
(游戏策划要填的数据真多,对吧…)
MySQL Query Browser
一款MYSQL可视化操作的软件,可以直接执行SQL语句及导入SQL文件等。
(仅支持WIN…刚接触时觉得很方便很喜欢但现在很不喜欢了,因为,导入时老出错。。。因为WIN平台的原因…)
SSH Secure Shell Client
话说有时候程序太忙,或是为了提高效率,自己也客串一下,使用SSH进行远程管理。
最开始觉得敲命令太麻烦,更喜欢MySQL Query Browser,后来发现敲命令太方便了…于是成为SSH的死忠…
————分割线————
上面是这半年经常用到的各类软件,或有遗漏稍后补上。
PS:值得悲哀的是,上面大部分给的链接都是D版软件地址…这也是没办法的事情咯…
达达尼昂 | 个人原创 | 2009-11-18EXCEL不等于如何表示?
EXCEL不等于如何表示?
很简单。
A不等于0,记为【A<>0】。
起因是先设置了怪物掉落,后面将掉落的武器全部换为卷轴,需要将之前设定的武器ID改为卷轴ID。
由于非武器装备没有改变(即在新的一列中为“空”),故,需要再建一列,将所有【不等于0】的掉落替换为卷轴ID。
设TOOL_ID为A列、JUAN_ID为B列、新建列为C列。
则结合IF函数表示为:
C=IF(B<>0,B,A)
达达尼昂 | 个人原创 | 2009-11-02Excel IF函数
由于前期数值设计的不够合理,需要将怪物属性按一定规则进行调整,此时则需要用到了IF函数。
具体修改设计如下:
20级以下怪物属性不变,20~40级怪物属性按系数K1进行调整,40~50级怪物属性按系数K2进行调整,50~60级怪物属性按系数K3进行调整。
IF函数设计如下:
=IF(GRADE<=20,X,IF(GRADE<=40,X*K1,IF(GRADE<=50,X*K2,IF(GRADE<=60,X*K3,0))))
GRADE为等级
X为GRADE对应的属性值
K1、K2、K3为调整系数
【IF函数】
IF函数用于执行真假值判断后,根据逻辑测试的真假值返回不同的结果,因此If函数也称之为条件函数。
它的应用很广泛,可以使用函数 IF 对数值和公式进行条件检测。
它的语法为IF(logical_test,value_if_true,value_if_false)。
其中Logical_test表示计算结果为 TRUE 或 FALSE 的任意值或表达式。本参数可使用任何比较运算符。
Value_if_true显示在logical_test 为 TRUE 时返回的值,Value_if_true 也可以是其他公式。 Value_if_false logical_test 为 FALSE 时返回的值。Value_if_false 也可以是其他公式。
简言之,如果第一个参数logical_test返回的结果为真的话,则执行第二个参数Value_if_true的结果,否则执行第三个参数 Value_if_false的结果。
IF函数可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。
备注:
1、IF函数最多可嵌套7层,本文最前面的4个区间可用4个IF函数嵌套完成。
2、如果需要输出的单元格为空,则用双引号——“”——来表示。
3、A单元格不等于X,写为A<>X。
达达尼昂 | 个人原创 | 2009-10-31CEILING函数以及MAX函数
今天在演算回合战斗的时候碰到了2个问题,最后均用EXCEL函数解决了。
1、[向上取整]的问题。
回合战斗,计算出了战斗回合数,有小数,直接用INT取整。
后来感觉不对,回合战斗只要出现了小数,就算只是多了0.01,也应该多算一回合。
于是,需要[向上取整]来解决。
【解决方案】:CEILING函数
CEILING(number,significance))
CEILING是天花板的意思,这个函数也就是[向上取整]的意思。
number是所取的原始值,significance是需要四舍五入的倍数。
2、[负数归零]问题。
当防御够高,攻击不足以造成伤害时,应将运算出的“负数”伤害归“零”(或者以“一”表示)。
【解决方案】:MAX函数
MAX(number,0)
MAX函数是取()中的最大值。让一个值与“零”进行“最大值对比”,则负数会始终显示为“零”。
———-游戏策划分割线———-
CEILING函数
语法
CEILING(number,significance)
Number 要四舍五入的数值。
Significance 是需要四舍五入的乘数。
说明
如果参数为非数值型,CEILING 返回错误值 #VALUE!。
无论数字符号如何,都按远离 0 的方向向上舍入。如果数字已经为 Significance 的倍数,则不进行舍入。
如果 Number 和 Significance 符号不同,CEILING 返回错误值 #NUM!。
MAX函数
语法
MAX(number1,number2,…)
Number1, number2, … 是要从中找出最大值的 1 到 30 个数字参数。
说明
可以将参数指定为数字、空白单元格、逻辑值或数字的文本表达式。如果参数为错误值或不能转换成数字的文本,将产生错误。
如果参数为数组或引用,则只有数组或引用中的数字将被计算。数组或引用中的空白单元格、逻辑值或文本将被忽略。如果逻辑值和文本不能忽略,请使用函数 MAXA 来代替。
如果参数不包含数字,函数 MAX 返回 0(零)。
达达尼昂 | 个人原创 | 2009-10-16Excel中查找重复数据
【方法一】
新建一列
输入公式【=COUNTIF($A$1:$A$9,A1);1】
$A$1:$A$9为需要查找的区域
A1为该列所查找的单元格
如果数据中有大于1个A1的重复数据,则在新建列中显示TURE(没有则显示FALSE)
【方法二】
新建一列
输入公式【=IF(MATCH(B2,$B$2:$B$9,0)=ROW()-1,”",”重复数据”)】
B2为该列所查找的单元格
$B$2:$B$9为需要查找的区域
ROW()-1指的是从第2行进行判断(假设第一行的标题的话)
如果数据中有重复数据,则在新建列中该单元格旁显示“重复数据”(没有则显示空白)
【COUNTIF函数】
=countif(B1:B10,”>=80″)-countif(B1:B10,”>90″)
假设B1:B10为你的数据区域.
语法
COUNTIF(range,criteria)
Range 为需要计算其中满足条件的单元格数目的单元格区域。
Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式、单元格引用或文本。例如,条件可以表示为 32、”32″、”>32″ 、”apples” 或 B4。
说明
Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。
若要计算基于一个文本字符串或某范围内的一个数值的总和,可使用 SUMIF 工作表函数。
若要使公式返回两个基于条件的值之一,例如某指定销售金额的销售红利,可使用 IF 工作表函数。
若要计算空或非空单元格的个数,可使用 COUNTA 和 COUNTBLANK 函数。
示例 1:通用 COUNTIF 公式
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 数据 数据
2 apples 32
3 oranges 54
4 peaches 75
5 apples 86
公式 说明(结果)
=COUNTIF(A2:A5,”apples”) 计算第一列中苹果所在单元格的个数 (2)
=COUNTIF(A2:A5,A4) 计算第一列中桃所在单元格的个数 (2)
=COUNTIF(A2:A5,A3)+COUNTIF(A2:A5,A2) 计算第一列中柑桔和苹果所在单元格的个数 (3)
=COUNTIF(B2:B5,”>55″) 计算第二列中值大于 55 的单元格个数 (2)
=COUNTIF(B2:B5,”<>“&B4) 计算第二列中值不等于 75 的单元格个数 (2)
=COUNTIF(B2:B5,”>=32″)-COUNTIF(B2:B5,”>85″) 计算第二列中值大于或等于 32 且小于或等于 85 的单元格个数 (3)
【MATCH函数】
返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用 MATCH 函数而不是 LOOKUP 函数。
语法
MATCH(lookup_value,lookup_array,match_type)
Lookup_value 为需要在数据表中查找的数值。
Lookup_value 为需要在 Look_array 中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。
Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。
Match_type 为数字 -1、0 或 1。Match-type 指明 Microsoft Excel 如何在 lookup_array 中查找 lookup_value。
如果 match_type 为 1,函数 MATCH 查找小于或等于 lookup_value 的最大数值。Lookup_array 必须按升序排列:…、-2、-1、0、1、2、…、A-Z、FALSE、TRUE。
如果 match_type 为 0,函数 MATCH 查找等于 lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。
如果 match_type 为 -1,函数 MATCH 查找大于或等于 lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、…、2、1、0、-1、-2、…,等等。
如果省略 match_type,则假设为 1。
说明
函数 MATCH 返回 lookup_array 中目标值的位置,而不是数值本身。例如,MATCH(“b”,{“a”,”b”,”c”},0) 返回 2,即“b”在数组 {“a”,”b”,”c”} 中的相应位置。
查找文本值时,函数 MATCH 不区分大小写字母。
如果函数 MATCH 查找不成功,则返回错误值 #N/A。
如果 match_type 为 0 且 lookup_value 为文本,lookup_value 可以包含通配符、星号 (*) 和问号 (?)。星号可以匹配任何字符序列;问号可以匹配单个字符。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
3
4
5
A B
Product Count
Bananas 25
Oranges 38
Apples 40
Pears 41
公式 说明(结果)
=MATCH(39,B2:B5,1) 由于此处无正确的匹配,所以返回数据区域 B2:B5 中最接近的下一个值 (38) 的位置。(2)
=MATCH(41,B2:B5,0) 数据区域 B2:B5 中 41 的位置。(4)
=MATCH(40,B2:B5,-1) 由于数据区域 B2:B5 不是按降序排列,所以返回错误值。(#N/A)
【参考资料】
Excel利用Excel查找重复数据 技巧
Excel查找重复数据
在excel中用countif函数怎样求值
MATCH函数




