12个回答
如果地图很大的话,判断和其他人的距离,只给一定距离内的人发送数据坐标,另外还可以通过改变发送频率来增强游戏性能。

如果这100人是同屏(就是任意两个人之间都要互相看到对方)的话,基本符合是你说的这样
区别在于 不是 “高频率的发送”,而是转发客户端的移动操作包。

因为人物移动是客户端发包给服务器的,发的包中包含的数据无非两种,一种是发目标点,一种是发移动方向。
而服务器只是把这个包转发给其他人,即广播给另外99个人。
客户端发一个包,服务器就广播一个,客户端发100个,服务器就广播100个。

可以优化的空间在:
1、如果客户端前后两个包发的是同一个目标点,或者同样的移动方向,第二个包就可以不用再转发。
2、如果客户端发包频率超过了一个阀值,服务器可以选择性的丢弃部分包,并在广播包中带上这个人在服务器上的当前位置,由接收的客户端做插值。
客户端内的自定义游戏档案与游戏服务器的数据不一致可以卸载重新安装,或者重新启动检验游戏的完整性。

游戏服务端一般采用的数据库是关系型数据库,用mysql就足够了。我呆过的几家游戏公司都是采用mysql数据库。本文将从数据持久层框架的选择、数据表结构的设计以及数据入库模型三个方面。

验证游戏的完整性。在Steam中找到游戏后,右键单击属性,选择本地文件标签,然后选择下面游戏文件的完整性。如果数据不完整,您可以先转到韩服,然后切换回国家服务。获取下一个数据。

检查游戏是否更新,检查游戏是否是最新版本,是否建议重新启动游戏。如果没有,请到官方网站下载最新版本,等待自定义更新,然后运行游戏。卸载,如果上面的方法没用,请卸载游戏。完全删除文件,重新下载游戏,然后自定义游戏文件,并重新打开游戏,检查网络。
客户端内的自定义游戏档案与游戏服务器的数据不一致时,第一种是尝试重启游戏,确定不是因为当前游戏程序运行的问题。第二种是检测游戏的完整性。

具体的方法是在Steam的库中找到DOTA2,右键打开属性,然后在打开的属性页面中选择本地文件标签,选择下方的“验证游戏文件的完整性”按钮即可解决。

游戏系统的数据可以分为两大类。一类是由策划童鞋配置的玩法规则,称为策划数据或产品数据;第一类是保存玩家或公共信息的数据,称为用户数据。一般说来,策划数据只能由程序读取而不能修改,而用户数据则增删查改都会涉及。

对待玩家数据的严谨态度,无论怎么重视都不为过。玩家数据,正如游戏系统的血液。只有保证玩家的数据安全,才能留得住玩家的玻璃心。如果玩家今天历尽艰难险阻,耗尽所有rp刷到一件极品装备,明天上线发现装备不见了,估计想烧游戏公司的心都有了。
解决方案:卸载后重新安装,或者在steam界面中检验游戏的完整性。
在Steam设置中选择参与SteamBeta的测试,右键点击Steam中的Dota 2,选择“查看DLC”。勾选Dota 2 WorkshopTools一栏中的方框,点击“关闭”,然后所需的内容就会开始下载。下载完毕后,进入Steam的库,点击工具并选择安装Dota2 Workshop Tools。

自定义游戏模式通过Steam的Dota2创意工坊进行发布。制作完成自定义游戏模式后可以通过Dota 2客户端进行上传。上传完毕后其他人可以在相应页面上进行订阅,然后地图将自动下载到客户端中。

由于开发工具处于早期尖端,可能是需要更新文件格式,需要更新自定义地图,并重新提交到创意工坊。这是非常罕见的问题。

Dota 2创意工坊工具处于早期测试阶段,我认为现在应该让地图开发者制作自定义地图,但是由于还是处于初期阶段,对于系统的支持并不到位。应该尽快加入32位系统(Windows XP系统)对自定义游戏模式的支持。
客户端内的自定义游戏档案与游戏服务器的数据不一致的解决方法有:

重启游戏,完全关闭客户端后,进程管理里面确认游戏进程已关闭,删除DOTA2目录下的“Package”文件夹,以及“ClientRegistry.blob”文件夹,再启动客户端。

检验游戏的完整性,在steam中找到游戏后右单机点击属性,选择本地文件标签,选择下方的验证游戏文件的完整性,如果数据不完整可以先转到steam外服,再转回国服,重新获取下数据就可以了。

检查游戏是否更新 ,检查游戏是否为最新版本,如果是建议重启游戏;如果不是,请到官网下载最新版本,等待自定义更新完毕,再运行游戏就可以了。卸载,如果上述方法没有任何用处,就将游戏卸载。文件全部彻底删除,重新下载好游戏,然后自定义游戏档案,再重新游戏。检查网络,可能是网络太慢,匹配不上游戏,游戏数据加载不出来导致的。