使用 Amethyst Engine 實作小行星遊戲 - 10 暫停狀態

因為搬家(詳見上一篇 )的關係好久沒有更新了;現在搬完家終於可以回來繼續寫 amethyst 的文章啦, 現在寫文章插 code 根本是一種享受,跟 blogger 那種鳥編輯器完全不一樣。
到目前為止,我們討論的範圍都不脫 ECS 的範疇,這兩章我們會實作更多有關 state 的部分, 我覺得寫到這邊我比較有感受到 amethyst 整體的架構是怎麼實作的,但也只是個人的感覺就是。

我們這章先來實作一個小小的功能,就是按下 esc 鍵的時候,能讓遊戲暫停下來, 對應 amethyst 的文件是第十章的 controlling system execution

...

blogger 搬到 hugo 全記錄

工程師如何搬家,給工程師一個死線,時間到了家就搬好了

簡單來說,搬家基本上來說可以分成三步驟:

  1. 找到新家
  2. 把舊家的東西搬出來
  3. 把東西放到冰箱新家
...

從 blogger 轉換到靜態網頁生成

看到這個標題大概就知道發生什麼事了……。
是的,經過十年 blogger 寫作,我終於決定要搬家了。

...

 August 20, 2020 |    LifeRecord  |    blog  | 1 分鐘  |  YodaLee

使用 Amethyst Engine 實作小行星遊戲 - 9 UI

現在讓我們來建 UI,我覺得建 UI 是目前掌握度比較低的部分,我也在想怎麼做才是對的。
本篇目標是加上一個計分用的文字:

...

影評:星際終結者 Independence day

still

總評:

8/10

浪費時間
看看就好
值得一看
非看不可

...

使用 Amethyst Engine 實作小行星遊戲 - 8 使用 ncollide2d 實作碰撞

碰撞偵測應該也是許多遊戲內必要的元素之一,比如說我們的打小行星遊戲,就需要偵測雷射砲跟小行星的碰撞,以及小行星和太空船的碰撞。
簡單一點的土砲法,是用 for loop 把小行星跟電射砲的座標收集起來,太近的兩者把 entity 刪掉就行了; 但我們畢竟身為專業的遊戲設計(才怪),用土砲法就太遜了,這裡我們用同樣是 rust 寫的 ncollide2d 套件 來實作碰撞偵測。

...

使用 Amethyst Engine 實作小行星遊戲 - 7 亂數

亂數在遊戲中也是個舉足輕重的腳角,少了亂數的遊戲就像沒加珍珠的奶茶(?,讓玩家食之無味;這章我們會加上亂數,以及產生小行星的 system。

...

使用 Amethyst Engine 實作小行星遊戲 - 6 刪除物體

一般來說這種射小行星的遊戲,都會有一個莫名的設定,那就是太空船和小行星來到邊界的時候,會從螢幕的對面出現,就好像畫面是一個攤平的球體一樣。

...

使用 Amethyst Engine 實作小行星遊戲 - 5 生成物體

其實這章才是真的讓這堆教學跟官方 pong 不一樣的地方,在遊戲內生成 entity;官方的 pong 就是生出兩塊板子一顆球,球跑到場外就計分然後把球放回場中間,完全不會新增/刪除 entity。

...

使用 Amethyst Engine 實作小行星遊戲 - 4 移動物體

上一章連接輸入的部分,我們完成了第一個 system 的設計,當然這個系統什麼事都沒做,這章我們就來把輸入接到真正的變化上。

...