- 博客(6)
- 收藏
- 关注
原创 复盘:Unity RTS (4) 网格系统+路线规划
网络的部分搞定后,主要就是RTS的几大难点.方案的选择:优点:优化非常好,上手很简单,使用了地图烘焙缺点:1.多角色之间的碰撞和挤压很难看且难以避免如果是人型角色这倒没什么,谁没在CS里被挤过,但是一堆坦克挤来挤去就很酸爽了.这点亲身体会,另外可以参考这个帖子.unity3d多人寻路问题方案_unity 多人寻路-优快云博客总之一点,这个东西并不适合大量角色,除非你深入底层魔改.2.动态添加障碍物比如RTS这种能够随时随地建建筑,会产生一定bug3.不适用于帧同步(浮点\碰撞)
2024-01-18 20:54:06
2237
原创 技术复盘:指令帧同步Unity RTS手游(4)基于Java Socket的TCP服务器
房间匹配功能已经完成,匹配成功后对战服务器就不要用Http了,延迟比TCP/UDP要高不少。第一版试了一下UDP,没有搞定它的可靠传输,手撸代价很大,用框架的话学习成本也不低。不是那种上千上万单位的RTS,TCP其实也足够了。基本流程如下0.在前面的匹配完成后,给客户端发送对战服务器的ip+端口。Unity客户端切换下一个场景(正式开始游戏,并初始化TCP服务器).这个端口可以在同一台服务器上也可以不在同一台服务器上,不通的话还要写两个服务器之间的通信,假设在同一个服务器上.
2024-01-18 19:25:04
563
原创 技术复盘:指令帧同步Unity RTS手游(3)Java Web服务器匹配房间(2)
简单的房间对象创建好后,后续功能先留白。继续解决玩家匹配的问题,目前只是创建好了房间的对象,但是玩家怎么找到这个房间,这里就需要一个房间匹配类。匹配建议还是走Web服务器这块,因为涉及到一些简单的短连接,javaweb这块是最简单的,当然最主要的还是要为后续的数据库交互做准备。依旧是先定义一些基本属性,当然这是一个springboot 应用,必须加上相应注解。
2024-01-16 17:04:56
449
原创 技术复盘:指令帧同步Unity RTS手游(2)Java Web服务器匹配房间(1)
/房间总数,从0开始按创建顺序增长//房间哈希码列表,key是房间哈希值,value是房间号//房主名称//房间容量:几v几//当前玩家数量//房间序号//满员标识:满员后大厅不显示该房间//空房标识:空房间大厅不显示该房间//开始游戏标志:开始游戏后大厅不显示该房间//当前房间的玩家的Id列表//当前房间的玩家的名称列表//当前房间哈希值(唯一标志)//当前房间线程池//每个玩家最后访问该房间的时间,用于超时判定// 记录每个用户的最后访问时间。
2024-01-16 16:38:15
477
原创 技术复盘:指令帧同步Unity RTS手游(1)Java Web服务器版本检测
简单写个IO,读取服务器中放了最新安装包的文件夹,安装包命名以pack_xxx.apk为模板,通过对比Unity 的版本号与服务器里面的最新安装包的版本号,确定是否要更新文件。这里如果之前的过滤器/拦截器不写登录验证的话很容易被攻击,最好加上。主要分为两大块,一块是Web服务器,用于检查更新/登录/排行/商城等功能,这里直接使用java springboot实现。另一块是对战服务器,主要用于指令帧转发,后面再提。本文主要复盘Web服务器这块。首先添加一个过滤器,简单用于统计,没有做登录验证。
2024-01-16 15:53:50
475
原创 技术复盘:用指令帧同步做 Unity RTS 网游/手游
这个项目目前由于各种原因已经结束了,最终没能做到上架那一步,不过RTS的所有坑都踩了一遍。本人是RTS游戏爱好者,这篇文章先泛泛谈一下关键技术问题的遇到的大坑。后面有空再补上细节和代码。
2024-01-16 12:05:40
1484
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人