【问题标题】:Architecture for a farmville/yoville/cafe world type game?适合farmville/yoville/cafe 世界类型游戏的架构?
【发布时间】:2011-01-06 06:18:00
【问题描述】:

我正在考虑按照 Farmville 的路线构建游戏 - 项目、事件、时间管理系统等。我正在考虑的选项:

1) Flash UI 前端使用 AMFPHP 从 PHP 支持的后端获取视图的所有数据。 2) Actionscript 为整个游戏提供动力

感谢任何输入。我对 Actionscript 的关注是扩展,我对 PHP 的关注是必须构建一个更新系统,这需要大量来回的 xmlhttprequests,这可能会变得复杂。

如果有更好的方法来构建这样的东西,我会全力以赴:)

【问题讨论】:

  • 不是一个真正的问题。完全太宽泛了。您应该开始您的游戏并就具体问题寻求帮助。

标签: php flash


【解决方案1】:

我的个人建议:

  • 后端:Haxe 目标为 flash9
  • 前端:Haxe 针对 PHP 或 neko

使用 Haxe 远程通信,SPOD 用于数据库,templo 用于 HTML,或者尝试haXigniter ...我个人建议编译为 neko 以提高速度和占用空间,但这取决于你...

用一种优美的语言编写所有内容...将通信减少为透明调用,将数据库操作减少为透明对象操作。

【讨论】:

    【解决方案2】:

    Farmville 是否可以将 AMF(也许是 AMFPHP)与 PHP 套接字服务器一起使用?我很困惑您是否会使用 AMF 和套接字中的一个或另一个,它们是互斥的吗?从我在这里读到的,您可以将 AMF 与套接字一起使用,这是正确的吗?

    "flash.net.Socket 是一个更简单或更原始的 API,它允许您创建自己的持久连接,但协议和通信格式完全由您决定。借助 flash.utils.ByteArray 的能力要使用 AMF 序列化 ActionScript 对象,您也可以在您的 Socket 上使用 AMF,只要端点理解这种格式。”

    http://www.mail-archive.com/flexcoders@yahoogroups.com/msg44653.html

    但是,阅读此处等其他信息,他们似乎强调 AMF 和套接字用于不同的目的。

    谢谢!我只是想找出所有不同的可能变化。

    【讨论】:

      【解决方案3】:

      在此次采访中,来自 Farmville 的“Luke Rajlich”提到了使用 AMF,但没有提到使用 XML 套接字。

      “你如何与后端对话?是请求-响应、XHR、长轮询、Flash XML 套接字还是“COMET”?

      我们使用称为 AMF 的标准 HTTP 请求/响应协议。 AMF 事务与客户端异步发生,如果服务器看到它认为客户端不应该发送的内容,它会向客户端返回一条“Out of Sync”消息,告诉客户端它处于无效状态并且客户端重新加载自己。”

      http://highscalability.com/blog/2010/3/10/how-farmville-scales-the-follow-up.html

      由于他们似乎不使用套接字,我假设他们不使用诸如 smartfoxserver 或电子服务器之类的套接字服务器?你认为他们建立了自己的服务器吗,他们说他们在上面链接的采访的后续采访中使用 PHP,你知道任何可以作为具有所有这些 AMF 连接和 PHP 的服务器的软件吗? AMFPHP 是什么? (我在网上找不到很多关于 AMFPHP 的清晰描述。)

      另外,你知道有什么好的socket服务器可以和PHP一起工作吗,好像你需要知道Java才能使用smartfox服务器或electro server,对吗?

      另外,如果 Farmville 使用 AMF,是否意味着他们不使用套接字,这是否意味着他们使用轮询来进行更改?

      【讨论】:

        【解决方案4】:

        我和一些朋友在那个确切的堆栈上构建了argblargs。这对我们来说效果很好,我不能保证扩展到成千上万的用户,但我真的不认为你应该很快担心这一点。

        【讨论】:

        • 当您在等待某人给您“广告”时,为什么不在那里放置一个 google add 呢?
        • 那只是一个旧的占位符,我禁用了广告,因为它们很丑并且忘记了它。我现在只是出于怀旧之情维护网站,所以我不能真正重新调整布局。
        【解决方案5】:

        不要克隆/复制 Farmville,有数百个在做同样的事情。

        但是对于你的问题:

        • 前端:Flash
        • 服务器:AMFPHP
        • 后端/CMS:PHP

        似乎是个好主意。

        前端的动作脚本肯定会扩展,它已经完成了一千次。 PHP 作为服务器和后端部分也应该没问题。

        如果您有一个用于远程处理 AMF 的 NetConnection,为什么需要 xmlhttprequests 我不知道。

        【讨论】:

          猜你喜欢
          • 2021-07-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-24
          • 2010-12-01
          • 2020-01-25
          • 2011-12-01
          • 2014-09-11
          相关资源
          最近更新 更多