怪獸流浪兒
 
                 
                【遊戲介紹】
下大雨了,出門遠行的阿尼想找間屋子躲雨,屋主比利不但好心地收留他,還提供了他晚餐
但是,阿尼吃著吃著卻覺得昏昏欲睡,清醒後的阿尼發現自己在一間陌生的房間裡,而房門卻壞了無法出去,不知該如何是好的阿尼,想要找到屋主比利,告訴他房門壞了,但在這之前他得先想辦法離開…
【遊戲連結】
【心得】
參加新一代設計展時,以為解謎遊戲在展場會比較不受歡迎,結果有好多人為了玩到好結局(有8種結局,1好2普5壞),花了好多時間玩,讓我覺得又驚又喜!
原來我們的遊戲被很多人喜歡,可以帶給這麼多人歡樂,這就是給我們最大的肯定了😁
【Github】
【筆記】
解謎遊戲最重要的就是謎題和劇本,主要的功能如下:
- 對話系統 
 和食物也瘋狂的對話基本上差不多,只是這次改成一句一句地呈現,並且加上一些參數來做狀態判定
 如果有需要特別的事情,像是結束、或讓角色講到一半做些特別的表現就可以利用參數的不同進行調整
 a. 參數意義:說話的人, 說第幾句話, 下個要說話的人, 下個人說的話是他的第幾句話, 說話內容- csv格式mainTalk.csv - 1 
 2
 3
 4- bird,1,yellow,6,唷! 
 yellow,6,bird,2,唷!
 bird,2,yellow,7,你在這裡做啥?
 yellow,7,bird,3,噢,我是在各處旅行的途中,因為飛行器壞了,又剛好遇上- b. 從主程式持續呼叫talk,直到對話結束 - talktalk.cs - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13- public void nextTalk() { //依據參數來判斷下一次要做什麼事情 
 if (nextName != "0" && nextParagraph.ToString() != "0")//1.special, 2.normal
 {
 setSpecialTalkBehavior();//說話 or 說話+做事情
 }
 else //1.talk end 2.set talk num
 {
 setTalkBehavior();//儲存data
 GameManager.game.Player.Playerstate = Player.PlayerState.idle;
 GameManager.game.Player.OnItemEndTalked();
 GameManager.game.Setactive(GameManager.game.TalkUI, false);
 }
 }
- 物品互動 
 可互動的物品通常只有可以對話或被撿起來的功能,若有其他特例再繼承此類別作變化就可以- InteractiveItemInteractiveItem.cs - 1 
 2
 3
 4
 5
 6
 7- public float interactiveDistance; //進入到一定範圍才能和物品互動 
 public event EventHandler OnItemClicked;//物品被點到時的事件
 []
 protected bool canPick;
 []
 protected bool canTalk;
 public event EventHandler OnItemTalked;
- 假存檔系統 
 寫一個假的Singleton Pattern,將類別宣告成一個靜態物件,其他類別就能隨時存取,達到跨場景存檔的效果- SaveDataSaveData.cs - 1 
 2
 3
 4
 5
 6
 7- public class SaveData { 
 public static SaveData _data = new SaveData();//一開始就會自動執行,並在建構元寫好初始化
 public SaveData()
 {
 //初始化
 }
 }

