现在的网站和APP太多了,似乎每个地方都可以发帖,但又有很大不同,想来想去Itch是最适合这些文章的去处。
最近在看卡牌游戏的教程,但许多教程的顺序我并不喜欢,它们主要是集中在unity的基本操作,图形外观上,但是卡牌逻辑放在很后面,这同时带来了另一个问题:耦合,这些教程作者都会有意无意把图形和数据放在一起,但我不希望这样。另外,因为杀戮尖塔的影响,这些教程都会加一个带血量的怪物,然后玩家用卡打这些怪物。
万智牌的官网有很多有价值的文章,不过有个缺点,每篇文章只会讲其中一点,得看很多篇才能连起来。
这篇文章大致讲了背后的架构,他们有一个处理基本流程的GRE(例如记录当前是谁的回合,当前的阶段,怪物血量状态,是否死亡,玩家是否要赢得胜利),还有一个在GRE之上,处理每张卡异能的CLispe语言。然后用一张卡作为例子讲述了其中逻辑。
科普了一些知识,比如【产生一个效果,持续到下个回合】在代码里实际是【开始一个持续效果,每当对应条件发生,触发一次,在下个回合开始时,移除这个效果】
还有,这些代码居然都是抛开图形界面的,纯数据逻辑,而图形界面属于另一个团队制作,我很喜欢这种数据和图形分开的精神。
相比纸质卡牌所没有的一个部分是,图形界面需要向玩家发出提示,提示他当前可以做的选择,但如何确保所有选择都是正确的并且囊括了所有选择?这方面出现了一些棘手的问题。不过文章里没有细说这些是怎么做的。
- XMage's official website and server
- Home · Card-Forge/forge Wiki
- 这是万智牌的两个开源项目,我可以从这两个项目一窥背后的代码逻辑,不过我现在是暂时没法看完的,得等到之后的文章详读了。
https://mtgrares.blogspot.com/
这是card-forge的开发者日志,我喜欢这种精神,他们会阐述自己做过的事情,帮助其他人。
以上就是我最近看过的文章。
下一期,我将讲一讲我最近所做的工作和遇到的难题。
暂无关于此日志的评论。