影評:星際效應 Interstellar
總評:
10/10
浪費時間
看看就好
值得一看
非看不可
10/10
浪費時間
看看就好
值得一看
非看不可
故事這樣子的,在經歷了 2018 年的澇賽跟 2019 年打醬油之後,這周末終於達成了人生成就,在 MOPCON 當講者。
這一路走來真的是一路坎坷,不若強者我同學在尼德蘭大殺四方的 qcl 大大,在四年前 YAHOO 技驚四座時就在 MOPCON 達成三場聯播的成就。
這章我們要一口氣新增兩個新的狀態:StateMenu 跟 StateOver,基本上因為不同的 state 都分到不同的檔案,所以多幾個 state 也沒差。
這章其實沒有太多需要介紹的,只有在 state 轉換上面多費點功夫,這部分可以先畫一個狀態圖讓整體更清楚:
上一篇我們做了兩個 state:遊戲進行和暫停的 state,理論上整個遊戲還需要更多的 state:像是遊戲結束、遊戲選單等等,但在這之前我們要先介紹 amethyst 的 event channel。
先前我們在 state 間切換是透過按下鍵盤的事件,但遊戲進行間可能有些場景的轉換是由遊戲內的事件發動的,
例如我們的太空船被隕石砸到,要從遊戲狀態切到遊戲結束,這時候就要透過 event channel 來發送事件了;
同時,用了 EventChannel 可以讓我們改寫一些之前的程式碼,把不同功用的程式分到不用的 system 裡,不用全塞在一起。
因為搬家(詳見上一篇
)的關係好久沒有更新了;現在搬完家終於可以回來繼續寫 amethyst 的文章啦,
現在寫文章插 code 根本是一種享受,跟 blogger 那種鳥編輯器完全不一樣。
到目前為止,我們討論的範圍都不脫 ECS 的範疇,這兩章我們會實作更多有關 state 的部分,
我覺得寫到這邊我比較有感受到 amethyst 整體的架構是怎麼實作的,但也只是個人的感覺就是。
我們這章先來實作一個小小的功能,就是按下 esc 鍵的時候,能讓遊戲暫停下來, 對應 amethyst 的文件是第十章的 controlling system execution ;
...工程師如何搬家,給工程師一個死線,時間到了家就搬好了。
簡單來說,搬家基本上來說可以分成三步驟:
看到這個標題大概就知道發生什麼事了……。
是的,經過十年 blogger 寫作,我終於決定要搬家了。
現在讓我們來建 UI,我覺得建 UI 是目前掌握度比較低的部分,我也在想怎麼做才是對的。
本篇目標是加上一個計分用的文字:
8/10
浪費時間
看看就好
值得一看
非看不可
碰撞偵測應該也是許多遊戲內必要的元素之一,比如說我們的打小行星遊戲,就需要偵測雷射砲跟小行星的碰撞,以及小行星和太空船的碰撞。
簡單一點的土砲法,是用 for loop 把小行星跟電射砲的座標收集起來,太近的兩者把 entity 刪掉就行了;
但我們畢竟身為專業的遊戲設計(才怪),用土砲法就太遜了,這裡我們用同樣是 rust 寫的 ncollide2d 套件
來實作碰撞偵測。