zoukankan      html  css  js  c++  java
  • 看过自会理解, 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上了.  慢慢我再把上面那个练习完成. 

  • 相关阅读:
    数据库事务隔离级别和传播
    InputStreamReader和BufferedReader的区别
    SQL Server
    java.util.List.subList ,开区间和闭区间
    java中/与%的区别
    mysql 日期比较
    intellij idea 分屏设置 与快捷键
    Java 根据年月日精确计算年龄
    IntelliJ IDEA控制台Console里没有查找快捷键
    eclipse svn同步资源库时忽略某些不需要提交文件类型和文件夹
  • 原文地址:https://www.cnblogs.com/cnsoft/p/3426612.html
Copyright © 2011-2022 走看看