iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
自我挑戰組

卡牌遊戲開發日記v2020系列 第 12

Day12 補完遊戲架構和流程

  • 分享至 

  • xImage
  •  

發現這部分還是要講才行,去年鐵人賽的時候也有講過類似的部分,只是用爐石戰記當範例

可以先參考這兩篇:
#15 遊戲實作:遊戲流程、玩家行動、切換玩家
#26 遊戲實作(虛擬碼):新增玩家物件、開局處理

多人(兩人、四人)連線、回合制大概都能照這樣的架構建起來
然後通常有UI介面的遊戲可能會採用像是MVC,MMVC的架構

MVC架構主要是希望把遊戲介面操作和系統背後的邏輯、資料計算分開來,後來也有其他衍生的實作。總之都是希望做到某種程度的分離,以方便系統維護這樣

參考:MVC架構 | 芳網

遊戲架構由幾個部分組成:

  • 玩家用戶端介面:選牌、出牌等操作動作
  • 玩家用戶端資料:玩家的場面資訊
  • 遊戲伺服端主要流程控制:遊戲流程、玩家行動、切換玩家
  • 遊戲伺服端API介面:和用戶端介面嫁接
  • 遊戲伺服端邏輯層:處理規則運算、更新遊戲狀態
  • 遊戲伺服端資料:保存遊戲全局資料

前幾天實作的部份算是遊戲伺服端資料的部分,玩家資料封裝、資料操作方法。
規則執行部分還沒有很完整的配合到,同時也有陣法效果還沒完成(混沌、五行輪迴)

去年實作的部份偏用戶端操作,出牌、組合成陣法部分寫出來。

遊戲流程:

  • 初始化
  • 確定玩家順序
  • 進入各玩家行動回合
  • 若遊戲沒結束,切換下一位玩家行動

玩家回合流程:
(玩家—系統)
<- 通知回合開始
-> 玩家出牌、使用陣法
<- 玩家抽牌
-> 玩家棄牌
<- 通知回合結束

以上,實作部分還是會繼續,努力中


上一篇
Day11 實作:系統更新玩家狀態的API
下一篇
Day13 定義資料傳遞格式 (封包格式)
系列文
卡牌遊戲開發日記v202030
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言