作为一名初学者,我想集中精力打造我正在努力构建的网络游戏的前端。但是游戏将有大约5000-10000个不同的文本,我需要匹配玩家的属性。我需要以某种方式将这些JSON格式的片段发送到浏览器。如何保持简短?
仅供参考,这是一款纸牌游戏,因此基于转向和只读。这意味着服务器上的负载非常小。只有html / js / css和JSON字符串每个玩家每分钟几次。我听说CouchDB听说我可以使用Javascript作为其观点等等,但在投入更多时间之前,我想了解其他选项。我宁愿玩游戏,也不愿花几周时间学习后端编程。
编辑:文本片段都有一定的要求。玩家的数据保存在会话数据中。如果玩家身体虚弱或没有斧头,就不会有粉碎。
{ 'action':'You smash you opponents head!',
'player1': {
'equipment': 'axe',
'strength': 3
}
因此,除了存储之外,我还需要筛选出符合要求的所有操作,然后随机选择一个将发送给客户端的操作。
答案 0 :(得分:5)
这些文字是静态的吗?如同5000-10000那样覆盖它们吗?
在这种情况下,为什么不将它们全部作为单个静态文件提供。为了进一步减少服务器负载并加快应用程序的速度,请为它设置一个远期的Expires标头。
超级简单的设置,内置缓存和压缩,无安全漏洞,最小化HTTP请求开销。
答案 1 :(得分:2)
使用免费且开放,广泛使用的脚本语言和简单的通用语法。这对我来说是PHP或ruby。
答案 2 :(得分:2)
如果您的重点放在前端,而您只需要提供10000个文本片段中的1个,我就不会使用CouchDB或任何相关的后端。
即使我自己喜欢的后端是Ruby on Rails,作为一个开始,我会选择PHP并将所有文本片段放在一个MySQL表中,或者如果它们是静态的,为什么不在csv文件中。包括PHP在内的大多数Web框架都可以让json很容易。
答案 3 :(得分:1)
每个会话中玩家通常需要多少这些字符串?对服务器的每个请求都有很大的额外开销,因此如果您希望长时间发送批次的会话可能是最轻的任务。
对于数据,如果大小是个问题,请跳过JSON并自己堆叠,在您的示例中,您有比数据更多的开销。您的示例中的所有键看起来都像是只有在您按正确的顺序保存数据时才会遗漏的内容。
更新:
你回答不到一百,我认为这将是两个方法成本相同的极限。但是,发送该批次可能会提供更流畅的游戏体验,尤其是在高延迟连接上,但这需要更长的初始加载时间。
在大多数开发人员看来,摆弄最低级别的包装数据可能是一个死的规则(很可能说我没有找到这个主题的指南,在这里发布),但事实是,对于每一个您可以从单个字符串的数据中删除字节,可以从总集合中减少5到10 kB,并且有很多字节不需要花费很多工作来删除。
为了削减大部分脂肪而不使实施成为一项重要工作,我建议这样做:
将所有数据放在一个数组中,因为每个字符串在数组中使用两个字符串条目,一个用于文本字符串,后面跟一个用于编码为单个字符串的所有元数据。例如,您可以将每个需求写为两个字符,第一个表示需求类型,第二个表示值,因此如果您限制自己仅使用数字和字母,则最多可以有62种类型的需求,每个需要62个中的一个可能的值,它们每件只需2个字节。
答案 4 :(得分:0)
我会去ASP.Net - 我不确定它是否应该被认为是“最简单的”,但它似乎是一个明智的建议:
此外,如果您对“后端”Web开发越来越感兴趣并且感兴趣,ASP.Net是一个受欢迎的选择,并且仍然可以为您提供良好的服务。
答案 5 :(得分:0)
我们需要了解您的需求,以便真正了解您的需求。话虽这么说,如果你的后端非常简单,任何技术都可以。几乎所有现代技术都会让你简单地做一些简单的事情,所有人都可以输出JSON。所以选择你熟悉的那个。一些浮现在脑海中的想法:
编辑:根据您的要求,上述答案仍然有效。任何技术都适合您,对于简单的要求,所有技术都应该相对容易使用。
答案 6 :(得分:0)
如果您的成绩不高,我建议您PHP和jQuery来处理client side(JavaScript)
我建议先在how to code in php中选择一个小型闪电课程。阅读本文后,请随时尝试并阅读PHP的documentation,这非常好!
要保存数据,如果您想要一个非常便宜的解决方案,我会使用MySQL。但我真的建议使用SQL Server 2005或2008。
创建SQL数据模型后。然后你可以开始创建游戏,在this page你会发现很多提示,这些提示是php和许多其他语言的例子
祝你好运!答案 7 :(得分:0)
我可以推荐Python和Sqlite数据库,我将它有效地用于SMS应用程序(类似于我查找并返回少量文本)。性能是惊人的(数据库可以保存在内存中),使用Pylons @jsonify装饰器使返回JSON变得微不足道。 Django也有简单的方法来处理JSON(序列化,simplejson)。
当然,这可能不是绝对最简单的,但是你可以在一两个小时内完成运行,并且所有部分都是为了将来的功能和规模。
修改:经过进一步研究,webpy看起来最简单。您可以使用Mako模板(或根本不使用),SQLite和SqlAlchemy用于ORM(或根本没有数据库),安装就像“pip web.py”一样简单。