本文整理了網絡/游戲/編程相關的專業術語,作為游戲開發中的輔助參考資料,后期如果遇到其他的術語還會更新。
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等,通過提升單台服務器的性能來改善系統性能的方法。
橫向擴展是指通過增加服務器台數來提供系統性能的方法。
阻塞/非阻塞
阻塞是指處理完成之前持續等待。
例如,收到數據前持續等待的程序(阻塞程序),在等待期間不能進行其他處理。
采用非阻塞(不持續等待)處理可以解決這個問題。也可以叫做同步調用和非同步調用。