猫史档案馆


【kitten-云端进阶教程(再制)】20+房间联机 ---1/3

用户:𝙲ℴ𝗌𝔦𝒹ₑ𝑟𝙲ℴ𝗌𝔦𝒹ₑ𝑟查看:18 回复:10 评论:18 创建时间:2023-02-11T11:10:45


1.联机的 过程&概念

大家手机中一定有不少联机游戏

链接wifi,打开游戏就能玩上好几小时

其中:

玩家先登入服务器,

并发出联机请求

这是第一步骤。

 

服务器寻找房间

并将消息告诉手机用户(usr)

然后开启联机。

 

服务器持续返回房间游戏数据(每个玩家状态,地上物品位置种类,等)

手机负责解析并应用这些数据“组装”成你看到的游戏场景

 

2.问题

k/n(kitten/nemo的简称)端支持云端存储

有不少人通过云端支持实现了联机

但他们对这些功能又不太了解

所有进展仅停留在 单房间 或 一云一房间

利用率不足一半

--如果你们看过我之前的教程你会知道为什么--

 

k/n拥有云端但仅限存储

说明所有操作需要在玩家那完成

就像“少”了一个环节:服务器

更或者说,玩家===服务器

这意味着我们需要协调每个玩家之间的操作?

不,模拟服务器的操作!

只需要一堆如果否则

 

3.开始制作!

几个云变量(无云列表)

center_image

作为房间专用(8*1024=8192字符)

根据数据级别理念(主要到次要,每一级别包含几个类别的信息,易于管理)

准备3级列表

center_image

 

他们可以解析成以下:

center_imagecenter_image

甚至更多。

一些必要的工具

快捷解析:

center_image

提升利用率的“好法子”

center_imagecenter_image

*此方法叫串联法:把多个云变量当做一个大云变量使用*

 

设计以下(请根据你的需要设计而不是照搬)

数据格式

每两项为 1房间 (以“;”做分隔符)

不考虑用户名不规范

编号,限人数,密码(0为无),玩家数据,(房间2)


玩家数据:

名称;id;游戏状态;位置x;y;持有物品;使用物品;开火?; (玩家2);(玩家3);...;聊天内容


持有物品:
物品1'物品2'....

聊天内容:

聊天长度,聊天内容,(聊天2),(聊天N)

其中 编号、密码、人数上限 均为 数字类型

如果你不会设计数据,可参看上一篇教程喵community/514294

 

从 数据格式 中可推算出

玩家的位置=center_image

我们规定一玩家等于8个项

所以一个玩家= 该房间第一个id位置至后7项

 

3.1 重现匹配

 

center_image

bcm设置名称名称规范因为某些名称会“干扰” 把(字符串)按“,”分成列表 积木“正常”运行

让你解析到什么奇奇怪怪的东西

(假设有个用户名是yard/o,按“/”分列表,数据“21/1803/yard/o”会解析成3项而不是4项,你是无法预知或调整的

但没什么用,仍然有很多用户名包含奇奇怪怪的字符

所以我们需要“规范”它们

center_image

联机时各种情况都有

云端清空和房间都满时告诉告诉新建一个

而空间不够是告诉玩家不能创建房间

普通匹配时翻找每一个房间,有空就进,没空下一个

center_image

人多时每个人都抢位置

有时候两人抢一位置,一人预定但另一人还不知,于是第二个覆盖了第一个的记录

导致“一位占两人”(两个玩家操控一个角色)

而系统不知

设一个计时卡

center_imagecenter_image

你抢到一个,预定看一会还在不在

如果在,你开始游戏,

不在,自己只能认倒霉

 

如果没有房间了,自己根据房间模板创建一个

center_imagecenter_imagecenter_imagecenter_image

---------------------

作者:quast

用时:1h


回复

上一页1 页 / 共 1下一页
𝙲ℴ𝗌𝔦𝒹ₑ𝑟𝙲ℴ𝗌𝔦𝒹ₑ𝑟

这次比上次简单太多了

点赞0


评论


𝙲ℴ𝗌𝔦𝒹ₑ𝑟𝙲ℴ𝗌𝔦𝒹ₑ𝑟

?()图片重复了

点赞0


评论


你好吧789_qwq你好吧789_qwq

666

点赞0


评论


你好吧789_qwq你好吧789_qwq

我都不会

点赞0


评论


𝙲ℴ𝗌𝔦𝒹ₑ𝑟𝙲ℴ𝗌𝔦𝒹ₑ𝑟

不要在意图片重复

(我剪辑时为什么都没看到)

点赞0


评论


你好吧789_qwq你好吧789_qwq

可是怎么做到一个变量储存两个玩家的信息,那样会有bug

点赞0


评论


黄颠黄颠

收藏

点赞0


评论


函歪函歪

来的有点晚,反正这次没有那么难了

点赞1


评论


AokenAoken

收藏

点赞0


评论


你好吧789_qwq你好吧789_qwq

更新更新

点赞0


评论