看过自会理解, Photon Server 常见概念分析.
http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419
Channel用来支持不同类型的数据请求(eventChannel,positionChannel,itemChannel 各种). 以及发送优先级. Channel id越小发送优先.
opCustom 发送自定义的数据请求.
opRaiseEvent 触发事件.传送到服务器.但不会广播给所有Player
Photon Cloud 是内置了房间模式的服务器代码支持. opJoin Leave 等等. 客户端Api可以看到已经实现了. (底层当然还是 Channel 和 OperationRequest)
要想自己扩展功能, 需要从 opCustom 入手. LitePeer 这种是内置的实现, 支持房间逻辑的交互. LitePeer.opJoin 等等.
要想完整了解. 最好是从Photon Server 入手结合 DotNet Client SDK 以及其它平台的SDK 连起来看. 就很容易理解了. Unity 版本的SDK 为了支持Unity 做了过度的封装. 所以一下子看起来还更困惑. 推荐先去看 DotNet Client SDK. 配合 Lite,LitePeer Balance 的Server部分 就能完整的理解了.
最佳实践方法:
1. 搭建PhotonServer 让自带的演示跑起来. 如果是连接则不需要服务器. 只要在配置里设置好 Appid就行.
2. 修改演示范例.加入自己的功能. 比如: 给 Photon Viking Demo 加入私聊. 加入召唤宠物. 循序渐进.
3. 加入MasterClient逻辑, 加入攻击 伤害 血量同步以及Buff(无敌状态). 改造成PK多人游戏.
推荐参考的资源:
PlayerMaker的 Photon Demo : http://www.hutonggames.com/downloads/PlayMakerPhotonSample.unitypackage
Photon viking Demo ,AngryBots Demo , Bootchamp demo, island demo .
Photon Server 和 Cloud 的关系: PhotonServer 是支持扩展服务器逻辑的.适用游戏类型比较广泛. 不仅是多人游戏. mmo 也是可能的. 但就需要自己租服务器来跑Server了.
而Photon Cloud的定位则是轻量的多人游戏, 服务器不带逻辑,客户端作为MasterClient来实现游戏判定. 开发者不用自己搭建服务器. 各有各自的适用范围. Glu的永恒战士就是基于Cloud来实现的.
这个Photon 和 SmartFox 以及 Unitypark 等都是配合Unity的服务器端解决方案. 多少都有学习成本,都是闭源的.
Photon 带一个 mmo demo. Unity3d客户端部分是基于 isLand 改造的. 支持4.x的话还需要改一些代码. js c#都有不兼容问题毕竟那是2.6版本Unity的项目.
我已经把改动过的可以工作的版本放到Github上了. 慢慢我再把上面那个练习完成.
看过自会理解, Photon Server 常见概念分析.的更多相关文章
- SQL SERVER常见等待——解决会话等待产生的系统问题
SQL SERVER——解决会话等待产生的系统问题 转自: https://blog.csdn.net/z_cloud_for_SQL/article/details/55051215 版权声明:SQ ...
- 理解SQL Server是如何执行查询的 (2/3)
查询执行的内存授予(Query Execution Memory Grant) 有些操作符需要较多的内存才能完成操作.例如,SORT.HASH.HAS聚合等.执行计划通过操作符需要处理数据量的预估值( ...
- (转)理解SQL SERVER中的分区表
简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...
- 理解SQL SERVER中的分区表(转)
简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...
- 理解SQL SERVER中的分区表
转自:http://www.cnblogs.com/sienpower/archive/2011/12/31/2308741.html 简介 分区表是在SQL SERVER2005之后的版本引入的特性 ...
- T-SQL 理解SQL SERVER中的分区表(转)
转载来源一定要明显: http://www.cnblogs.com/CareySon/archive/2011/12/30/2307766.html 而且这个大神对于数据库方面的文章非常棒 强烈推荐 ...
- photon server (1)
Photon是一套使用广泛的socket server引擎,服务端底层C++编写,客户端C#编写,跨多平台,收费,效率可观的一款引擎.实用上前有九城游戏(原魔兽世界代理),现在笔者发现多款腾讯旗下3D ...
- 深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数
原文:深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数 概述 COLUMNS_UPDATED函数能够出现在INSERT或UPDATE触发器中AS关键字后的任何位置,用来 ...
- 图文并茂VLAN详解,让你看一遍就理解VLAN
一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.V ...
随机推荐
- 再谈WinIO初始化异常
再谈WinIO初始化异常 前段时间WinIO在我的新项目中总是初始化失败,有时候又是好好的,很让人费解.修改了源代码显示了很多调试信息后,也没有什么太多的收获.由于我们的工控卡必须要用这个库, ...
- form:checkboxes radiobutton select用法
<form:checkboxes path="subjects" items="${requestScope.subjects}" element=&qu ...
- 较常用的Math方法及ES6中的扩展
记录下与Math有关的常用方法,如:求最大值.最小值等,或者是保留几位数啥的 1.数据 let floatA = 2.325232; let floatB = 2.3456; let temporar ...
- knudson hypothesis 二次突变假说
二次突变假说是由诺丁在1953年提出的,他发现似乎随着年龄的增长,患有癌症的概率有上升.对这种现象有一种解释,即癌症的发生需要多个突变的累积. 克努森在1971通过研究正式地提出该观点.他对具有遗传性 ...
- 20145235李涛《网络对抗》Exp6 信息搜集与漏洞扫描
基础问答 那些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理.全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M ...
- Python 中lambda 简单介绍
转自:https://www.cnblogs.com/AlwaysWIN/p/6202320.html 在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.l ...
- 判断一个对象是否有new
C++语言中,对象没有空和不空的概念,只有对象指针才有空和不空的概念 判断对象指针是否为空只需要和NULL常量进行比较即可 如果相等,则为空,否则不为空 另外对象虽然没有空和不空的概念,但是有有效和无 ...
- SpringBoot MockMVC
使用MockMvc,我们可以完成基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. @RunWith(S ...
- [POI2012] BEZ-Minimalist Security
一张n个点m条边的无向图,有点权有边权都是非负,且每条边的权值小于等于两个顶点的权值和,现在要将每个点减一个非负整数使得每条边权等于两个顶点的点权和,问最大修改代价和最小修改代价 思路神的一匹,完全想 ...
- HDU 5704
题意:n个人参加一个游戏,每个人选择0-100范围的数.m为选择的所有数的平均数*2/3,选择的数<=m且距离m最近的人获胜,若同时有多人满足条件则随机抽取胜者.如果一个人选的数,比m小,且相距 ...