【发布时间】:2011-03-11 23:14:55
【问题描述】:
我正在设计一款游戏,要求玩家实时(接近)实时了解其他玩家的 GPS 真实世界位置。可能会有约 5 秒的延迟,但仍能正常运行。
目标平台是 Android,但是我对我的 iPhone 朋友很感兴趣,所以我希望使用 HTML5、Javascript 和 PHP 在网络上构建它。
我尝试了几种不同的方法,例如 BeaconPush 和不断地读取/写入 MySQL 数据库,但我不确定最佳和最有效的方法。我开始编写一堆代码,然后发现一个问题并尝试另一条路线,似乎一直在撞我的头。
游戏有点像吃豆人。三名球员正试图“抓住”一名球员。一个玩家在现实世界的地图上有一个特定的目标。游戏从数据库中获取坐标并将对象/图标生成到谷歌地图上。使用 navigator.geolocation.watchPosition 游戏检查物品的命中检测,玩家可以在物品经过时拾取物品。所有这些都可以正常工作,但地图必须能够在对象图标被移除时更新它们,并使用其他玩家的位置近乎实时地更新图标。我不确定如何以最有效的方式分享每个人的 GPS 位置。整个游戏基本上运行正常,除了这个(尽管是巨大的)拼图。
感谢您的指导!
【问题讨论】:
-
考虑到大多数 GPS 设备都不是很精确(~ 20m),你需要一个很大的地方来玩这个,对吧?
-
即使使用 WiFi,我也不希望在 5 秒内从设备同步到数据库到其他设备。听起来对我来说是高估了。祝你好运。
-
@NullUserException 是的,这是一个全市范围的游戏;碰撞检测目前设置为四分之一英里。 @M'vy 这就是我所担心的......我希望找到考虑到技术的最佳折衷方案,看看它是否会起作用。
-
别告诉我你需要一辆车才能玩这个。关于技术,你在服务器端使用什么几乎不会是一个因素。用 MySQL/PHP 试一试,看看它是如何工作的。如果速度太慢,我会在具有更好带宽/延迟(或更好的手机/运营商)的服务器上投入更多资金。
-
是的,我们的想法是为每辆汽车(2 对)配备一名司机和一名乘客/操作员,并将手机由汽车供电,并将显示器设置为永不关闭,以便始终保持 GPS 数据被发送。使用 coords.speed 限制游戏的速度。游戏是基于策略的(设置陷阱,使用小路),所以安全不是问题,因为鲁莽驾驶不会给你带来任何好处。我更担心汽油价格和共享 GPS 数据!
标签: php javascript mysql mobile gps