囧Artificial|17种方式减少你在AI原型时周转时间的方法...

来源: 右边LINK ==

17种方式减少你在AI原型时周转时间的方法 当你的工作是构建一个智能系统时, 你大部分的时间都将花在测试和调节更好的结果上..

倘若你浪费一半的工作日去等待编译又或者是什么事情发生..就根本无法达到最高的生产力和效率...

1通过以下tips可以帮助你在这方面做得更好

  1. BuildingTips 1-7tips为节约编译和Link时间
  2. LoadingTips 8-11 读取配置类
  3. TestingTips 12-17 交互游戏和AI
2tips 2.1单元测试
=测试用例最后一般都能被当作example用...
经常对自己的代码做单元测试,其实不需要太多时间...
( == 最近开始用了CppUint...单元测试绝对能让开发安心不少... 每写一部分都要测试下!

2.2分布式编译
使用分布式编译工具较少编译时间
现在一般自己开发引擎的公司都有用分布式编译吧...囧
选择编译的时间
就像美工选择渲染时间一样, 你不要把大量的编译时间放在你的工作时间中...这样会严重影响工作效率的....可以放在晚上挂家或者午休的时候... 2.3使用Edit & Continue IDE功能
  1. 编辑后依然可以继续运行的...VS就支持这样的功能...
  2. 分布式编译可能不支持
2.4库和分支
  1. Core lib不经常改变... 把每个游戏子系统分别编译成不同的DLL...
  2. 把AI逻辑特别地独立分离出来, 没必要和其他部分整个一起编译...
  3. Eitheruse a separate branch in source control, or build dependent libraries once and for all to reduce build times even further.
2.5混合编译类型
2.5.1考虑同时可以使用2种方式编译...不同的情况做不同的选择...
  • Debug
  • Release
2.5.22种类型的优缺点
  • Debug调试信息多, 但速度慢
  • Release则相反
NOTE

让AI逻辑保持在DEBUG模式
2.6使用DLL
  1. 如果引擎够强壮的话你可以把AI逻辑放在不同的DLL中
  2. 让你引擎可以在Runtime load and reload新库
  3. 担心内存问题
2.7脚本语言
  1. 只要是关于逻辑和行为的, 不要犹豫! 都用脚本语言实现..
  2. 只有关键部分代码才编译成DLL,其他部分都用动态解释语言以避免烦杂的编译周期..
2.8低图形测试用Level
叫美工建些调试用场景和人物先...当然你要保证团队中其他人同意...
2.9情景脚本
通过脚本让你的游戏起动的时候就可以到达某个需要调试的情景... 比如我在游戏一起动就可以进行测试这段特殊剧情部分...

2.10游戏存档
2.10.1同上 存档调试是必要的...你可以通过读档的方式载入一定进度...

2.11使用命令行
让游戏程序支持用命令行进行各种控制...

2.12可定制的游戏逻辑
  1. 不要犹豫调节游戏的启动状态, 把你的引擎设计得更容易改变游戏的状态...
  2. set parameters such that you don’t have to wait too long
2.13Debug工具和命令行
2.14存储设置和参数
在配置中设置调试参数, 你可以用.ini或者.cfg文件保存一些调试开关配置, 必要时支持从游戏中保存这些参数
2.15纸上设计
不要用计算机, 而是 多在纸上设计画你的草案先 ... 先设计在编码!

=mindmap美


2.16Interleaved Editing & Testing
如果你不想使用 Edit & Continue ,设置编译器在运行时忽略你的新改变继续运行...

=考虑在游戏运行时使用test framework


2.17把精力集中在移除瓶颈上
当你在沉陷于实现细节泥塘的时候, 可以简单地把问题记下来并先忽略它, 记住什么才是重要的。
(我经常犯这样的错误...

=保持跟踪你在开发中花费的时间


【囧Artificial|17种方式减少你在AI原型时周转时间的方法...】概念图版请参考这里






-----------------------------脑残分割线-------------------------------------
吐槽...CU BLOG比CSDN的好用多了.... 也快...
囧看这里...

CU XSK

    推荐阅读