D級特工開發日誌Vol.16-終結無止盡的壞檔輪迴─SourceTree簡介

Date : 2017-01-09

大家好我是Scofa,活體人類,酷思特的眾遊戲美術之一。

 

除了畫圖以外,還負責設計一部分的敵人行為模式、協助測試遊戲等等

這次的開發日誌的主題打算來聊聊

與遊戲開發息息相關的版本控管工具"Source tree"

 

團隊要共同編輯一個大專案檔時,版本控管是一件必要的事

1603254709733893.png

Cherry和Ruzz要一起共同製作一個遊戲,對未來擁有美好的憧憬與理想

對他們未來即將面對的苦難沒有任何概念。

 

他們在編輯同一個專案檔時,沒有版本控管工具的話

沒有辦法分辨哪個部分是誰動過,哪個BUG是誰造成

對程式來說,要是兩個人同時修改同一段腳本的話

沒有版本控管工具,根本沒辦法分工。

 

後來編輯的人員甚至會把前一個人編寫的內容蓋掉

要保留過去的版本,就只能夠把整個專案檔複製另外一個備份

非常占空間又沒有效率在種種問題的綜合之下,整個專案變成一坨混亂

連開發人員都不曉得他們製造了什麼東西


1603254709241427.png

這個時候就會需要用到版本控管工具了

這類工具軟體有很多種,而我們使用的是Source Tree

1603254709438483.png



SourceTree的介面,簡單介紹幾項功能

 

Commit 把你編輯的進度包成一坨東西

Push 把你包的東西扔到一個你團隊能看到的地方

Merge 把你包的東西與其它人包出來的東西融合在一起

 

當你試圖和其他人融合時

SourceTree會幫你檢查出是否有地方衝突(兩人有編輯到同一個地方)

藉由這個功能,使用者就能好好討論決定該使用哪種版本,而不是直接覆蓋過去

1603254709241427.png

1603254709578785.png

當然,如果發現融合後的版本有問題

SourceTree也能夠回復過去的歷史紀錄,還原到災難發生前的版本

在遊戲開發的過程中,常常會有反覆變動同一個設計的狀況發生

 

「ㄟㄟ,那個敵人的衝刺攻擊飛太遠了,把牠的衝刺拿掉。」

「OK」

 

「ㄟㄟ,牠不會衝刺攻擊根本就摸不到我耶,把牠的衝刺加回來。」

「好」

 

「哇,牠躲在小怪群裡發動衝刺攻擊我根本來不及反應,還是把牠的衝刺拔掉好了。」

「…你不考慮改短牠的衝刺就好了嗎?」

 

在設計怪物行為模式時,在腦中想像、與團隊討論都有可能有所疏漏

實際在遊戲中運行時,才會發現原來沒有預料到的問題

 

另外,為了讓最後的結果會是好玩的,常常會有需要實驗好幾種版本的狀況出現

例如這個怪物,牠的定位是一座緩慢蠕動的遠程砲台,牠該發射蔬菜湯、庵野秀明雷射,還是吐出對人生的怨念、玩家要怎麼應對牠的攻擊?

1603254709134451.png


有了版本控管工具,就可以放心亂做實驗了

我們一定會盡全力把最有趣最好玩的版本交給玩家,敬請期待

1603254709708525.png