2020年1月8日 星期三

Week_17 期末作品

作品名稱:Sky Challenge

組員:05160035 林欣儀、05160160 黃偉愷




 展示影片: 


 介紹: 

首先,開啟遊戲時,因為載入音樂會需要花點時間,所以製作了loading的畫面。接下來玩家可依照個人的喜好選擇小夥伴,確定小夥伴後就可以進入到遊戲畫面。遊戲主要是讓玩家透過按鍵模組來操控小夥伴的方向,讓小夥伴跳在每朵雲上。每一層的雲朵長度不一致,並且在第五層時雲朵會隨機移動。另外,左右兩側會隨機出現小麻雀飛過,玩家必需閃躲,碰到小麻雀或從雲朵上掉落下來,遊戲就結束了。玩家必需要讓小夥伴安全的跳在每朵雲上和閃躲小麻雀,考驗玩家的技術和反應。




 操作: 

利用arduino按鍵模組上的"上鍵"、"左鍵"、"右鍵",來控制小夥伴的方向。




 特色: 

遊戲的設計上,在越高樓層會提高難度與速度,以及增加隨機飛躍的小麻雀,增加遊戲的困難度,讓玩家可以不斷挑戰。介面的設計上,主要以可愛的角落小夥伴當作遊戲主角,並且搭配輕鬆愉快的音樂,增加遊戲整體的豐富度。另外,因為剛開始載入音樂時,會需要花一點時間等待,為了填補這等待的時間,所以增加loading的畫面。




 困難: 
  1. 在畫面滾動時,需設計好雲與雲之間的間距,才不會讓自動生成的雲交疊在一起或是間距過大導致小恐龍無法跳到雲上。
  2. 要設法讓小恐龍在跳耀到雲上時,可以停留在雲上而非穿透過雲往下掉,當雲往下時小恐龍也要跟著雲一起往下。
  3. 當小恐龍從高處掉到底下的雲時,要避免因重力加速度的關係導致小恐龍穿透過雲。
  4. 加入了重力加速度的計算,讓小恐龍在掉落時可以更符合現實的物理情況。
  5. 加入了PVector計算小恐龍移動的距離,讓小恐龍在移動時可以更加地流暢。
  6. 讓雲朵可以自動的隨機移動並且碰到邊緣要自動反彈。
  7. 由於本程式的物件較多,我們使用了大量的物件導向概念將各個子功能結合在一起,完成程式的整合。
  8. 將arduino按鍵模組與遊戲結合時,發現processing的framerate數值太低時,會讀不到arduino按鍵模組的訊號,framerate數值太高時,會讓畫面動得太快,所以必須在兩者間取中間值。因此,我們設計一套演算法來解決這問題。
  9. 為了同時處理載入音樂和顯示loading畫面,運用多線程的方式來解決這問題。



原始碼

 GitHub 連結: 
https://github.com/Wecan-Huang0602/Sky-Challenge

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...