来源: 右边LINK ==
17种方式减少你在AI原型时周转时间的方法 当你的工作是构建一个智能系统时, 你大部分的时间都将花在测试和调节更好的结果上..
倘若你浪费一半的工作日去等待编译又或者是什么事情发生..就根本无法达到最高的生产力和效率...
1通过以下tips可以帮助你在这方面做得更好
- BuildingTips 1-7tips为节约编译和Link时间
- LoadingTips 8-11 读取配置类
- TestingTips 12-17 交互游戏和AI
=测试用例最后一般都能被当作example用... |
( == 最近开始用了CppUint...单元测试绝对能让开发安心不少... 每写一部分都要测试下!
2.2分布式编译
使用分布式编译工具较少编译时间
现在一般自己开发引擎的公司都有用分布式编译吧...囧
选择编译的时间
就像美工选择渲染时间一样, 你不要把大量的编译时间放在你的工作时间中...这样会严重影响工作效率的....可以放在晚上挂家或者午休的时候... 2.3使用Edit & Continue IDE功能
- 编辑后依然可以继续运行的...VS就支持这样的功能...
- 分布式编译可能不支持
- Core lib不经常改变... 把每个游戏子系统分别编译成不同的DLL...
- 把AI逻辑特别地独立分离出来, 没必要和其他部分整个一起编译...
- Eitheruse a separate branch in source control, or build dependent libraries once and for all to reduce build times even further.
2.5.1考虑同时可以使用2种方式编译...不同的情况做不同的选择...
- Debug
- Release
- Debug调试信息多, 但速度慢
- Release则相反
让AI逻辑保持在DEBUG模式
2.6使用DLL
- 如果引擎够强壮的话你可以把AI逻辑放在不同的DLL中
- 让你引擎可以在Runtime load and reload新库
- 担心内存问题
- 只要是关于逻辑和行为的, 不要犹豫! 都用脚本语言实现..
- 只有关键部分代码才编译成DLL,其他部分都用动态解释语言以避免烦杂的编译周期..
叫美工建些调试用场景和人物先...当然你要保证团队中其他人同意...
2.9情景脚本
通过脚本让你的游戏起动的时候就可以到达某个需要调试的情景... 比如我在游戏一起动就可以进行测试这段特殊剧情部分...
2.10游戏存档
2.10.1同上 存档调试是必要的...你可以通过读档的方式载入一定进度...
2.11使用命令行
让游戏程序支持用命令行进行各种控制...
2.12可定制的游戏逻辑
- 不要犹豫调节游戏的启动状态, 把你的引擎设计得更容易改变游戏的状态...
- set parameters such that you don’t have to wait too long
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