返回首页
24小时热榜
嘿,HN!我在过去几个月里一直在这个项目上工作,我觉得现在是时候征求一些用户反馈了。
这是一个WASM引擎,旨在准确模拟《万智牌》(MTG)的所有规则和卡牌。据我所知,这是第一个尝试通过在运行时实时编译整个卡牌集合来实现这一目标的MTG引擎,而不是逐个编码每张卡牌。
你可以创建自己独特的卡牌进行测试(“编译卡牌”按钮就是你要找的),只要它们遵循引擎支持的语法(我正在努力使其完全支持约3万张合法可玩卡牌,目前已支持2.3万张部分支持/1.7万张完全支持)。
它还通过PeerJS支持四人P2P多人游戏大厅,尽管我没有足够的时间测试所有与网络相关的内容,所以可能会有一些隐藏的bug!
我的开发过程受到最近代理编码浪潮的强烈影响,但我认为我已经确定了一种架构,成功避免了代码中的混乱。
每张卡牌从其原始的标准化神谕文本转换为一个CardDefinition结构,其中包含该卡牌的每一个行为。到这张卡牌定义被编译时,我们已经无法访问原始的神谕文本。
卡牌编译定义中的每个效果都可以反编译为人类可读的文本,之后会根据卡牌编译的AST结构进行一系列标准化步骤,并进行后处理以清理尴尬的措辞。最终生成的编译神谕文本会与原始卡牌进行比较,使用向量嵌入技术,这样我们就能得到一个语义相似度评分。
这个开发工作流程的整个目的是让AI清楚哪些卡牌工作正常,哪些卡牌仍然需要更好的支持,而不必依赖于每张卡牌的行为测试。我花了一些时间才终于将架构调整到AI不会通过作弊来提高卡牌覆盖率的程度,但整个过程让我很好地适应了这种新的编码方式,我很期待未来几年我们这个行业的发展。
我希望能收到任何形式的反馈,无论是UI/UX还是引擎相关的,请分享你的想法!