← SEARCHABLE ARCHIVE
Game Development · 2026-07-02

遊戲開發從哪裡開始?

了解包含輸入、狀態更新和渲染的遊戲循環

INTERACTIVE READING MODE →

該部落格上撰寫的文章是出於教學目的而創建的。 另外,文章中的資訊可能不正確,請謹慎。

遊戲開發不僅僅是繪製圖形。 它涉及創建接收玩家輸入、改變遊戲狀態以及透過螢幕和聲音傳遞結果的整個過程。

遊戲反覆更新其狀態

角色的位置、生命值、分數、目前階段都是遊戲的狀態。 遊戲在運行時不斷更新此狀態。

讀取輸入。
更新遊戲狀態。
在螢幕上繪製目前狀態。
再次重複此過程。

這種重複的結構稱為遊戲循環。 使用引擎時,循環本身由引擎管理,但開發人員編寫每一步發生的情況。

while (isRunning)
{
    ProcessInput();
    UpdateGame(deltaTime);
    RenderGame();
}

幀率和時間不同

每秒可以執行的訊框數因電腦而異。 如果每幀移動角色 1 次,速度將在 30 FPS 到 144 FPS 之間變化。

因此,移動量是從前一幀開始經過的時間。deltaTime乘以

position += direction * speed * deltaTime;

這樣,即使幀數不同,每秒的移動速度也能保持相似。 定期間隔很重要的系統(例如物理計算)可以以固定的時間間隔單獨更新。

單獨的規則和表達式

計算玩家攻擊時的傷害量接近遊戲規則。 揮舞劍的動畫和播放音效都接近表情。

將兩者放在一個代碼中可以增加新增武器或網路功能時的修改範圍。 透過分割資料、規則和螢幕表達式,可以在其他圖形或 UI 中使用相同的規則。

無需從頭開始創建大型遊戲。 遊戲開發的最佳開始是用一個輸入、一個移動物件和一個明確的成功條件完成一個小循環。