下载 App

多人游戏数据共享与独立(自己的塔防游戏为例)

精华修改于03/3049 浏览开发交流
制作多人游戏时务必要提前和塔拉拉沟通好哪些数据独立or共享.否则之后改的时候所花费的积分和时间代价是巨大的,以下是我的塔防游戏一些注意点,各位开发者可以作为参考
一、玩家独立数据(Per-Player)每个玩家拥有自己独立的一份,互不影响。
1.1 经济系统数据服务端位置同步方式
金币 gold
灵魂 souls
设计意图:每个玩家独立挣钱、独立花钱,不会互相抢资源。
1.2 人口系统数据服务端位置同步方式
人口上限 popCap
已用人口 popUsed
设计意图:每个玩家有自己的人口上限,放自己的塔消耗自己的人口。
1.3 卡牌/手牌数据服务端位置同步方式
手牌 hand
保底计数 gachaPity
内部状态
设计意图:每个玩家独立抽卡、独立出牌。
1.4 背包/装备数据服务端位置同步方式
背包 backpack
已装备 equippedUids
内部状态
设计意图:装备归属于塔的所有者,出售塔时装备返还给塔的 ownerId。
1.5 等级/经验数据服务端位置同步方式
玩家等级 playerLevel
经验值 playerExp
1.6 塔归属数据服务端位置同步方式
塔所有者 ownerId
设计意图:每个塔记录是哪个玩家放置的。出售返还资源给 ownerId,羁绊按 ownerId 分别计算。
1.7 羁绊系统数据服务端位置同步方式
羁绊 tier 缓存
服务端内部,战斗时按塔 ownerId 查询
羁绊脏标记
服务端内部
设计意图:玩家 A 放了 2 个A羁绊,不会影响玩家 B。每个玩家只看到自己的羁绊激活状态。
1.8 怪物计数/超限数据服务端位置同步方式
场上怪物数
超限倒计时
设计意图:每个玩家的出怪口独立,怪物数超过 100 只扣该玩家的命。
已修复:
· 客户端 MonsterBar 只显示 (e.ownerPlayer or 1) == mySlot 的怪物
· 服务端超限检测按玩家独立,已死亡玩家跳过(防止无限循环倒计时)
1.9 生命/死亡数据服务端位置同步方式
玩家生命
gs.playerLives[pi]
BroadcastResourceSync
生命模式
gs.lifeMode = "independent"
固定配置
设计意图:独立生命模式下,某个玩家的怪物到达终点只扣该玩家的命,某个玩家死了不影响其他人。
二、全队共享数据所有玩家共用同一份,某个玩家的操作会影响全队。
2.1 地图/路径数据服务端位置同步方式
路径点 waypoints    初始化时同步
地图格子
设计意图:所有玩家在同一张地图上放塔,可以互相看到对方的塔。
2.2 敌人列表数据服务端位置同步方式
所有敌人
enemies[]
设计意图:虽然每个敌人有 ownerPlayer 标记归属哪个玩家的出怪口,但所有敌人在同一张地图上行走,所有玩家的塔都可以攻击任何敌人。
2.3 波次状态数据服务端位置同步方式
当前波次
波次倒计时
设计意图:所有玩家统一进入下一波,不能某个玩家单独跳波。
四、设计决策说明为什么羁绊要独立?
塔防中每个玩家独立组阵容,如果羁绊共享,玩家 A 放的英雄会影响玩家 B 的羁绊激活,破坏独立策略性。
为什么 teamBuffs 要独立?
“全队"指的是本玩家的所有塔。当玩家 A 的英雄释放"某增益”,只应该增强玩家 A 自己的塔。如果共享,玩家 A 的技能会无偿增强玩家 B/C/D 的塔,破坏独立策略性。
为什么敌人列表要共享?所有敌人在同一张地图上,任何玩家的塔都可以攻击任何敌人。但每个敌人通过 ownerPlayer 标记归属,决定了到达终点扣谁的命、计入谁的怪物计数。
猜你想搜
taptap 制造多人游戏数据共享
别再烧积分了!从每次 2000 到每次 50 的血泪经验截图
别再烧积分了!从每次 2000 到每次 50 的血泪经验
适用场景:所有在用 TapTap Code 开发游戏的小白 难度:★☆☆☆☆ 背景最近群里总有人"炫耀"一次操作花了几千积分,说实话这不是值得高兴的事——这是在告诉所有人你的开发方式有根本性问题。我也走过这条弯路,所以来说说怎么改。 积分消耗的本质是什么积分 = AI 处理的 token 数量 = 你发给 AI 的内容 + AI 回给你的内容所以烧积分的本质只有两种: 你让 AI 做了大量无效/重
精华
82 赞
23 回复
如何提升你游戏中的UI美术水平截图
如何提升你游戏中的UI美术水平
一、请为你的游戏挑选一款合适的字体 很多开发者没有注意到其实UI界面中最重要的元素是字体,一款合适的字体能给整个游戏的界面感官带来蜕变。 请看案例 那么如何挑选适合自己的字体呢? 我总结出了一些小经验可供参考: 黑体:通用 宋体:古风、武侠、修仙 楷体:古风、武侠、修仙 圆体:卡通、动漫、Q版 科技:科幻、未来、电子 顺手分享一个免费可商用字体网站: 当然 如果你不知道自己的游戏适合什么风格
精华
126 赞
44 回复
开发心得-界面布局心得截图
开发心得-界面布局心得
大家好,我正在用 TapTap 制造制作一款2D 治愈林间徒步旅行游戏《徒步荒野》。 我分享一下我的开发心得,希望能有用,下面是一些界面布局的心得。 第一步:定版式、操作 先确定游戏是横版还是竖版、需要哪些操作按钮,敲定整体玩法思路。 我的玩法灵感参考《边境之旅》,主打散步看风景、沿途触发随机事件。 原版是 3D,考虑到自己是新手,选择2D 横版街机式来做,制作更简单、好上手。 第二步:敲定全局美
6 赞
3 回复
永恒虚空持续开发日记1——关于游戏中的新名词:场频截图
永恒虚空持续开发日记1——关于游戏中的新名词:场频
写在前边:首先感谢TapTap制造版主大大@汪崽 对于作品潜力的肯定,给与了我积分计划二的权限[表情_不好意思]。这边也在加紧开发改进各种功能中,期望尽快给大家带来成熟的版本。[表情_猫咪举手] 大家好,我是永恒虚空的制作人黑猫不详,大家叫我黑猫就好。从今天开始我将以后置开发日记的形式给大家分享我在TapTap制造中制作的游戏永恒虚空的开发过程,新人希望大家多多关照! 今天先给大家介绍我作品中最重
投票
3 赞
2D 等轴测视角:完整理论截图
2D 等轴测视角:完整理论
2D 等轴测视角:完整理论 一、视角的本质 什么是等轴测 人站在高处斜着往下看地面,地面上的方格子不再是正方形,而变成了菱形。这就是等轴测的视觉本质。 俯视(正上方看下去): 等轴测(斜上方看下去): ┌──┬──┬──┐ ◇ ├──┼──┼──┤ ◇ ◇ ├──┼──┼──┤ ◇ ◇ ◇ └──┴──┴──┘ ◇ ◇ ◇ 正方形网格经过旋转 + 压缩,变成了菱形网格。 为什么是 2:1
6 赞
开发日志(day2)坚持去做就是好的开始截图
开发日志(day2)坚持去做就是好的开始
今天主要是修复了一下昨天遇到的很多问题,闪帧;装备的等级没有随怪物等级参考;再次进入地下城,怪物状态竟然显示(已倒下);不会自动更换目标,导致会反复鞭尸;等很多的问题,不过通过昨天的经验,有效的向ai提出问题并且发送截图发给ai调试,也是把这些问题成功排除,甚至还有多余的free额度来生成新的内容。 新增的内容有返回城镇;返回主界面;中途退出地下城保留进入前的状态;完成地下城的面板结算;当然最有感
1 赞
1 回复
【UI教程】如何将已有的效果图应用为实际的UI界面截图
【UI教程】如何将已有的效果图应用为实际的UI界面
在经过了一些折腾和比较折磨的尝试后,我总算是摸清楚了嗒啦啦怎么把UI效果图转换为实际游戏中的UI组件,今天就给大家带来这部分的经验分享。 tips:1.本篇教程需要各位掌握最基本的ps使用,具体的操作部分我会大致讲解,但仍需各位自行学习ps的基本操作,部分可以由ai代劳的环节我会注明。 2.本篇教程需要在以我前两篇教程作为前置环节,请在阅读这两篇前置教程后再进行本篇教程内容的学习 在按照前
12 赞
5 回复
00:45
国风守宅塔防实机:门外敲击时,你会先升床、加固门还是补铜镜?截图
国风守宅塔防实机:门外敲击时,你会先升床、加固门还是补铜镜?
把“抢一间房、守一扇门”放进一座国风老宅,会是什么体验? 分享正在打磨的《长夜掌灯人》,本地代码开发的创意工坊 H5。先放45秒真实建造与守夜战斗,展示的是当前公开的 0.9.3 版本,不是概念演示。 目前的玩法围绕三个选择展开: • 先跑到床边,关门上床,开始积攒香火。 • 十二间异形房各有布局和增益,选房也影响法器搭配。 • 资源有限时,升级卧榻、加固房门和补攻击要做取舍;法器会随等级改变表现
1 赞
【Tap make 塔拉拉之立项干货】萌新看过来!截图
【Tap make 塔拉拉之立项干货】萌新看过来!
题外话:本人也是tap make 使用者之一。塔啦啦忠实信徒、天哥忠实拥护者、八年游戏策划经验的低级策划。但是!我已经做出来一款5000+热度、且稳定可更新的框架、并且还在持续产出更多游戏内容的橘猫! 这几天正好在开新坑。我是3月初加入的tapmake大家庭。两周时间于3月25日将这个作品上架。当时的全凭感觉摸索。如今,自己也是一个有自己项目的小菜鸡了。今天,就来分享一下,如何高效的制作一款高大上
投票精华
69 赞
24 回复
关于制作出质量很高的横版战斗角色的方法截图
关于制作出质量很高的横版战斗角色的方法
其实全篇就一句话,角色为啥做起来这么好看,因为我一帧一帧K的。 在做角色之前,我们需要一个角色的设计稿,这个东西很简单,你把人设写好剩下的交给AI就行了,所有图片,序列帧都可以让AI绘制和处理,学会绘图是你要制作高质量游戏的第一课。 这里拿我在做的角色举例,他的参考图是这样: 当你拥有了一个角色以后,就要想办法让她动起来了。 那么如何让她动起来,答案是序列帧。 在此之前你需要知道,最容易出现一个误
42 赞
12 回复