我正在为一个我用C#创建的简单游戏开发AI播放器。我将创造一批机器人,并在几代人之间进行改进。
我想知道是否有任何框架可能对这种测试/开发有利。理想情况下,我想要一些可以将任何/某种类型的游戏插入并说出来的东西,好吧,有一群X在Y代上运行它并为我绘制结果图。
我正在思考如何为我创建一些可以为我做这件事的东西,并允许我稍后将其重用于不同的AI项目,而我能想到的只是拥有某种核心代码和一些接口契约。游戏和AI会使用,以便服务器可以编写脚本。
你有什么想法,有没有人对这类事有任何实际经验?
答案 0 :(得分:2)
它被称为遗传算法框架。任何风味都可以通过谷歌获得。
答案 1 :(得分:0)
我对AI没有经验,但就个人而言,我会从一个标准的单元测试框架开始。您可以根据需要使用辅助方法扩展测试类(甚至扩展许多框架)。
翻到Osherove The Art of Unit Testing的附录中,我从NUnit开始,如果不符合我的需要,请尝试MbUnit或xUnit。
我回应拉瓦德尔上面的评论。
编辑:我重读了你的原帖,我不确定我的答案是否足够。虽然我高度提倡在开发过程中进行单元测试(或者更好,TDD),但您似乎正在寻找一种方法来判断哪些机器人最成功。这超出了单元测试和(可以说)超出集成测试的范围。我(未经测试)的怀疑是,从头开始为您的代码编写一个能够完全按照您想要的方式编写线束并不是特别困难 - 运行多次迭代/排列并绘制结果图表。测试框架会给你通过/失败的结果,但这不是你想要的。如果您为机器人和游戏创建界面,则可以轻松插入它们。