iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
佛心分享-IT 人自學之術

那些經過腦海一瞬的關鍵字們系列 第 3

[Web Game] 選擇適合的工具

  • 分享至 

  • xImage
  •  

網頁遊戲?

關鍵字總是能再長出更多的關鍵字

遊戲引擎WebGLPhaser ??

針對網頁遊戲的開發 MDN 也幫開發者整理好學習資源了 Introduction to game development for the Web

Web 可以作為開發遊戲的平台,這個平台有以下核心技術可能會使用到:

音訊:Web Audio API
圖像:WebGL
輸入控制:Touch 事件、裝置的 sensor...等
語言:JavaScript (或是使用 C/C++ 編譯成 JavaScript)
網路: WebRTC 或是 WebSockets
儲存:IndexedDB 或是 雲端
網頁技術:HTMLCSSSVG...等

如果想純用 JavaScript 手刻遊戲,可以一步一步照著 MDN 的的文件認識以上這些技術,又或者是想要直接使用巨人造好的輪子體驗開發遊戲的感覺,就可以選擇適合的 Library 或是遊戲引擎,這份文件 Engines and libraries 有將遊戲相關的 Engine 或是 Library 條列出來,標註星星數、最後 commit 時間以及附上簡單的描述

比較多人在討論或是使用的:

PixiJS:2D library,使用 WebGL,也支援 Canvas
Three.js:3D library
Babylon.js:3D render engine
Phaser:屬於 framework,建立的遊戲可以編譯給多個平台使用,包含物理引擎幫忙物理及數學的計算

PixiJS

延續上一篇的關鍵字 PixiJS, PixiJS 很懂開發者的選擇困難,在官網文件一開始就先說明 PixiJS 是什麽?不是什麽?可以用來做什麽?不能做什麽? 將自己定位的很清楚!

以下內容取自 PixiJS 官網文件

PixiJS 是什麽?

是一個使用 WebGL 來顯示影像或是其他 2D 內容的 rendering 系統,支援點擊或是觸控事件的操作。

不像 Unity 或是 Phaser,PixiJS 不是一個 framework。在建立遊戲的過程,一個 framework 的設計會考量到所有操作,包含:管理使用者的設定、音訊的播放、物件的腳本...等。但 PixiJS 只被設計用來做一件事 — render 圖像內容!

PixiJS 的世界是 2D 的,如果要找 render 3D 模型的話,可以選擇 Babylon.js 或是 Three.js

不像 Unity 有 UI tools,PixiJS 中沒有 UI Library,必須自己建立 UI

PixiJS 不幫忙儲存資料,可依需求自行選擇 Cookies、Web Storage 或是 server-based storage

PixiJS 沒有整合 audio library,可另外使用 PixiJS Sound plugin

*遊戲是一個全新的世界、全新的領域,想吸收關鍵字,可以參考台北遊戲開發者論壇的議程內容,每年都會舉辦,今年已邁入第 13 屆


感想

工具很多,比起星星數或是 commit 時間,也許更重要的是,先了解工具符不符合需求,就像 PixiJS 文件一樣,明確框住自己的定位在哪裡。


參考資源

PixiJS 官網 - What PixiJS Is
PixiJS 官網 - What PixiJS Is Not
10 Best Javascript Game Engines and Library 2024
2024 台北遊戲開發者論壇


上一篇
[Web Game] 過程,過程是值得紀錄的一件事
下一篇
[Web Game] 基於同樣的需求做比較
系列文
那些經過腦海一瞬的關鍵字們30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言