用Unity做个游戏(十) - 完结篇,内容补全
前言
这个项目差不多5月份就已经没有再更新了,6月初正式从公司离职开始专心做独立游戏了。差不多到现在已经一个月了,工作也慢慢进入了正轨,这两天手头暂时闲下来了,也差不多该把这个系列完结掉了,了却我一桩心愿233
服务端主要游戏逻辑
上次说到主要逻辑是由各个具体的Controller来实现的,这个游戏分为两个Controller:UserController
和BattleController
。
前者主要负责用户的登陆登出等等,逻辑比较简单,我们主要来看BattleController
的逻辑
这个Controller只处理一个协议,就是SFRequestMsgUnitSync
同步状态协议,里面包含4个参数,移动方向,鼠标朝向和是否释放了技能。
用Unity做个游戏(九) - 服务端架构
前言
最近一直在思考某些事情,然后就拖更了一个月233
其实代码也一直在写,游戏的主流程也基本上通了,就是一直懒得写博客。
OK我们今天来介绍下游戏的服务端是怎么实现的。
服务端结构
BounceArena的服务端使用node.js开发,这次用了三个进程,分别处理日志(main.js也是程序入口),socket通信(SFSocketHandler.js)和具体的业务逻辑(SFGameServer.js)。
main.js
main.js
为程序入口,我们在server/app
目录下执行node ./
指令就可以了。
这个进程会启动两个子进程SFSocketHandler.js
和SFGameServer.js
,这两个进程运行过程中产生的日志会通过node的进程通信机制发送给main.js
,然后主进程统一处理这些信息,比如格式化输出,另存到文件等等。
用Unity做个游戏(八) - 客户端逻辑结构和网络同步机制
用Unity做个游戏(七) - TCP Socket客户端
用Unity做个游戏(六) - 原生UI组件扩展
用Unity做个游戏(五) - 编辑器扩展
用Unity做个游戏(四) - UI
用Unity做个游戏(三) - 日志相关
前言
本来是想接着写UI相关的东西的,不过上一篇提到了SFUtils
这个类,干脆就先介绍下有关于日志方面的封装
目的
这个游戏目前的目标平台是PC和Mac,移动平台有网络同步效果方面的顾虑,之后再考虑。
当然这不是主要问题,主要问题是Unity日志实在是太难用了,直接使用Debug.Log()
是最常用的方式,然而这样做只会把日志输出到UnityEditor的Console里,实在是有点难看,唯一的好处是双击某一行可以直接跳转到响应的代码行。不过作为外貌协会成员,还是想办法把这个尽量弄的优雅吧。
想法是统一把info,warning,error这些统一为一种日志,全部记录到文件里,这样的话我们翻之前的日志也比较方便,不会丢失。如果配合实时日志查看器的话(之前还开了个坑,不过最近估计没时间填了orz),就简直完美了~