我喜欢魔法早期的那种感觉,从最初的系列到2000年代初的版本,都充满了奇妙与神秘。我想创造一些东西,让我和朋友们能重温那种老式厨房牌桌的氛围。我们自己玩得很开心,所以想在这里分享,希望能得到更多反馈,并让更多人体验复古魔法!

链接: https://old-magic-alpha93.web.app/
强烈建议在手机上安装PWA应用!

我想创造一些与MTG竞技场不同的东西,一些能捕捉老式卡牌店氛围的设计。

这款游戏非常适配移动端,我个人最喜欢的功能之一就是能在手机上竖屏游玩。

游戏专注于魔法早期时代,目前只发布了基础系列。

赛季持续30天,之后新赛季会推出新系列。

游戏有两种模式:快速模式和排位/主模式。主模式允许你扩充卡牌收藏,与当地卡牌店的最强玩家对战,开包并将卡牌卖回商店。

游戏同时支持现代的60张卡牌构筑规则以及1993年原始40张卡牌构筑规则。

通过谷歌账号登录,可以无缝跨设备继续游戏,并保存你的卡组和收藏。未来计划添加其他认证服务。

目前支持与机器人进行轮抽对战,随着玩家数量增加,将计划推出玩家实时轮抽。

玩家可以添加好友、对战和交易卡牌。

所有卡牌机制都已完整编写并实现在游戏中。

从技术宅的角度来看,

游戏完全使用TypeScript和古老的HTML构建。我的目标就是打造一款极其适配移动端、特别是能竖屏游玩的游戏。

在布局方面,我给出了非常详细的提示和草图来表述我想要的布局,因为我想做点不同于MTG竞技场的东西。在测试中我发现,Astra在UI设计上略胜Fable 5.1,而Fable在整体代码质量上仍然占优。

所有291张Alpha系列卡牌都已编写完成。卡牌使用一种小型规则DSL编写。

电脑对手会克隆棋盘,模拟所有合法行动并选择最佳行动。游戏中有4位卡牌店常客,随着你的排名提升会变得更强,他们的卡组会根据你的升降级而变化。根据我查看的玩家AI对战数据,这套系统运行得非常好。

我建立了一个Leonardo资源管线,已经使用过几次,对结果很满意。卡牌美术并不托管,而是从Scryfall的API中拉取。

托管在Google Firebase上,分析数据和优化读写操作的过程很有趣。之前有很多浪费的Firebase活动——每个游戏动作要进行6次写入,客户端每8秒发送一次ping。在收集了几天数据后,我抓住了这些问题,仅通过这些优化就将开支削减了一半以上!

最让我兴奋的是看到大家享受这款游戏,并利用他们的反馈不断改进。长期来看,这将会很有趣,我计划了很多东西。