是我在LCP的有限状态机基础之上设计的。」
Jazz的诞生,其实跟《文明》也有不少关系。
正是科技树和市政树的设计启发了威尔。
「整个AI逻辑被组织成一个树状图,从根节点发散出来。」
「每个分支节点都会根据当前的状态判断,寻找符合条件的下一个子节点继续查询,直到达到树的底部。」
1
威尔滔滔不绝地讲述着这套Jazz系统的核心设计思路。
大卫越听眼睛越亮。
这太巧妙了。
可读性与可维护性高得吓人。
如果能对此开发一个专门的工具,一个AI的所有逻辑甚至可以完全交给对编程一窍不通的外行人来进行。
只需要拖拽节点、修改内容,就可以轻松设计一个AI的各种行为。
尤其是在AI需要处理的情况越来越多的现代,树状的设计仍然能让它保证清晰。
如果继续沿用大卫的FSM有限状态机设计,整个AI的源码会变成一大坨压根无法维护的屎山。
虽然林立新一直在寻找一个叫做HTN分层任务网络」的更加先进的解决方案,但在现在的机能之下,Jazz已经是各方面综合起来表现最好的解决方案了。
「这套系统————不仅仅能用在《模拟人生》中吧?」
大卫抽丝剥茧地将这套系统的核心逻辑提取出来,发现了这个惊人的事实。
GAMENOVA的每一次新内容创新,似乎都不是独立的。
看似威尔是在开发一款与《Quake》毫不相关的东西,但它————
「没错,这也是卡马克正在开发的3D引擎中会搭载的关键模块。」
林立新哈哈一笑。
游戏引擎本就是帮助开发者将游戏开发变得更轻松的工具,这麽关键的东西他自然也会搭载上去。
不管是NPC还是敌对
本章未完,请点击"下一页"继续阅读! 第3页 / 共4页