專案名稱:善惡相消
此作品使用於:獨立遊戲開發

專案動機
以前玩過STG斑鳩,對於他的黑白雙色彈幕機制設計印象深刻,但是對當時的自己來說太難了,所以想要製作一個能依靠構築自己的能力組合去克服原本需要過人反應才能突破的彈幕遊戲。

Unity Mecanim動畫系統
可以簡單的藉由Avatar綁定人型骨架,並使動畫與動畫之間的銜接變得流暢而減少另外製作銜接動畫的成本,主要是透過動畫狀態機(Animator Controller)來控制動畫之間的切換。 非人型的綁定或是更為細節的表情動作則需要另外花

MVC系統架構
把握低耦合、高内聚,以此為目標來設計遊戲架構,以消息中心為中心來接收發送消息對應各個腳本的需求。

序列化與Unity外部存檔
序列化輸出存檔,可以應用在局外分數紀錄或是系統更改設定等等需要使用自動存檔的地方。 要注意的是根據平台的不同儲存的路線也不一樣。

InputManager與AssignKey
將KeyCode存在獨立類中讓其他負責運作的腳本調用,可以使得製作改鍵功能時不會混雜再一起,通常配合外部存檔使用。

黑白子彈的碰撞與相消
設定子彈物件的tag與layer,並利用Project Setting內的Physic功能去設定各個layer之間的物理關係,主要用來處理碰撞或是穿透。

角色衝刺功能與計數器
角色衝刺主要依靠置於判斷式內的計數器來製作,符合衝刺中狀態時將衝刺時間代入給計數器,計數器倒數完成前不會中斷動作持續位移直到倒數完畢。

專案心得
因為本職是2D美術,因為課程終於能一窺程式的門徑,讓自己具備獨自完成遊戲最低限度的條件了,許多自己的想法能夠實現是一件很快樂的事情。
Comments