<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>YGOPro服务器与客户端开发如何入门</title> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196</link> <description>之前发过一个贴,展示了我基于ygopro-core与强化学习开发的游戏王AI https://github.com/sbl1996/ygo-agent 最近感觉AI训练已经初有成效,想做一下可视化,实现类似Windbot的效果,涉及到对YGOPro服务器及客户端的代码修改。请问各位大佬现有兼容ygopro-core的库哪个比较适合入门与自定义修改,有没有方便和ygopro开发者讨论的地方比如QQ群,discord等,能深入交流的。谢谢!</description> <language>zh-CN</language> <lastBuildDate>Tue, 07 May 2024 02:27:28 +0000</lastBuildDate> <category>日常交流</category> <atom:link href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss" rel="self" type="application/rss+xml" /> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[sktt1ryze]]></dc:creator> <description><![CDATA[ <p>我大概理解了您的意思,首先Neos是一个前端,它无法获取对手的手牌和盖卡信息,除此之外所有的信息都可以获得;历史动作信息这个如果我没理解错的话,它是不是和Master Duel的对战历史框的内容比较类似?历史动作信息这个Neos暂时没有保存下来,但我们后面打算做的事情正好需要实现这一点。<br> 另外看起来您的意思是想让AI模型跑在浏览器上,让它作为一名玩家进行部署。对于这点,我的想法是:</p> <ol> <li>和AI对战:如果要想实现AI对战的话,在边缘测(玩家浏览器上)部署AI模型不是最佳方案,技术上也不太可行(因为你无法和自己进行websocket连接)。比较好的做法是在服务器侧,整体上作为一种人机部署AI模型(类似“我太帅了”这样的WinBot)。这样做工程上更合理,后续也更方便拓展和优化。</li> <li>Neos显示AI预测结果:这个功能像朋友说的那样在Neos侧实现则是一个比较合理的做法。Neos增加UI来显示这些AI预测信息也是比较方便。但这里有个问题是朋友的AI模型应该是python实现的?还是说这个模型是一种专有的格式?简而言之,我们需要考虑下如何在浏览器上执行模型的推理功能。</li> </ol> <p>对于上面两点,我觉得2可行性高一点,因为ygopro生态里后端的架构比较复杂,如果您想要做1的话需要找到MyCard服务器的管理员,和他进行沟通。第2点的话只需要在Neos上做实现就好了。</p> <p>对于分工,我觉得您的提案就是没问题,核心工作就是需要实现一个模块,这个模块接收当前状态和历史动作输入,然后输出预测结果,也就是推荐给玩家的下一步动作。并且这个模块可以在浏览器上运行(WebAssambly好像可行?)。</p> <p>最后,您可以加入我们的研发qq群进行深一步的讨论:<div class="lightbox-wrapper"><a class="lightbox" href="https://cdn02.moecube.com:444/ygobbs/original/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9.jpeg" data-download-href="/uploads/short-url/yJufMATEDBKfT23veKr7f30Sleh.jpeg?dl=1" title="Neos研发小队" rel="noopener nofollow ugc"><img src="https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_350x622.jpeg" alt="Neos研发小队" data-base62-sha1="yJufMATEDBKfT23veKr7f30Sleh" width="350" height="622" srcset="https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_350x622.jpeg, https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_525x933.jpeg 1.5x, https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_700x1244.jpeg 2x, https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_1050x1866.jpeg 3x" data-small-upload="https://cdn02.moecube.com:444/ygobbs/optimized/3X/f/3/f36e425b49a3d45334bf6a8f11c5578ded52c9f9_2_10x10.png"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg><span class="filename">Neos研发小队</span><span class="informations">1125×2001 130 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg></div></a></div></p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/6">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/6</link> <pubDate>Tue, 07 May 2024 02:27:28 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-6</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[sktt1ryze]]></dc:creator> <description><![CDATA[ <p>厉害<img src="https://ygobbs-poll.moenext.com:444/images/emoji/google_classic/+1.png?v=9" title=":+1:" class="emoji" alt=":+1:">我这几天花时间看下,尽快回复朋友。感谢 <img src="//ygobbs.minio.mycard.moe:9000/original/3X/e/9/e9fbe18f54654cb7ff4764a74f09b49de56c1837.gif?v=9" title=":bgif_2_:" class="emoji emoji-custom" alt=":bgif_2_:"></p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/5">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/5</link> <pubDate>Sat, 04 May 2024 13:52:18 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-5</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[hastur_official]]></dc:creator> <description><![CDATA[ <p>我粗略研究了一下Neos,发现一种可能的AI整合方式。我的AI核心是每步接受状态输入,输出动作,这里的动作就是所有要玩家做选择的,包括select_card, select_ position, select_chain等。状态输入包括我方及对方的卡的信息(对方的信息需要确定哪些不显示),全局状态(双方LP,回合数,当前阶段,双方卡组/手牌/场上/墓地/额外卡片数),双方历史动作信息。如果Neos能提供这些信息,AI就能正常运行,我的AI模型很小,甚至可以用CPU实时跑在浏览器上。<br> 实现和AI对战的方式,我猜想可能是,玩家选择AI对战模式,Neos像正常匹配一样在服务器创建一个房间,对于服务器来说两方都是正常玩家,而对于Neos,一方是选择AI对战的玩家,一方是AI,AI这边由Neos来模拟玩家发送AI的选择。<br> 对于Neos能否提供AI需要的状态输入,我只有一点不太确定,上面这种方式,能准确记录双方的历史动作信息吗,就是动作类型是什么(e.g., select_card),选择的结果是什么。<br> Neos还可以针对AI给出一些专有的提示,比如AI预测的结果其实是当前所有可行动作的概率,以及我方当前状态下的胜率,Neos可以用专门的UI来显示这些信息。<br> 因为我也懂一些Web开发,所以只要告诉我如何获得模型需要的输入,我可以实现上面的模型相关的部分,最终可能表现为一个函数,在需要玩家选择时调用,给出AI预测的选择结果。对于剩下的如何实现玩家和AI对战部分,我就完全不懂了,可能就需要您帮忙了。<br> 非常期望一起实现游戏王AI的可视化。</p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/4">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/4</link> <pubDate>Sat, 04 May 2024 10:13:28 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-4</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[hastur_official]]></dc:creator> <description><![CDATA[ <p>可能是我的表述有误,不需要修改ygopro-core,需要修改的是ygopro的服务器与客户端交互逻辑。我刚发现Neos的文档很详细,我先参考一下。</p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/3">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/3</link> <pubDate>Sat, 20 Apr 2024 15:18:51 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-3</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[sktt1ryze]]></dc:creator> <description><![CDATA[ <p>我理解<code>ygopro-core</code>在整个ygopro生态中是一个比较底层的基础库,训练一个游戏王对战AI的话应该不需要修改这个库才对。<br> Anyway,我是网页版YGOPro(Neos)的作者,如果您有想要了解的关于ygopro的东西的话可以联系我邮箱<a href="mailto:ccc@neos.moe">ccc@neos.moe</a>。Neos是一个我参考ygopro客户端源码重新实现的网页版前端,可以自信地说相比ygopro(2)客户端它的代码结构更合理,可读性也更强。如果您感兴趣,我们可以一起讨论游戏王AI如何可视化。<br> 另外MC社团有个qq群用于技术讨论,不过我没管理员权限。您可能需要联系社区管理员<code>星光pokeboy</code>。<br> <img src="//ygobbs.minio.mycard.moe:9000/original/3X/b/6/b6039690b61c0e9b2662fd040d18f5b0cd75e81e.jpeg?v=9" title=":wt_28u_b1ju_y_7_ydg_3:" class="emoji emoji-custom only-emoji" alt=":wt_28u_b1ju_y_7_ydg_3:"></p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/2">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/2</link> <pubDate>Sat, 20 Apr 2024 14:53:52 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-2</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> <item> <title>YGOPro服务器与客户端开发如何入门</title> <dc:creator><![CDATA[hastur_official]]></dc:creator> <description><![CDATA[ <p>之前发过一个贴,展示了我基于ygopro-core与强化学习开发的游戏王AI <a href="https://github.com/sbl1996/ygo-agent" rel="noopener nofollow ugc">https://github.com/sbl1996/ygo-agent</a> 最近感觉AI训练已经初有成效,想做一下可视化,实现类似Windbot的效果,涉及到对YGOPro服务器及客户端的代码修改。请问各位大佬现有兼容ygopro-core的库哪个比较适合入门与自定义修改,有没有方便和ygopro开发者讨论的地方比如QQ群,discord等,能深入交流的。谢谢!</p> <p><a href="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/1">阅读整个主题</a></p> ]]></description> <link>https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196/1</link> <pubDate>Sat, 20 Apr 2024 13:58:30 +0000</pubDate> <guid isPermaLink="false">ygobbs2.com-post-496196-1</guid> <source url="https://ygobbs2.com/t/ygopro%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8/496196.rss">YGOPro服务器与客户端开发如何入门</source> </item> </channel> </rss>