同步操作将从 梦想游戏人/XYGame 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#XYGame(大闹西游OL) 概述 (申明:本游戏图片资源来自4399原版(造梦西游OL),仅用于学习使用,如有侵权请联系我删除 me@dreamyouxi.com)。 ##相比原游戏添加 多人PVP PVE 等功能
#--------------------------------------服务端概述----------------------------------- 服务端按照实际需求分为3个部分
##1.战斗部分 BattleServer
采用帧同步
战斗帧同步服务器
战斗时 客户端与该服务器直连。
纯C++实现,负责战斗的交互帧数据,暂时用多线程模型实现。等
基础框架来自之前一个项目
可能采用的feature:
1.改用ASIO的协程模型替代现有的多线程模型。
##2.非战斗部分 LogicServer
使用C++ 和Lua 实现RPC回调完成逻辑,IO模型采用boost:asio
逻辑服务器采用应用层RPC来交互
只有脚本代码。runtime 为私有---------Jin Qing ( http://blog.csdn.net/jq0123 )
拉取代码直接覆盖runtime的文件就能直接运行xygame服务器
内部对原runtime进行了扩展,比如Lua层实现"真正的RPC"开发方法
对ClientServer交互的扩展支持等
添加对Redis的支持,未来可能会 添加 MySql持久化 来实现热冷数据 概念(已初步实现MySql Sql结构)
##3.客户服务端 ClientServer
运行在服务端的软件。
用于模拟客户端的运算 来校验数据,原则上 只是UnityClient的一个场景 和部分修改代码
没有UI 只有逻辑,有单独的线程 负责和 LogicServer通信等
#---------------------------------------客户端概述-----------------------------------
#客户端 UnityClient
采用Unity实现可配置化C# 和Lua ,动态切换Lua 和C#代码 达到热更新目的
基础功能:
基础框架来自之前一个项目(Balls-小球大作战)
在此基础上的改进和扩展:
1.添加小程序概念(类似于微信小程序的沙盒机制),详见代码中各种XXXApp.cs
2.添加RPC调用
3.添加骨骼动画(来自Spine官方Unity库的简单封装)
4.添加对来自cocos2dx 的帧动画 plist png等文件的处理(包括像素切图详见2D文件夹),实现一行代码播放帧动画
5.添加对2D动画的支持,比如ScaleTo动画等,详见游戏中各种UI的动画
6.添加对Lua实现部分逻辑的支持详见class LuaBuffer 还可以用可配置化的逻辑比如class BulletConfig(出于性能考虑暂不大面积使用lua)
7.实现混合状态机详见StateMachine.cs和StateBase.cs,实现技能,连招打断等
8.添加对地图地形的可视化编辑 详见 Terrain.cs 和 WorldMap.cs 战斗场景结构
9.AsyncQueue 异步任务队列,文件和FileCache
10.添加行为树,FSM 等实现的AI
等等
#---------------------------------------已实现的玩法---------------------------
1.好友系统,日常好友管理(添加,PVP,删除,等)
2.世界聊天系统,
3.战斗系统 包括PVE PVP 技能等部分实现
4.PVP,PVE全服随机匹配
5.等
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。