切換
舊版
前往
大廳
主題

開發日誌(一)

老孫 | 2018-08-16 19:48:29 | 巴幣 6 | 人氣 1094

開發日誌(一)

1. 前言:

首篇會以遊戲簡介、工具以及多人連線方案(PlayFab & Photon)為主,若有打算建置多人遊戲但沒有頭緒的朋友可以參考看看,這部分本人也還在摸索當中,若有任何疑惑或是建議歡迎留言或私信給我,謝謝!

2. 基本介紹及遊戲機制:

『Alchemist』是以煉金術師為主題的一款遊戲,玩家會採用隊伍的形式進行戰鬥,玩家會從遊戲中獲得『配方』並以此作為依據將素材合成為『武器』,用發射器投擲的方式進行遊戲,合成完畢後玩家將會抬著武器選擇發射器進行投擲(軌道如下圖所示)



武器投擲軌道示意圖

只有在相同的軌道中武器才會發生戰鬥的事件,戰鬥的數據採用(攻/防/耐)表示,當雙方武器發生碰撞時將以此為基準進行迴圈計算,直到其中一方耐久度歸零結束,運算規則及先後順序如下:

a.若雙方攻皆小於對方防禦,則雙方耐久度歸零
b.雙方進行迴圈運算,直到一方耐久歸零,減少規則如下

  攻擊>防禦 則 耐久減去(攻擊-防禦)
  攻擊=防禦 則 耐久減去1
  攻擊<防禦 則 耐久不變

在武器數值設定上,會有攻擊型、防禦型、均衡型的武器,由於是多人進行所以玩家可以事先討論好攜帶配方及策略,像是依照對方的投擲物進行防禦,或者是使用防禦型武器打頭陣以保護後方的攻擊型武器,都是玩家要進行規劃及琢磨的部分。

3. 使用工具(插件)


UNITY插件的部分,除了Playfab及Photon之外僅使用『Bolt』這是一款以圖形化撰寫程式的插件,一開始是為了讓團隊中另一位對於程式較不熟悉的人員使用,在我摸索過後發現這插件大概能讓我省下30%左右Coding的時間,我在有程式基礎下開始使用大約一周就熟悉這套插件,這款插件大致上與程式邏輯相當,並且多了一個讓我覺得非常實用的功能『State Machine』,在遊戲中很常需要在某個狀態中只能做某些事,並且針對某些事件進行檢測,這功能讓我省下了非常多的時間,而且Debug也相當方便。

4. 遊戲後台及多人連線

在後台及多人的部分,我選擇了PlayFab及Photon這兩個現成的解決方案,兩者都有提供免費的方案(功能及CCU限制),讓遊戲在開發途中無須支付額外的費用,上線之後可以再依照使用情況彈性地進行擴充或是縮減,底下將更詳細介紹兩者的用途。

A .

當初想製作一款線上遊戲,尋找了相關資料之後最基本的不外乎 Server - Client ,玩家的資料儲存及處理都交由 Server 來進行,除了能保障玩家的資料不會流失,同時也能達成公平的原則,PlayFab 不需要自行架設主機因此能輕鬆的提供 24 / 7 不間斷的服務,在身分驗證的部分 PlayFab 除了能使用最基礎的設備ID或是 帳號 / 密碼,還有各種常見的第三方驗證登入( 如下圖所示 ),並且同時擁有金流驗證的功能,基本上已經涵蓋了所有遊戲平台,不論你的目標平台為何都能無縫使用。


( 取自PlayFab網站 )

PlayFab 另外一個強大的地方,是能夠自行撰寫CloudScript ( 僅需撰寫JavaScript ),不論是進行驗證或是一些遊戲邏輯( 如:計算戰鬥結果、排行榜、轉蛋、商店等等 ),讓開發者能夠讓遊戲能夠達成任何需求。

B .

Photon 可以視為一個溝通的橋樑,能夠讓多位玩家在同一個Room裡面進行遊玩,計費方式是使用CCU( 同時連線使用者 ),免費方案提供 20CCU 應該足夠應付開發需求,Photon 能夠提供跨平台連線的服務 ( 如 Android 及 IOS )  不論是要設計回合制戰鬥,或是節奏緊湊的MOBA、RTS 都有相應的方案能夠使用,比起 Playfab 遊戲後台,Photon 的相關資訊網路上是非常豐富,有興趣的朋友們可以參考相關文章。


5. 總結

PlayFab 有許多的大咖客戶 ( 迪士尼、憤怒鳥開發商Rovio、Capcom),我想實用性及穩定度是無庸置疑的, 此次專案中主要會以 PlayFab 及遊戲內容作為主軸來進行撰寫,Photon 由於網路上資訊已經相當豐富,往後只會寫一些簡易的實作說明。

創作回應

更多創作