在談開發卡牌遊戲之前,不知道大家目前聽過比較有名的卡牌遊戲有哪些呢?始祖魔法風雲會當然不用說,再來遊戲王卡、神奇寶貝卡,到近期的BANG、三國殺、爐石戰記、暗影詩篇。卡牌遊戲比較常見的另一個名字是 TCG (集換式卡片遊戲),它跟桌上型遊戲(簡稱桌遊)有相當程度的重疊。兩者比較大的差別是 TCG 需要不斷地收集卡包以構築更強大的牌組,但桌遊只需要買一盒就可以玩爽爽,擴充盒是為了增加遊戲樂趣才買的。
不同的卡牌遊戲風格差異大,玩法不同,隨著時間進程,遊戲可能會發展出新的機制或主題,讓玩家樂此不疲。這是卡牌遊戲最吸引人的地方,同事也是它難以開發的原因:沒有一套程式架構可以容納所有的卡牌遊戲機制,同一套架構搬去另一個遊戲就不適用了,甚至新增額外規則就會讓遊戲變成另一款遊戲。「卡牌遊戲的規則千變萬化,想要寫成程式好像無從下手」這是我開發卡牌遊戲的感覺。
另外舉一個遊戲王的經典案例,「發動陷阱卡!」「發動反制陷阱卡!」對那時候剛學程式的我來說,要處理各式各樣的「時機」、「反制」、「相剋」、「無效」、「抗性」之類的東西都很容易讓我的大腦CPU超載。而且我都還沒處理到更複雜的爐石COMMBO、魔法風雲會的其他機制。
我覺得我需要一個卡牌遊戲引擎,不過在當時,我並沒有找到一個可以讓我作為學習對象的卡牌遊戲專案,受限於我的語言能力、接觸資訊的面不夠廣、程式基礎無法消化…
於是這個遊戲又被放置了好久,直到發現了推理引擎,好像又有了一點曙光(待續)