有没有使用过Prolog的商业视频游戏?基于规则的逻辑模型似乎在行业中占有一席之地。
PS:奇怪的是,这个问题仍然符合SO问题的所有标准。答案 0 :(得分:5)
不是商业游戏,但上周末我就是游戏堵塞,我们在Prolog中编写了整个游戏(小型MMO)。这可能只是一个幻想,但我们讨论了将游戏扩展为游戏引擎。该游戏引擎将基于规则。
我想我应该补充一点,我已经在近乎实时的prolog系统上工作了。
答案 1 :(得分:3)
我在游戏行业工作,我非常怀疑。我看过只有一个人使用prolog而且是一个构建机器人规则将git分支自动化为子产品和颠倒,而不是游戏公司。
也就是说,它可能对某些模糊人工智能有意义,但是与业务中的人工智能相关的一切都远非实践中的研究论文。真正的游戏开发者和制作者讨厌不可预测性,基本上出于商业原因,今天游戏只是互动电影。
一切都在轨道上,脚本化和控制。艺术家对算法规则非常不满意,游戏设计师也是艺术家。在我的程序员看来,具有复杂AI的游戏必须从公司的高级程序员中获益才能推动它。
或者游戏确实需要它,例如杀手。然而,如果你看到他们的一些谈话(他们在GDC,Cedec上有演讲......),他们说他们的大部分工作都是经验性的,我倾向于认为,在典型的命令式编程中做出。
第三,你也得到了维护的问题,而且人们都知道语言,这很少。大多数计算机科学专业的毕业生都会听说过它,然后在学校/大学学习一些教程,但很快就会忘记它。而且你看,在游戏公司中,很大一部分程序员是自制的,甚至辍学!这让我可以告诉你很少的prolog空间。
最后,您需要考虑一个技术问题:性能。 prolog底层执行机器对某个实时危险。因为它具有基于树枝的这种单纯形求解器,所以可以为上帝运行的启发式知道多长时间。由于平台限制,大多数游戏都使用多线程,或者由于游戏数据的同步问题,这些问题必须在很多事情的基础上同步。