我正在考虑按照Farmville的方式构建游戏 - 项目,事件,时间管理系统等。我在考虑的选项:
1)Flash UI前端,它使用AMFPHP从PHP驱动的后端获取视图的所有数据。 2)为整个游戏提供动力的动作
任何输入都表示赞赏。我对Actionscript的关注是扩展,我对PHP的关注是必须构建一个需要大量来回xmlhttprequests的更新系统,这可能会变得复杂。
如果有更好的方法来构建这样的东西,我会全神贯注:)
答案 0 :(得分:2)
不要克隆/复制Farmville,有数百人在做同样的事情。
但是你的问题是:
似乎是一个好主意。
前端的ActionScript肯定会扩展,它已经完成了一千次。 PHP作为服务器和后端部分也应该没问题。如果您有远程连接AMF的NetConnection我不知道你为什么需要xmlhttprequests。
答案 1 :(得分:2)
在这次采访中,来自Farmville的“Luke Rajlich”提及使用AMF,并未提及使用XML套接字。
“你如何与后端交谈?是请求响应,XHR,长轮询,Flash XML套接字还是”COMET“?
我们使用名为AMF的标准HTTP请求/响应协议。 AMF事务是从客户端异步发生的,如果服务器看到它不认为客户端应该发送的内容,它会向客户端返回一个“不同步”消息,该消息告诉客户端它处于无效状态和客户端重装自己。“
http://highscalability.com/blog/2010/3/10/how-farmville-scales-the-follow-up.html
由于他们似乎没有使用套接字,我认为他们不使用像smartfoxserver或电子服务器这样的套接字服务器?你认为他们建立自己的服务器,他们说他们在后续访谈中使用PHP来连接上面的访谈,你知道任何软件将作为服务器使用所有这些AMF连接和PHP - 是什么AMFPHP是? (我在网上找不到很多关于AMFPHP的清晰描述。)
另外,你知道任何与PHP一起使用的好的套接字服务器,看起来你需要知道Java才能使用smartfox服务器或电子服务器,这是正确的吗?
另外,如果Farmville使用AMF,意味着他们不使用套接字,这是否意味着他们使用轮询进行更改?
答案 2 :(得分:1)
我个人的建议:
使用Haxe远程处理进行通信,使用SPOD进行数据库的templo用于HTML,或者尝试haXigniter ...我个人建议编译到neko以获得速度和足迹,但这取决于您...
用一种漂亮的语言写所有内容......减少透明调用的通信,以及透明对象操作的数据库操作。
答案 3 :(得分:0)
我和一些朋友在那个确切的堆栈上构建了argblargs。它对我们来说很有用,我无法保证可以扩展到成千上万的用户,但我真的不认为你应该很快就会担心这一点。
答案 4 :(得分:0)
Farmville可以使用AMF,也许是AMFPHP,使用PHP套接字服务器吗?我很困惑你是否会使用其中一个,AMF和套接字,它们是互相排斥的吗?从我在这里读到的,您可以将AMF与套接字一起使用,这是正确的吗?
“flash.net.Socket是一个更简单或更原始的API,它允许您创建自己的持久连接,但完全由您保留协议和通信格式。具有flash.utils.ByteArray的功能要使用AMF序列化ActionScript对象,只要端点理解这种格式,如果你想在Socket上使用AMF,你也可以使用AMF。“
http://www.mail-archive.com/flexcoders@yahoogroups.com/msg44653.html
但是,阅读此处的其他信息时,他们似乎强调AMF和套接字用于不同目的。
谢谢!我只想弄清楚所有不同的变化。