【Photon】引擎簡介——百度百科

photon引擎

編輯 鎖定 html

遊戲引擎是指一些已編寫好的可編輯遊戲系統或者一些互交式實時圖像應用程序的核心組件,是遊戲軟件的主程序。android

  • 中文名c++

  • photon引擎web

  • 類    別編程

  • 遊戲引擎windows

  • 組    成服務器

  • SDK、socket網絡

  • 代理公司架構

  • 暫無app

目錄

  1. 1 photon引擎的概述

  2. 2 photon引擎的特性

  1. 3 photon引擎的相關術語

  2. 4 photon引擎5分鐘快速入門

  1. 選擇適當版本

  2. Photon控制檯(Photon Control)

  3. 運行Testclient測試客戶端

photon引擎的概述編輯

photon引擎比起咱們較熟悉的虛幻三、CryENGINE 3等遊戲引擎,這款引擎相對較爲陌生,這裏爲你們簡單描述一下這款引擎的特色。

Photon英文原意是指光量子,在這裏是指九城代理的服務端網絡遊戲引擎,比起其餘服務器端引擎它能支持更多的傳輸協議和編程端口,以下圖所示:

wKioL1ZK1VuzZJHfAABcaSRSDRY012.jpg

Photon包含兩個部分。一部分是一個socket服務器,另外一部分是其針對各個平臺編寫的sdk。這些平臺包括了:android, Flash, iPhone, iPad, .NET., Unity 3D, Windows,甚至還有silverlight。這也意味着Photon的發佈也包括兩個部分,Client SDK Release和Server SDK Update。 Server SDK的版本是v2.4.5,而Client SDK的版本是v6.2.0。

什麼是SDK?SDK就是指能夠爲第三方開發者提供特定的軟件包、軟件框架、硬件平臺、操做系統等建立應用軟件開發工具的集合,而且SDK還能簡單的爲某個程序設計語言提供應用程序接口API的一些文件。

因爲Photon引擎代理合同已到期,九城已於2012年9月30日正式關閉Photon引擎中國區網站及開發者論壇。

photon引擎的特性編輯

Photon引擎是一款實時的Socket服務器和開發框架,快速、使用方便、容易擴展。

服務端架構在windows系統平臺上,採用C#語言編寫。

客戶端SDK提供了多種平臺的開發API,包括DotNet、Unity3D、C/C++以及ObjC等。

Photon引擎的體系特性以下:

wKiom1ZK1QvjPKJgAAIUJkI7wsY094.jpg

一、架構於Windows平臺下原生態性能高度優化的系統

二、通過證實適用於衆多的商業遊戲

三、由Exit Games提供迅捷到位的支持

四、服務器端遊戲邏輯採用C#語言實現

五、支持普遍的框架設計,能幫助您處理常見的工做內容

六、簡單易擴展的遠程方法調用

七、採用纖程處理消息機制避免採用線程致使的問題

八、提供基於room遊戲的基本應用Lite,方便原型開發

九、部署簡單,支持雲端服務

十、充分利用網絡帶寬

十一、採用小尺寸的二進制協議,可根據須要使用有序可靠的UDP

十二、直接支持常見的客戶端平臺,提供相同的工做流程

1三、封裝每一個客戶端平臺的網絡層模塊

1四、通訊跨平臺

1五、使用Dictionary發送數據,無需擔憂數據序列化反序列化

photon引擎的相關術語編輯

Ack內部使用的命令,主要功能是用於實現可靠UDP。

Actor進入房間的玩家叫「Actor」。Actor在房間內有個編號(ActorNumber),編號僅在當前房間有效。

ApplicationApplication指的是遊戲邏輯應用,由C#語言書寫同時由Photon引擎負責啓動運行。全部的應用均從Application繼承。

Binaries FolderBinariesFolder指的是針對不一樣平臺編譯出的Photon目錄,以「bin_」爲前綴命名目錄,且放置在服務端SDK的「deploy」目錄中。

Build script即MsBuild項目的批處理文件,實現發佈應用時候的編譯程序拷貝文件等功能。請關注VS生成菜單下的清理項目選項。

Business logic即遊戲邏輯,運行在Photon引擎中,負責處理operation和event。

Channel在Photon引擎中channel主要用於分割通訊用,在同一channel中全部的operation和event都是順序執行的。

CommandCommands主要用於在eNet協議層上實現數據傳輸、創建鏈接關閉鏈接等功能。固然您無需書寫什麼命令,在這裏提出來,僅僅是爲了加深您對Photon引擎的理解。

Connect在客戶端向photon引擎發送請求以前在客戶端和服務器之間必需要創建鏈接才行。

Custom Operation任何非客戶端API內的或新的服務器端的(不在Lite應用中)客戶端操做。

DashboardDashboard主要負責收集計數器信息,同時在web站點上生成圖標以便於監控。

Deploy Folder即發佈目錄,在服務端SDK中,deploy目錄包含了Photon引擎運行的全部須要的文件:Photon核心文件和應用程序文件。

Device一般指的是移動終端,或者其餘能夠運行客戶端程序的設備。

Disconnect即服務器和客戶端斷開操做。一般發生在客戶端斷開鏈接或鏈接超時時候;服務器也能夠根據須要斷開和客戶端之間的鏈接。

EventEvent是異步發送給客戶端的事件消息。能夠由操做(operations,如sideeffect)觸發或引起(這是operation的主要目的)。事件由事件代碼(Eventcode)標識,事件來源則是ActorNumber。

EvCode即EventCode簡稱,標識事件的類型以及事件所附帶的信息。

Game根據上下文,多是單機的也多是多個玩家之間有輪次的比賽。Lite則是後者,玩家能夠加入到房間內相互遊戲。

Latency即請求迴應時間,服務端和客戶端可能有所不一樣。

Lite即Lite應用,您入門的基本遊戲邏輯。

Lobby大廳,即「Lite大廳」或「遊戲房間」。

Lobby Roomlobby room是大廳應用的一個特殊的房間。它不關注玩家進出遊戲房等操做,而是列出遊戲列表供玩家選擇。

Log FilesPhoton做爲服務程序運行,沒有圖形化界面(GUI),所以須要有日誌記錄。目前有兩套日誌:一套是應用的日誌,日誌文件存於deploy/log目錄中;另外是Photon引擎自身的日誌,記錄到deploy/bin_*/log目錄中。

Matchmaking負責查找遊戲創建比賽。Lite應用無此功能,只能根據名稱加入遊戲房間。Lite Lobby則是列出了全部遊戲房清單出來便於查找。

NNet即eNetRUDP以前的叫法,主要由「eNet」和「Neutron」兩個單詞混合而來。

Operation對在Photon服務器端上遠程方法調用的另一種叫法。客戶端使用operation能夠在服務器上作任何事情,甚至能夠發送event給其餘客戶端。

OpCode「Operation Code」的簡稱。byte類型,用於觸發服務器端操做,客戶端獲取操做返回結果,用opCodes判斷返回動做類型。

Peer即鏈接到Photon引擎的客戶端,另外一方面Photon服務器端也是Peer,且只有一個。

Photon Core指的是Photon引擎的核心,由c++語言實現,負責處理鏈接以及eNet協議。

PhotonControlPhoton的管理工具,打開PhotonControl.exe文件便可開啓一個托盤應用。

PhotonServer.configPhoton引擎的配置文件,主要用於IP、應用以及性能檢測設置。之前叫PhotonSocketServer.xml,剛剛改成PhotonSocketServer.config。

Policy File即證書文件,由證書應用負責發送crossdomain.xml。像Unity Webplayer、Flash以及Silverlight等web遊戲平臺在鏈接服務器以前都須要獲得受權才能夠運行。

Reliable便可靠命令,要麼到達目的地要麼超時斷開。可靠命令在信道中是順序傳輸的,同時如有丟包狀況,則會重複發送直到確認成功收到。

ReturnCode每一個Operation返回的初步結果,用一個字節的值表示,能夠經過ReturnCode檢驗操做成功與否:RC_OK == 0 表示操做成功,不然操做失敗。

Room即一組玩家或客戶端的集合,能夠用於遊戲、聊天大廳或者其餘方面。Room是Lite框架中的一個類。

RUDP便可靠UDP:在UDP協議基礎上實現的可靠數據傳輸協議。

Socket Server即Photon引擎的另一種說法。

Timeout使用eNet方式,客戶端和服務器端都監視對方消息是否可靠,若是檢測到長時間沒有迴應,則會斷開鏈接。

Unreliable不可靠的命令則不須要對方迴應,它順序發送數據,可能會有數據丟失,數據序列有「漏洞」。

photon引擎5分鐘快速入門編輯

啓動Photon很是容易,直接運行SDK中附帶的程序便可。

下面的視頻主要演示瞭如何快速啓動Photon,這是必不可少的步驟。

觀看視頻

下載

下面是Photon Server SDK下載連接:

SDK下載

選擇最新版本的「ExitGames-Photon-Server-SDK」下載。

選擇適當版本

將Photon服務器SDK解壓到任意位置,進入「deploy」目錄選擇適合您當前環境的版本:

1.bin_Win32:32位Windows Vista以上版本

2.bin_x64:64位Windows Vista以上版本

3.bin_Win32_xp:32位Windows XP或者2003

4.bin_Win64_xp:64位Windows XP或者2003

SDK的deploy目錄裏面包含了運行Photon須要全部文件,其餘目錄則是文檔目錄、類庫目錄以及源碼的目錄。

Photon控制檯(Photon Control)

運行Photon管理工具:PhotonControl.exe。這是一個托盤應用,程序啓動後會建立一個托盤圖標。

Photon Control上的「Run asapplication」菜單項

點擊右下角的托盤圖標,單擊「Photon」下面的子菜單「Start as Application」便可開啓Photon服務。

啓動Photon服務大概會花幾秒鐘時間,這主要取決於配置的應用狀況,部署的應用越多啓動就會越慢。

運行Testclient測試客戶端

服務端的SDK提供了一個壓力測試工具(TestClient),模擬多個客戶端鏈接,能夠點擊「Photon」下的「Testclient」菜單開啓。

Testclient是一個命令行工具,能夠模擬25個遊戲每一個遊戲4個玩家共100個玩家在線的測試。

wKioL1ZK1V3xjWSkAAB-wgwjF-A143.jpg

Testclient正常開啓的界面

另外,也能夠下載.NET版本的Photon客戶端SDK。裏面有個「Realtime Demo」可執行程序,配置鏈接本地服務器,同時打開兩個客戶端,每一個客戶端均可以看到另一端的顯示狀態變化。

詞條圖冊更多圖冊

wKiom1ZK1Qyw7ZmfAABv4fF4FLA533.jpg

詞條圖片(5)

相關文章
相關標籤/搜索