【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)

相关文章
相关标签/搜索