visibility - P2P 网络中的匿名可见性检查
问题描述
我正在为游戏的 P2P 网络解决问题。问题如下:考虑一个网格上的两个玩家,每个玩家都存储自己的位置。玩家 1 想知道它是否看到玩家 2。换句话说,玩家 2 是否应该将其位置数据发送给玩家 1。
问题很明显,为了知道玩家 2 是否应该发送它的数据,它需要玩家 1 的位置,因此玩家 1 必须显示它的位置。我想知道是否有人知道匿名进行这种可见性检查而不透露玩家位置的系统。
现在我有一个算法/策略,它只显示玩家 1 是在玩家 2 的上方、下方、左侧还是右侧,但不会向玩家 2 透露玩家 1 的确切坐标。它基于同态属性某些密码,但这在某些游戏中仍然是一个很大的限制,尤其是第一人称射击游戏,知道敌人的大致方向会很有帮助吗?请注意,我不是在这里寻找完全同态密码学,只是可以解决这个特定问题的东西,即检查一个点是否在“可见性域”内,而不揭示位置(或可见性域)信息。
这个问题可能有点牵强,因为那里可能没有这样的算法,但我想我还是会问:)
解决方案
如果有人遇到此问题并想知道答案,我在https://cs.stackexchange.com/questions/99001/anonymous-visibility-check-in-p2p-networks/106750#106750上发布了答案。不能保证它是 100% 正确的。
推荐阅读
- javascript - (ES6) 从 JSON 到 HTML (div) 的数据
- c - 子进程等待另一个进程完成并且 main() 没有执行到最后
- laravel - Laravel .htaccess 重定向多合一(1.public 2.https 3.www→non-www)
- javascript - SetTimeout 或使用数据库来跟踪下一个函数触发器?
- cookies - 如何从浏览器获取cookie并在jmeter中通过请求传递它?
- algorithm - 工作站分配的遗传算法
- neo4j - 如何在 Neo4j 中创建关系数据库的图形可视化?
- security - 我需要知道我的应用程序是否可以免受 XSS 攻击
- c# - EF Core 2.1 进行多个数据库调用
- java - 如何在物化 GlobalKTable 之前过滤掉不必要的记录?