- [2023 TGDF 台北遊戲開發者論壇](https://2023.tgdf.tw/) - [共筆目錄](https://hackmd.io/@bogay/TGDF-2023) ## 講者介紹 [Hayato Yang](https://2023.tgdf.tw/speakers/hayato-yang) 企劃出身,有十多年的遊戲研發經驗,經歷過手機 J2ME、MMO、FB、頁遊、手遊專案開發,也曾參與幼教平板的硬體與平台開發,如今演進成不寫程式的野生遊戲開發者,擁有獨力製作能力,擅長快速雛形開發,以 Playmaker 為主要製作工具。 ## 議程介紹 PlayMaker 是基於 Unity 3D 的可視化腳本編輯套件,讓開發者可以在不寫程式的前提下,運用 Unity 引擎的各項機能,快速產生能驗證玩法的雛型,甚至進一步完整構成一款商業遊戲。此外,作為 PlayMaker 核心的有限狀態機工作流程,更能引導開發者以「由上而下(Top-Down Approach)」方式,將自己的想法從整體相貌到逐步分解,平滑地建構成遊戲機制,並能在遊戲執行時,從「看得見」的運作過程中即時確認功能狀態與快速除錯,讓開發過程更加清晰透明,不僅便利於小型開發者,近年來國外亦有中大型的專案選擇用 PlayMaker 做為開發工具或是整合到開發製程中。 本議程將介紹如何利用 PlayMaker 特有的可視化編輯環境,將開發者想到的玩法流程與設計思維,平滑轉換成實際可動的遊戲機制,希望能為想投入遊戲開發但不熟悉程式的朋友,提供一種實現目標的可能方案。 目標對象:喜歡運用工具做遊戲的人,以及對 Playmaker 工作流程有興趣的開發者。 預期收穫:瞭解如何利用 PlayMaker 將自己的想法轉化成可動的遊戲機制。 # 內容筆記 <!-- 在這裡之下寫筆記。 --> ## 開場介紹 - 講者企劃出身 - 自己開發的遊戲 99% 不寫 code - 偶爾還是需要打幾行 - 方法就是透過 PlayMaker 做遊戲! ## PlayMaker 介紹 ![](https://hackmd.io/_uploads/B1dH0lYqn.png) - Unity 上的視覺化套件 - 有限狀態機 (FSM) 基礎邏輯 - 不用寫程式(碼)即可製作遊戲 - 適合做 prototype,驗證玩法 - 視覺化除錯 ### PlayMaker FSM - State 狀態:每個狀態機 (FSM) 只會處於一個狀態 - Action 行為:由上而下依序執行的動作 - Event 事件:事件發生時會切換狀態? ### 嘴砲要講清楚的事 嘴砲不是隨便講話。需要提供具體的玩法描述,拆解功能 - 明確定義「誰」在「什麼狀況」下要「做哪些事」 範例 ![](https://hackmd.io/_uploads/S10bybFq3.png) - 玩家角色 - 待機時輸入會移動 - 停止輸入回到待機 - 金幣 - 持續浮動 - 碰到玩家吃掉得分 ### 現場示範:吃金幣遊戲 - 開啟 Unity #### 設定玩家移動 - 為主角的模型 Capsule 加上 FSM - 新增待命 State - 新增 Event 條件判斷 - if speed > 0.1 then trigger move (event) - 新增移動 State - if move triggered, switch to move (state) #### 套上人物模型 - 直接把原先的 Capsule 設定為透明 - 然後在 child 塞入模型物件 #### 加入金幣 - rotate state - 持續旋轉物件 - 使用 Trigger 來觸發 eat (event) - eat 觸發時轉移到 eaten - 銷毀物件 - 更新變數 (Score) - 製成 prefab #### 製作怪物 - get player (state) - 尋找玩家位置 - 記錄自己初始位置 - 觸發 FINISIED (event) 轉移到 idle - idle - 計算距離 - 夠短時追蹤玩家 - chase player - 距離太遠時觸發 go back 回到初始位置 - back home - 離初始位置夠近時回到 idle (state) - 離玩家夠近時近到 chase player > [name=samuelchou] 有點難記錄...看他現場(影片)做比較容易懂 > [name=Bogay] 雀食 ## 總結 ![](https://hackmd.io/_uploads/HJ48rZYqh.png)