微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 使用CouchDB和IrisCouch为iOS打开多人游戏

我和我的初创应用公司正在开发一款基于回合制的多人iPhone应用程序.可以说,我们都没有任何数据库或服务器知识.虽然,我们愿意学习.

游戏的流程类似于以下游戏:WordFeud,WordsWithFriends,Rumble等.

让我开始在网上进行大量搜索得到我们:

我们决定使用CouchDB作为存储用户,游戏会话和其他内容的信息的工具. CouchDB是一个开源的nosql数据库系统.原因是我们已经被教导,它应该支持很多同意的用户.此外,它可以扩展 – 当然,我们希望变得更大.

我们的CouchDB托管于IrisCouch.IrisCouch是一个“云端”托管服务,专为运行CouchDb而设计.

因此,我们已经启动并运行了CouchDB服务器,并且我们了解了如何从服务器查询数据的基础知识.

我们现在最大的困惑是,我们应该如何根据最佳实践建立系统.现在我们正处于能够接收数据并将数据提交给服务器的位置.

我们的游戏应该与Facebook集成,以便用户可以通过我们的应用程序或通过Facebook注册.之后,他们可以与随机匹配的对手一起玩,或与朋友一起玩.比赛开始后,一名运动员将获得一组问题,在他回答之后,应该通过推送通知通知另一名运动员轮到他们了.经过几轮游戏结束.

此时,我们认为这可能是应用程序流程的最佳解决方案:

>用户连接到另一个用户 – >游戏会话以…开放
文档在称为“游戏”的数据库中.
>新创建的文档包含播放器名称,问题,
答案等
>名为“whos_turn”的字段决定两个玩家中的哪一个转为.
>游戏结束后,会话将被删除.

再一次,正如您所看到的,我们在如何真正做到这一点时处于黑暗中,但这是一般性的想法.

所以,我的问题如下:

最好直接从iPhone应用程序或通过Web服务查询数据吗?

设置数据库的最佳方法是什么,以便最好地管理应用程序的流程?

任何可能让我们更接近的信息都会很高兴:)

提前谢谢!

奥拉夫冈德森

编辑#1:我们的Objective-C程序员设法使用CouchDb连接两个iPhone设备. iPhone应用程序由一个表视图组成,它与数据库有并发连接,这样当有人POST到数据库时,它会显示在所有其他连接手机的tableview上.看哪:聊天系统严重无效.

解决方法:

如果是多人游戏,您需要让应用程序与远程iriscouch.db进行通信,但我担心您声明您或您的朋友都没有任何数据库经验.你愿意学习,所以我认为最好的起点是:

http://guide.couchdb.org/editions/1/en/index.html

如果您计划连续擦除文档,则可能会发现有几个问题具有可伸缩性.数据库大小在couchdb上可能相当大,您需要定期压缩和清理数据库.但我认为现在不是一个主要问题,因为这是一个初创阶段.

您的团队应该解决“设置数据库和最佳管理应用程序流程的最佳方法”这一问题.如果您没有任何具有任何数据库经验的人,您应该尝试找到愿意帮助您的人.它应该是具有丰富数据库经验的人.你可能会在http://www.odesk.com找到一些相当合理的专业人士

总而言之,如果你没有这样的人物 – 无论是自由职业者还是贡献者 – 我都不认为你会成功,以帮助你在游戏中拥有一个可靠的数据库逻辑,以确保良好的用户体验.

例如:您是否考虑过使用基于美国的数据库(Iriscouch)与用户所在位置的延迟延迟问题?

出于这个原因,您可能希望尽可能多地使用客户端(嵌入式数据库,如sqlite或touchDB,本质上是适用于iPhone的couchDB)

对于iPhone应用程序,您可能需要尝试完全针对它的TouchDB
https://github.com/couchbaselabs/TouchDB-iOS(警告:由于您需要连接以检查转弯等,这可能不是理想的解决方案,但它可以在本地存储一些信息).

为了解决这个问题,你需要具有couchdb经验的人来设置一个合适的,可用的应用程序.对你的想法充满热情并没有错,但为了使它成功,你需要在数据库方面有技术头脑.当然,您可能自己有能力自学.阅读完CouchDB书后,您应该能够创建满足您需求的基本流程.

当然,其他更有经验的用户可能会提供更全面的答案或样本布局,但我认为这不是最好的方法.即使有人发布了文档结构的完整布局以及如何查询它,如果出现问题,您将如何为应用程序提供服务,例如会话不会被删除,冲突等?因此,我真诚的建议为您的案件获得一些临时专业知识.

这也可能导致分析合适的替代品.我不认为你应该接受CouchDB可以扩展的想法,因此对你来说是最好的/唯一的选择(当然,情况可能就是这样,如果你觉得这是一个很好的选择..为它).例如Twitter,谷歌adwords和许多其他在线应用程序正在使用MysqL来存储他们的数据,所以肯定CouchDB不是唯一可以扩展的数据库

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐