遊戲架構快速指南

2021-08-06 02:00:13 字數 1798 閱讀 9735

基本遊戲類包括表示玩家、盟友、敵人的功能以及使用玩家輸入或ai邏輯控制這些角色的功能。還有一些類用於為玩家建立 抬頭顯示資訊及相機。最後,像gamemode、gamestate及playerstate這樣的類用於設定遊戲規則,並且跟蹤遊戲及玩家的進展情況。

這些類都會建立某種型別的actor,這些actor可以放置到關卡中或者根據需要來生成。

pawn是可以作為世界中的乙個 「**」的actor。pawn可以由控制器處理,它們可以輕鬆地接受輸入,並且可以執行各種各樣的類似於玩家的動作。注意,沒有假定pawn是類人的。

character(角色)

角色是類人的pawn。它本身預設具有乙個用於碰撞的capsulecomponent(膠囊體元件)和charactermovementcomponent (角色運動元件)。它可以進行基本的擬人運動,它可以平滑地在網路上覆制運動,並且它具有一些動畫相關的功能。

控制器是負責管理pawn的actor。一般有兩種控制器:aicontroller 和playercontroller。控制器可以「具有」乙個pawn並控制他。

playercontroller(玩家控制器)

playercontroller(玩家控制器)是pawn和控制它的人類玩家間的介面。playercontroller本質上代表了人類玩家的意願。

aicontroller (人工智慧控制器)

aicontroller正如其名,是控制pawn的乙個**「意願」。

hud是一種「平頭顯示資訊」,或者說是二維的螢幕顯示資訊,在很多遊戲中都很常見。想一下生命值、彈藥量、槍枝十字準線等。每個playercontroller一般都具有一些這樣的資訊。

camera(相機)

playercameramanager是玩家的眼睛,管理玩家如何表現。每個playercontroller一般也具有乙個這樣的類。關於更多資訊,請參照相機工作流程頁面。

遊戲這個概念劃分為兩個類。gamemode 遊戲模式是遊戲的定義,包括像遊戲規則及獲勝條件這樣的內容。它僅存在於伺服器上。它一般在遊戲過程中不會有太多資料改變,並且它一定不應該具有客戶端需要的臨時資料。

gamestate(遊戲狀態)

gamestate 遊戲狀態包含了遊戲狀態,這包括像關聯玩家的列表、分數、象棋遊戲中的象棋位置或者在開放世界遊戲中已經完成的任務列表。gamestate存在於伺服器和所有客戶端上,可以自由地進行複製來保持同步。

playerstate(玩家狀態)

這個流程**釋了這些核心遊戲類之間的關係。乙個遊戲由gamemode和gamestate構成。加入遊戲的人類玩家同playercontroller相關聯。這些playercontroller允許玩家在遊戲中占有pawn,以便它們在遊戲中有物理表示。playercontroller也為玩家提供了輸入控制、平頭顯示資訊或hud、及處理相機檢視的playercameramanager。

關於遊戲架構類的更多資訊,請參照gameplay 框架。

軟體架構指南

注 本文節譯自 software architecture guide martinfowler.com 當軟體行業的人們談論 架構 時,他們指的是軟體系統內部設計最重要方面的乙個模糊定義概念。好的架構很重要,否則將來增加新功能會變得越來越慢,而且成本更高。像軟體世界中的許多人一樣,我一直對 架構 ...

systemd nspawn 快速指南

我目前已從 chroot 譯者注 chroot可以構建類似沙盒的環境,建議各位同學先了解chroot 遷移到 systemd nspawn,同時我寫了一篇快速指南。簡單的說,我強烈建議正在使用 systemd 的使用者從 chroot 轉為 systemd nspawn,因為只要你的核心配置正確的話...

遊戲引擎架構

大綱 什麼是架構?軟體架構是乙個系統的草圖,軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或物件。在物件導向領域中,元件之間的連線通常用介面來實現。什麼是遊戲引擎?引擎 定義元件最重要的是...