0

我遇到了一些关于这个的旧话题,但由于有很多用于创建网络内容的新技术,我不得不再次询问。

我的背景: 我对 xhtml/css/javascript/php/mysql 有很好的了解。我从头开始建立一个网上商店没有任何问题,包括一个综合数据库和一个 cms 来轻松添加/修改产品。我很喜欢使用 PHP 和 mysql 来存储数据。部落战争克隆的尝试根本不会吓到我。我还用 c#/xna 制作了几款游戏,但我仍然认为自己是新手。我涉足了闪光灯,觉得这可能可以用来获得我想要的结果。

我的项目: 2D mmo 战术射击游戏。玩家应该能够在相当大的地图上移动并很快获得其他用户的位置更新。游戏将包含很多地图,大多数地图应该只能处理几个玩家。然而,中心地图和感兴趣的地图应该能够无延迟地处理至少 100 名玩家。

如果战斗可以在地图上实时解决,那就太棒了,但我已经想到了其他方法来解决这个问题,比如打开一个玩家可以进入加入战斗的实例地图。我也在考虑在战斗中采用更具战术性的回合制方法,但这取决于实时战斗的优缺点。

总结一下: 我确信我可以管理除图形实现之外的所有内容。Mysql 在几毫秒内查询本地玩家位置应该不会有太大问题。

我发现了一款​​名为 Deeppolis 的游戏,它在图形上非常类似于我想要的。我仍在考虑将其作为可下载的客户端,但我很感兴趣如果我要基于浏览器进行操作,我的选择是什么,因为基于浏览器的游戏往往会吸引更多人。

感谢您阅读这堵文字墙:D。

4

1 回答 1

1

如果这是实时的,你不会想要“查询 mysql”来获取玩家位置。您将需要创建一个所有客户端都连接到的套接字服务器。套接字服务器会将所有已连接客户端的订阅者列表保存在内存中。这样,当一个客户端向套接字服务器发送消息时,套接字服务器可以立即将所需的数据推送给需要它的任何客户端。您还希望将游戏状态模型保存在套接字服务器的内存中,以防止作弊等。您只会使用数据库进行长期存储,其他所有内容都应该在内存中。还要记住,共享服务器可能不允许您访问套接字来创建套接字服务器,因此您将需要一个私有服务器。

客户端:javascript & socket.io(套接字客户端)

服务器端:javascript & node.js(套接字服务器)

于 2012-04-20T17:46:30.047 回答