我想建立游戏管理。一个用户可以玩多个游戏,每个游戏都有自己的分数,级别,用户的徽章。所以让我画出这个应用程序的基本结构:
Game-Management
Game-1
User: (internal logic of gameplay: how user move, how user buy item, how get user's score...)
Game-2
User: (other logic: how user add new user to friend list, how user get to battle, ...)
...
Game-N后端是非常好的,因为每个游戏都是由一个团队开发的,这些团队不需要相互了解。但是在前端,我想要管理所有用户游戏的统计数据。用户转到他的个人资料页面,这个页面列出了他玩过的所有游戏。当他点击一个游戏时,所有的统计数据都会显示出来。例如,他点击Game-1,他可以查看他的分数,他购买的所有商品。如果他点击Game-2,他可以看到他的朋友列表,他参加了多少战斗。
但这是关键点,因为在后端,我的团队分别开发每个游戏,而在前端,我希望只在一个地方管理它们。那么这个想法是好是坏?如果它是好的,我如何在后端和前端构建我的应用程序?否则,请给我其他的解决方案。谢谢!
发布于 2014-12-09 12:18:55
我想我会建议你使用基于空间的架构。
它被像Google和Yahoo这样的大公司广泛使用来构建不同类型的模块,这些模块很容易集成。
http://en.wikipedia.org/wiki/Space-based_architecture
所以基本上你有一个管理器对象,它将操纵你的模型。
对于一个模型,模型上的函数将只接收一种类型的消息对象。
模型上的函数还将为一个模型返回一种类型的消息对象。
因此,您有GameManager对象作为处理网格层。
然后,将Game1Message对象作为消息网格层。
接下来,将DbModel: a.k.a User对象作为数据网格层。
谢谢,
发布于 2014-12-23 06:41:53
这是一个很好的观点,我在过去几次遇到过这个问题。
我用两种不同的方法解决了这个问题:
上的工作负载
缺点:
所有不同的servers
2.中央服务器上的2.RestAPI,它将处理所有的统计数据。例如,每个游戏都将通过API报告需要统计数据跟踪的事件。您也可以使用第三方事件记录器(Google Analytics events)并通过API拉取此报告
优点:
为developers
处理load的服务器
缺点:
API的实现非常简单,本地日志可能有点棘手。您需要分发日志格式。为日志创建一个已知文件夹,并为主服务器创建一个映射,以便知道从何处收集数据,然后将其解析到数据库。虽然这听起来更复杂,但我发现第一种方法非常有效,它帮助我降低了服务器成本。
希望这能有所帮助..。
https://stackoverflow.com/questions/27353935
复制相似问题