Articles of 象棋

人类vs人类的android棋牌游戏devise

首先我是游戏开发的业余爱好者,对于我的英文不好,感到抱歉。 我想做android人类vs人类的国际象棋游戏。 所以我想知道如何devise它? 场景1:用户连接到服务器,find对手并使用套接字发送移动到服务器,所以匹配在服务器端运行。 我认为这不是个好主意,因为移动应该在客户端进行validation – 还是必须在客户端validation移动? 我不认为这是很好的解决scheme,因为游戏是分开的。 场景2:使用打孔技术,所以服务器只需要连接玩家,所以游戏在Android设备上运行。 你建议采用哪种方法? 还是有更好的解决scheme? 哪个服务器最适合使用?

国际象棋引擎股票鱼stream程的移动

我正在制作我为游戏devise的国际象棋界面。 我正在使用该过程从一个库存鱼二进制获得答案: stockfish = new Process { StartInfo = new ProcessStartInfo { FileName = System.IO.Directory.GetCurrentDirectory () + "\\Assets\\Scripts\\Stockfish\\stockfish.exe", Arguments = "", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardInput = true, RedirectStandardError = true, CreateNoWindow = true } }; 我面对的问题是它适用于我的Windows版本,但移动它不会工作。 有没有办法解决它?

如何在我的Unity游戏中使用像“干鱼棋”这样的GPL软件?

我正在做一个3D国际象棋游戏,我想实现一个AI机器人玩玩家。 我find一个名为“干鱼”的国际象棋引擎,用于这个目的,我想在我的项目中实现这个引擎。 是不是像在我的项目中包含干鱼代码一样简单,或者将二进制文件作为插件导入,还是因为GPL许可证,我必须做更复杂的事情?

我可以在我的Unity游戏中使用用C ++编写的AI引擎吗? 如果是,我该怎么做?

我正在学习一些国际象棋和其他人工智能algorithm,这些实现大部分是用C和C ++编写的,我的问题是,如果我制作一个国际象棋棋盘和所有Unitygraphics的东西,我可以使用我写的algorithmC ++? 我怎样才能使这个接口? 对不起,如果这是一个noob问题,我只是从整个gamedev世界开始。

Advance Warstypes回合制游戏中使用哪种algorithm

有没有人试图开发或知道一个algorithm,如用于像Advance Wars这样的典型的基于回合的游戏中,其中对象的数量和每个对象的移动次数可能太大而不能search到像一个合理的深度会在像棋这样的小search游戏中做什么? 参与战斗,收获或移动到某个目标需要一些path,以便下一步可以采取这种行动。 有了这个,你可以建立一个search树的每个项目,导致所有项目的大树。 有了成本函数,人们可以确定最好的举措。 然后棋盘翻转到角色(最小/最大),计算机search最佳的棋手移动,并翻转等深达数个周期。 最后它find了最好的举动,现在轮到球员了。 但他现在可能已经睡着了 那么在实践中如何做呢? 我已经find了A *,DFS,BFS,评估/成本函数等方面的几个很好的来源。但是至今我还没有看到我怎样才能把它放在一起。

国际象棋中的Zobrist换位表NegaScout

我正在尝试将换位表放入我的Alpha Beta侦察员。 我认为在中后期游戏中我看到了一个递增的速度提升,但是即使是1-2GB的表格大小,也可能不会慢于从Transpose表格中读取的速度。 我也注意到,如果我没有表格玩同样的游戏,那么效率也会低一些。 我testing了我的Zobrist键哈希,即使在制作和撤消动作后,它们也能正确地出来。 我不相信他们是这个问题。 我试图按照这些文章的建议来devisealpha / beta修剪。 http://web.archive.org/web/20070809015843/http://www.seanet.com/~brucemo/topics/hashing.htm http://mediocrechess.blogspot.com/2007/01/guide-transposition- tables.html 任何人都可以帮我找出一个错误吗? 也许我不理解从散列检查alpha vs beta的评估。 或者是1-2GB太小,不能有所作为? 如果需要,我可以发布更多的换位表代码。 public int alphaBetaScout(Board board, int depth, int alpha, int beta, bool color, bool quiscence) { // !!!! With or without this specific section, and any other Transpose.Insert, doesn't make the game play or evaluate any faster. HashType […]

最好的algorithm增强α-β?

我正在学习AI。 我的老师给了我们象棋类游戏的源代码,并要求我们加强它。 我的练习是改进在那个游戏中实现的alpha / betaalgorithm。 程序员已经使用转置表,MTD(f)与alpha / beta +内存(MTD(f)是我所知道的最好的algorithm)。 那么有没有更好的algorithm来增强alpha-betasearch或在编码游戏时实现MTD(f)的好方法?