# 使用 Rust 構建微型游戲 -- 用於理解游戲開發 ## 一、 創建游戲 ### Agenda + 建立項目 + 實現 Game loop + 不同的游戲模式 + 添加玩家 + 添加障礙和計分 + 彙總 ### 理解 Game loop 為了讓游戲流暢、順滑的運行,需要使用 Game loop ...
使用 Rust 構建微型游戲 -- 用於理解游戲開發
一、 創建游戲
Agenda
- 建立項目
- 實現 Game loop
- 不同的游戲模式
- 添加玩家
- 添加障礙和計分
- 彙總
理解 Game loop
為了讓游戲流暢、順滑的運行,需要使用 Game loop
Game loop:
- 初始化視窗、圖形和其它資源
- 每當屏幕刷新(通常是每秒 30、60或更多次),它都會運行
- 每次通過迴圈,它都會調用游戲的 tick() 函數
Game loop
開始 -> 配置 App、Window 和圖形 -> Poll (輪詢 OS 監聽輸入狀態 -> 調用 tick() 函數 -> 更新屏幕 -> 停止? -> 退出
游戲引擎
- 游戲引擎用來處理平臺特定的部分
- 以便開發者專心開發游戲
Bracket-Lib (Amethyst Foundation)
Bracket-Lib 是一個 Rust 游戲編程庫:
- 作為簡單的教學工具
- 抽象了游戲開發很多複雜的東西
- 但保留了相關的概念
Bracket-Lib 包括很多庫:
- 隨機數生成、幾何、路徑尋找、顏色處理、常用演算法等
Bracket-terminal
bracket-terminal 是 Bracket-Lib 中負責顯示部分
- 它提供了模擬控制台
- 可與多種渲染平臺配合:
- 從文本控制台到 Web Assembly
- 例如:OpenGL、Vulkan、Metal
- 支持 sprites 和原生 OpenGL 開發
Codepage 437:IBM 擴展 ASCII 字元集
Codepage 437:
- 來自 Dos PC 上的字元,用於終端輸出,除了字母和數字,還提供了一些符號
- Bracket-lib 會把字元翻譯成圖形 sprites 並提供一個有限的字元集,字元所展示的是相應的圖片
~ via