繼續寫下去,這次將從兩個大主題來討論:
1. 從這個專案上看企劃編輯
2. 從 Unity 上看企劃編輯
2D 平台遊戲專案,以下簡稱 PC2D ,同插件名稱。
PC2D 上的企劃:
在上一篇的「進一步思考」提到,現在手邊的這些素材,可以拼湊出一個遊戲了嗎?
我們試著再檢視一次這些素材。
我們有很多範例場景,執行可以看到一些素材組合。
場景上有一個 Basic Player Controller 作為玩家可控制的角色,形象是忍者。
在其他資源中,美術圖都剩關卡圖片了,也沒有其他角色動畫;
甚至連範例的 simple AI 都是拿同一隻忍者來使用。
還有一些未使用的資源,目前不知道是做什麼的,當作不存在。
一個平台遊戲,只有主角,沒有敵人/怪物,
以目前來說,要變成一個遊戲,還需要一個目的性、目標或者可以說勝利條件。
不然就只是角色行為操作的展示,或者玩法驗證而已。
這個目標其實是可以很活的,很有彈性的,以下舉幾個例子,但它們不是絕對。
1. 時間:提供一個時間顯示面板,作為計時器。範例中不是有崩裂式方塊嗎?
除了地板,全部都用崩裂式方塊搭建出的關卡,一旦碰到地板計時停止,
看玩家存活的時間為成績。
=> 如果有辦法實作排行榜,不論單機或連網的話這就是一個很基礎的競賽型遊戲。
All games must include a leaderboard system (offline or online) so that the players can compete for the highscore if you happen to win the contest.
2. 分數:算是時間的延伸,其實時間排行,也就是將時間換算成分數。
雖說主打競速,但在評分項目上,是要在每個軌道飛躍間去做車體表演以奪高分。
像是飛躍後平轉一圈兩圈三圈,空中直旋一周兩周三周身,落地也是有花樣的!
=> 在我看到這個忍者有趣的跳躍轉身時就想到這個,是否可以用高度跟旋轉圈數作為評分,
打造另一種有趣的計分機制。
3. 出口:最單純目標的具象化,就是提供一個出口,代表這個關卡的終點。
也就是會給玩家一個想法,忍者被困在一個奇怪的地方了,但某處似乎有些端倪。
是否可以透過這個地方離開?離開後可能是一個新的關卡,一直到最後一張地圖踏破,
終於逃離整個迷宮?回到忍者村。
=> 一下子就把遊戲類型變成迷宮逃脫、地圖探索、平台動作解謎的風格了。
這樣提出三個需求後,只要能實現,就能將這個插件變成遊戲了。
是的,很多人一定覺得很不過癮,光是逃光是跟場景互動,這樣不夠刺激啊!
+ 生命力:忍者不會死,必須先給他生命值的定義,讓他在某些情況下是會損傷(扣滴)。
而這些會讓他受傷的機關也好,壞忍者與壞忍者分身也好,是否也需要這個生命力的設計呢?
沒有生命力還是能透過上述三個點去實現遊戲,但有生命力的設計會讓遊戲層次豐富。
+ 敵人/怪物:一但有敵人,就會馬上給玩家一種感受,有一個 AI 在跟我玩。
他會怎麼行動呢?他的行為會比我還多嗎?會跳得比我高嗎?他會打我嗎?
遊戲也會因為敵人/怪物,讓畫面呈現變得豐富起來。當然把敵人/怪物作為目標可不可以?
可以的,不過你缺少一個攻擊手段,除非是尬舞、跳躍用分數差攻擊,
所以仍然將他放在需組合的部分。
+ 攻擊手段:說到忍者就會想到,火遁-豪火球之術、影分身之術、手裏劍、獅子連彈和螺旋丸......等。就算這些都沒有,也好歹拿個苦無之類,瞬間氣氛就出來了。如果可以攻擊,戰鬥感的樂趣就出來了。
一旦想要組合各種不同的需求時,這些需求往往不只是功能這麼單純。
還有 UI 的顯示、怪物的圖、怪物動畫檔的製作、忍者的攻擊動畫和兵器武器圖......等,
美術需求因應而生。當然也會有更多設定需要補足,需要有更詳細的規則,與大量數值編輯的企劃需求。
Unity 上的企劃編輯:
目前專案上有一次更新,那是在講解透過 github 來協作的練習,
變動的是一個腳本,單純的控制參數中文化而已。
而這上面的中文化,其實沒有去看程式碼的上下文去寫的,
而是照著原本英文,跟實際玩起來感覺去寫下的。
如上圖,這是 Unity 中的 Inspector 面板,用以顯示當前你選擇物件的一些資料設定。
隨便點一個範例場景上的 Basic Player Controller ,可以發現這上面掛了 5 個 component,
( Component:我想每個人習慣都不一樣,我們這邊是都叫腳本,
不過程式腳本也容易跟劇本腳本混淆,直譯的組件又好拗口,就叫它康波能也可以,隨意。)
分別是 Transform、2D 碰撞盒、Platformer Motor 2D、Player Controller 2D 跟
Platformer Animation 2D;先簡介一下,之後只針對兩個拉出來說明。
首先,點開 Platformer Motor 2D 這個在 Inspector 的腳本後,
可以看到的關於移動 movement 上的一些參數設定,
只改前三個地面速度的參數就可以實作另一個你自己的 different speeds。
=>當然也可以對照那個範例場景去試著編輯,這樣最快。
其它的也很建議都去亂改看看,直接在 play 的情況下修改就可以了喔,
這是 Unity 引擎的一個優點,所見即所得,數字一旦更改就會發生作用,
但同時一旦結束 play 模式,參數又會回復原狀。
方便歸方便,要是有你覺得滿意或者達到某個效果的話,數字就得先記錄下來。
這樣才能用數值實現不同的能力/效果設定!!
再來要介紹的是 Platformer Animation 2D 這個腳本,
它提供了一個跳躍旋轉速度的參數,目前設定是 540 。
也就是說,一次跳躍時它會讓忍者這個物件旋轉一圈半( 360 + 180 )。
=> 試著亂玩這個參數,再去揣摩風火輪小汽車的花式表演效果。
不只忍者身上有參數可以修改,其它三個也都可以點來看看。
上下左右移動的平台較為單純,位移量跟速度的參數,像是把速度調 10 倍,
基本上就很難上這個平台了,惡搞 gif 就不上傳了。
崩裂式平台的參數可以幫助我們釐清,這個踩了之後崩塌的判定,
到底是時間、角色的重量、還是平台上的人數,這邊很明確的是用了 duration 時間。
延長 10 倍就變得很安全,一點也不刺激了,掉下去後的重力也可以改;
還有從原本顏色,到觸發掉落時最後會變化的顏色也可以改。
為什麼會從這些地方作介紹呢?
在遊戲中的所有參數,其實都是可以開放出來做編輯的。
我們很難在一次設計內,一個實作中就將功能或效果做到位;
需要頻繁測試頻繁修改,在有成長概念的地方,需要計算的部分,
更需要數值推算,數據成長曲線等來輔助。
而這些功能與設計中,那些參數是開放出來給開發人員編輯的好,
那些是給玩家知道的(角色屬性面板:攻擊力、防禦力或屬性)、
那些是需要隱藏的(幸運值、善惡度)、以及固定的常數 PI = 3.14159 取到第幾位就好。
=> 這些是企劃可以下功夫的地方,從這邊入手研究也會比較親切且直觀。
相信很多人熟悉 Unity 之後,也會開始覺得很多內建的編輯器介面有夠難用。
是否能使用我自己習慣的軟體來編輯,這樣才快才順手阿。
+ Excel 表的匯入匯出
+ Google 試算表 的整合( 包含為了多國語言做準備 )
+ XML 的匯入匯出
+ LUA 的讀寫( 認識的不少企劃都有修這塊,不得不提不得不提。)
...等。
這些相關的編輯器需求就開出來了,沒有這些能不能做遊戲?當然還是可以呀。
不過有這些的話,整個開發的速度與爆發力,測試與驗證的效率提高是可預期的。
在需求的取捨與任務項目的優先級的安排與分配,雖說是製作人與主企劃才須考量的,
現階段的話,可以先把它當作是一個課題知道就好。
小結:
企劃篇的右邊有個小標 I,若是覺得需求開的不夠多的話,
再用 II 來補吧!
謝謝收看,我們下篇見。