主題 精選閣樓

2022/06/19 開發日誌

先行者 | 2022-06-20 09:41:04 | 巴幣 128 | 人氣 249

最近將遊戲 runtime 直接換成了 mkxp 了,因為可以直接寫 shader ,開啟了一個新世界的大門
於是把一些功能改到在 OpenGL 上做,效能高到不行, OpenGL 真的好香



1.地圖動態陽光

原本地圖上的陽光是靜態圖貼在畫面上,現在改在 shader 那邊畫。陽光的算法是用 Perlin Noise,很多 3D 遊戲(e.g. Dark Soul)中光的演算法都是用這個,本身是拿來產生平滑隨機曲線,詳細演算法有興趣研究的話可以參考維基百科

而動態陽光的效果圖如下:
窗邊的陽光也是照著這個模式繪製,之後應該還會再加上 dust 的效果。

然後想到目前的人物燈光陰影是用 RGSS 的 Sprite 去畫,也許可以改用 OpenGL 畫。另外也稍微 survey 和翻 mkxp 過後發現 mkxp 其實地圖的每層 layer 都會初始化一個 tilemap instance 在裡面個別畫每層的物件,也許可以從這邊下手把特定 layer merge 成一個 layer,然後再用這層 layer 去算地圖上的 shadow,這樣就不用像之前提到的個別 layer 輸出在去算圖,直接靠 shader 做掉。

2.支持 webp 圖片格式
webp 是一種 Google 發明的壓縮圖檔格式,在無損壓縮下能做的比 PNG 壓縮率高 26% 。不過其實一般而言大部分的圖片針對 RGB 通道都是有損壓縮,所以一般情況下使用有損壓縮能比 PNG 壓縮率還要高 3x 同時還可以支持透明通道。

原本 webp 是為了解決圖片網路傳輸所造成的 overhead ,但不管我就是要放到我的遊戲裡,靠這個把目前遊戲專案的大小縮減了1倍

3.Camera for plot
主要是之前在做潛伏模式的時候有畫面放大縮小的功能,只是把這個部分抽出來寫成更 general 的形式。目前在地圖上會存在 camera,可以透過指令讓 camera 以錨點為中心放大縮小畫面,目前可以設定畫面 camera 的錨點在特定 spritecharacter座標上。

測試時會有 debug anchor 在畫面上,只是 debug anchor 目前沒有被放在被放大縮小的同一個 viewport 中,所以被倍率不為 1.0 的時候 debug anchor 會顯示在錯的地方就是了⋯⋯


這樣有一些劇情演出還有新手教學的時候就可以自由放大縮小畫面了

4.選單介面改版
大概是長期更新的小標,主要設計和實作完紋路選單畫面。

另外稍微小修了一下主選單和物品選單,把一些元素重新設計了一下,不然之前的版本人物狀態資訊好像不是很好吸收。

裝備畫面還在盤元素應該怎麼放以及使用者流程,不得不說最近可能手遊玩太多,總覺得做 UX 研究的產物都有種厚厚的手遊感

5.遊戲標題修正
把聖十字紋路加到標題中和校正一點顏色

6.點陣圖
完成了亞洛斯待機
亞洛斯普通攻擊骨架動畫
是說,最近看到一個叫做 picoCAD 的 tool,你可以畫三視圖他幫你自動轉換成 pixel 3D model,有稍微玩了一下 picoCAD,把雯娜的武器三視圖畫好,大概像這樣:

如果輸出成 obj 檔放到 obj file viewer 裡面看會長這樣,還滿有趣的
只是如果只單用它會有三個問題:
  1. 三視圖不太好表達複雜的 model。
  2. 作者本人表示 picoCAD 不是讓你來畫高清複雜的大型 3D 模組用的,模組大小有被 programatically 限制。
  3. 由於是因為是 3D model 算成 pixel 樣的,所以算出來的圖會有鋸齒輸出來用的話也需要額外修正。

所以大概只能透過它來幫角色的武器建模,有 model 之後武器就可以直接透過 3D model 轉出來,在畫人物動作的時候至少不用那麼蛋疼一直去修正武器透視的問題。

但老實說其實我應該也可以直接用 blender 建簡單的模然後套用 pixel shader 之類的⋯⋯喔不行,這個想法有點危險,到時候遊戲就變成了 3D 遊戲就太歪了(#
反正是個還滿有趣的 tool,想說分享一下這樣。



你竟然看完了!不愧是忠實粉絲
不過目前劇情大概只能跑 30 mins,等在長一點之後會在募集試玩
送禮物贊助創作者 !
0
留言

創作回應

巴哈姆特小管家

親愛的勇者:

感謝您對勇者小屋的支持,
我們會將此篇設定在首頁的精選閣樓中增加曝光。

--
巴哈姆特小管家 敬上
2022-06-20 12:21:54
靈魂
新Logo很讚!
2022-06-20 18:58:55
先行者
謝謝[e5]
2022-06-21 02:40:58

相關創作

更多創作