遊戲開發中的專業術語

不會飛的章魚發表於2018-08-21

本文整理了網路/遊戲/程式設計相關的專業術語,作為遊戲開發中的輔助參考資料,後期如果遇到其他的術語還會更新。
原文連結

16毫秒 / 幀速率

Frame Rate。

電子遊戲使用的光柵顯示器是普通電視時,影像一般每秒更新60次。影像更新的時間叫做幀,1秒60次即1次16毫秒(0.0167秒 = 16.7毫秒)。

16毫秒是玩家可以識別的遊戲畫面改變的最短時間間隔。

ARPG

Action Role Playing Game。

角色扮演類遊戲中動作性較強的實時遊戲,也指包含冒險遊戲特徵的遊戲。

bot

外掛。模擬遊戲玩家自動訪問遊戲伺服器、高效率地進行遊戲、積累分數以及進行惡意的經濟欺詐的程式。

測試外掛是指開發者準備的用來自動化測試的客戶端程式。

CPU週期

CPU Cycle。

CPU處理操作的最小單位。1GHz的CPU一秒有10億個CPU週期,以執行的命令數而言,1秒可以執行10億次。

根據命令型別的不同,執行需要的CPU週期少則不到1個週期,多則有幾百個。

FPS

First-Person Shooter。

第一人稱射擊遊戲。

I / O

Input / Output。

輸入 / 輸出。包括網路 I / O、磁碟 I / O等。伺服器程式的I / O基本都是網路I / O。

MMO

Massively Multiplayer Online。

大型多人網路遊戲。也叫MMOG。

MO

多人網路遊戲。也叫MOG。

RPC

Remote Procedure Call。

遠端過程呼叫,是指呼叫其他計算機的處理。

例如,當客戶端需要命令伺服器做某個處理然後得到返回結果時會使用該技術。

RPG

Role Playing Game。

角色扮演遊戲,根據遊戲背景設定,由玩家扮演特定角色的遊戲。

TCP

Transport Control Protocol。

傳輸控制協議,支撐整個網際網路的可靠資料通訊協議。可以根據需要續傳IP的資料包,確保大的資料可以正常傳輸。但是,在連線速度較慢時,為了提高傳輸效率需要佔用大量的記憶體。

並行

Parallel。

包括物理上的多個處理同時進行,以及時間上的併發(Concurrent)處理。就像CPU中的命令和任務之間的區別。通過並行處理提高速度比較困難,所以基本方針是充分考慮處理器計算能力,通過在策劃層次進行討論,或者在演算法上下功夫減少計算量。

部署

Deploy。

是指部署應用程式。伺服器部署是指將最新版伺服器程式安裝到各個伺服器上來更新版本的相關操作。

永續性

Persistent。

在資料庫中,永續性是指需要持久化的時間長度,包括遊戲玩法中必要的時間和遊戲進行所需的時間。競速遊戲的資料一般只需要保持幾分鐘,之後就可以丟棄,所以永續性較低,需要儲存的資料量也比較小,但是MMORPG等不斷進行的遊戲需要較高永續性,資料量也比較大。根據永續性需求的不同,資料應該以什麼形式、用什麼物理介質來儲存也會有所區別。

頻寬

Bandwidth。

是指網路傳輸資料的傳輸速率。也叫頻寬幅度。

多程式程式設計

Multi-Process Programming。

靈活使用多個程式的程式設計方式。同時執行多個程式可以有效利用多核CPU的處理能力。

輔助系統

Additonal System。

相對於遊戲主體內容以外的輔助功能系統,例如玩家匹配、玩家成績管理(積分管理)、排名以及通訊功能等。

多數情況下可以使用第三方的程式或者服務。

負荷

Load。

是指CPU或者網路等承載的工作量。例如,處理複雜計算時CPU的負荷比較高。傳送和接收大量資料時網路的負荷較高。許多場合都可以使用,例如CPU負荷、I/O負荷以及伺服器負荷等。

負載均衡

Load Balancing。

是指分散負荷。例如將一臺資料庫承擔的負荷分散到多臺資料庫。

共享記憶體

Shared Memory。

是指在多個程式間共享記憶體資料。例如共享運動物體的座標、種類以及運動方向等資訊。

快取

Cache。

為了高速讀取資料而把資料暫時放在特殊區域。

例如,磁碟訪問比較慢時,可以把檔案內容放在(快取在)記憶體中,這樣就可以高速讀取資料。

該機制被廣泛應用在CPU快取、快取記憶體、瀏覽器快取以及快取伺服器等地方。

程式

Process。

程式是指作業系統執行的程式的實體,和其他程式相分離,獨立執行。程式與程式之間可以訪問的資源(記憶體、Socket等)也是分離的。

程式間通訊

Inter-Process Communication。

在多個程式間通訊。是指多個程式間傳送資料或共享資料的技術。

競態條件

Race Condition。

是指同一個資源(記憶體地址等)被兩個以上的使用者訪問時發生的程式狀態。會引起死鎖(Dead Lock,互相等待對方處理結果的情況)等問題。

擴充套件性

Scalable。

是指可以擴充套件系統效能。

在網路遊戲中需要應對使用者的增長和飽和,所以希望效能和功能可以輕鬆擴充套件。

瀏覽器

Browser。

瀏覽軟體。網路遊戲中的遊戲瀏覽器範圍較廣,泛指將伺服器網站管理的遊戲進度資訊展示給玩家的軟體。

例如使用C++語言開發的面向3D遊戲的專用程式,或者Flash遊戲使用的Google Chrome等Web瀏覽器。和一般瀏覽Web伺服器資料的Web瀏覽器有所區別。

輪詢

Polling。

定期詢問資料是否送達或者是否接收到的機制。太過頻繁的輪詢會無端增加CPU的負荷。

瓶頸

Bottleneck。

系統中效能最弱的部分。系統的其他部分即使再快,如果有一個地方(瓶頸)處理比較慢,就會影響整體的效能。

冗餘

Redumdancy。

作為預備而重複配置。

遊戲資料的冗餘是指將資料在不同地方重複儲存(主資料和備份資料的關係)。

事件驅動

Event Driven。

在事件發生時進行處理的程式設計方式。事件的型別包括接收到資料、滑鼠移動等。事件驅動的程式設計方式常用在網路開發和遊戲開發中。

資料包

Packet。

資料的傳輸單位。資料包通訊是指將資料分割並新增控制資訊後傳送、接收後再合併的通訊方式。TCP協議的資料通訊單位是資料段(Segment),UDP/IP協議為資料包(Datagram)。網路遊戲開發會經常面臨資料包延遲的挑戰。

資料中心

Data Center。

安置提供服務的伺服器設施。配備了維持伺服器所必需的電源、空調和防災設施。

套接字 API

Socket API。

處理網路檔案描述符中的套接字 API。個別的函式/系統呼叫(socket、connect、accept)。

同時連線數

可以同時連線服務的使用者數。

圖元

Sprite。

是指電子遊戲中使用的可以告訴顯示的小影像。事先準備好玩家角色移動等狀態的小圖片,可以通過指定影像位置,在畫面的任意位置顯示角色。

吞吐量

Throughput

系統在一定時間內處理的數量。

網路拓撲

網路中所含的各個計算機以什麼結構相連線。計算機是節點,連線叫做邊界。包括星狀結構、匯流排結構和網狀結構等,可以幫助分析和設計網路結構。

檔案描述符

在Unix系的作業系統中,除了檔案以外,網路、塊裝置等作業系統管理的輸入輸出資源也採用了檔案形式。

執行緒

Thread。

比程式更細分的程式執行單位。

延遲

處理所需要的時間。

遊戲客戶端

Game Client。

指玩家的PC或者遊戲機等機器上安裝的,啟動後可以顯示遊戲畫面、接受使用者輸入輸出的軟體。

遊戲邏輯

Game Logic

指連線遊戲進度資訊和使用者介面資訊的演算法。

雲(Cloud)

在雲端計算中主要是指伺服器端的計算機群。

在單純的主機託管中,包括儲存、負載均衡、付費系統、日誌解析等伺服器架構中的計算機資源可以根據需要即時調整。

在記憶體中

把資料放在記憶體中,可以在幾個CPU時鐘週期(幾納秒到幾百納秒之間)獲取到資料的狀態。

中介軟體

Middleware

將應用程式普遍使用的功能進行整合的專業化軟體。

縱向擴充套件 / 橫向擴充套件

縱向擴充套件是指增加記憶體、升級CPU等,通過提升單臺伺服器的效能來改善系統效能的方法。

橫向擴充套件是指通過增加伺服器臺數來提供系統效能的方法。

阻塞/非阻塞

阻塞是指處理完成之前持續等待。

例如,收到資料前持續等待的程式(阻塞程式),在等待期間不能進行其他處理。

採用非阻塞(不持續等待)處理可以解決這個問題。也可以叫做同步呼叫和非同步呼叫。

相關文章