gpt4 book ai didi

.net - 社交多人浏览器游戏的架构(后端选择 + 前端选择 [flash/silverlight])

转载 作者:行者123 更新时间:2023-12-04 22:09:23 25 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我正在考虑开发在线多人社交游戏。世界的共享状态需要在后端有一些快速的东西,所以潜在的解决方案似乎是:

  • 服务器上的快速游戏引擎(例如 c++)和一些前端语言(php/python/ruby)+ flash
  • python 中的整个堆栈(使用扭曲或无堆栈python)+ flash
  • .NET(asp.net 或 asp.net mvc)+ 闪存
  • .NET + 银光

  • 从生产力的角度来看,第一个可能是过度杀伤(3 个异构层)

    编号。 4 可能是程序员的天堂(所有层的公共(public)环境),但是:
  • 从来没有用 Silverlight 构建过这样的东西,也许在拐角处隐藏着一些引人注目的东西
  • 可能很难找到 Silverlight 设计师
  • 尽管 Flash 电影/剪辑模型与 SL 完整 OO 架构相比受到批评,但在外部设计师设计虚拟世界的额外部分时,它不是一个优势吗?他们可以用例如准备.swf。 4 帧上的 4 个项目的视角 - 使用 SL 会不会更难?
  • Silvelight 显然缺少某些游戏功能(如碰撞检测)

  • 你怎么看?

    [编辑] 游戏本身将成为更大门户的一部分 - 因此将引擎与一些 Web 框架集成会很好。

    最佳答案

    我花了一年时间开发一个大型多人在线游戏,前端使用 Silverlight,后端使用 Python(我实际上在 Silverlight 中使用 IronPython,以简化开发)

    Silverlight 非常适合这个,我不会在其他任何地方做一个严肃的在线游戏。它已经占据了 35% 的市场,当你完成开发时,它应该足够高,不再重要了。对于严肃的游戏,大多数人真的不介意安装 4MB 浏览器插件。如果你只是想要一个小行星克隆,使用闪光灯。

    如果必须重做,我想我会为服务器保留 Python,因为它是我最熟练的服务器技术,但我认为我会在前端使用 C# 并使用 JSON 来传递数据。

    我能给你的最好建议是:

  • 尽可能利用现有的库和代码
  • 不要过早地考虑性能

  • 最困难的部分将是完成游戏,使用您熟悉的技术,并优化您的时间,而不是代码。希望你能做我做不到的事——完成该死的游戏:)

    编辑

    关于如果我不得不重新使用 C# 的原因:

    IronPython 有它的优点和缺点。很高兴我可以在服务器和客户端之间共享代码文件(常量、模型等)。进行更改并刷新浏览器以查看它真是太棒了。调试不如 C# 友好。

    但在某些方面,它是 C# 的二等公民,数据绑定(bind)不起作用,并且您不能在 xaml 中使用 IronPython 类。加载时间是个问题,所以我实际上花了很多精力在后台线程上设置并行导入以加快速度。由于涉及到 xaml 的第二公民身份,我使用模板语言来生成 xaml,就好像它是 html 一样,这实际上比数据绑定(bind)更好,但是在 IronPython 中没有 python 模板语言工作,所以我自己编写了 (另一个时间沉没。)

    为了启用共享模型,我必须编写自己的 ORM。这很容易。但是为了传输它们,我传递了 JSON 并制作了一种优化的二进制格式,而不是在 IronPython 和 Python 之间工作。那是另一个时间沉没。

    事后看来,我不应该被所有那些兔子足迹分心。

    关于.net - 社交多人浏览器游戏的架构(后端选择 + 前端选择 [flash/silverlight]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/638272/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com