【问题标题】:Developing a 2D Game for Windows Phone 8 [closed]为 Windows Phone 8 开发 2D 游戏 [关闭]
【发布时间】:2012-11-12 23:04:02
【问题描述】:

我想为 Windows Phone 8 开发一个 2D 游戏。我白天是一名专业的应用程序开发人员,这似乎是一个有趣的爱好。

但我一直失望地试图开始。 2D 游戏(绝大多数游戏)似乎没有可用的 API。

Windows Phone 制造商似乎不支持 Direct2D。因此,除非您打算制作一个完全 3D 的应用程序,否则您很不走运。

所以,如果您只是想制作一个漂亮的 2D 应用程序,这些是您的选择:

  1. 使用 Xaml 和 C# 编写游戏(性能问题?)
  2. 使用 Direct3D 编写游戏,但只在一个平面上绘图。
  3. 使用在 codeplex 上找到的 DirectX Take Kit。它允许您使用垂死的 XNA 框架的 API 进行开发。

3 号似乎最适合我的游戏。但是,当 Microsoft 明确表示以后不会支持它时,我不想浪费我的时间来学习 XNA api。

2 号可以,但 3D 开发真的很难。我宁愿不必做所有这些来获得 2D 效果。 (假设 Direct2D 更容易。我还没有研究。)

数字 1 似​​乎最简单,但我担心如果我的应用基于 xaml 渲染而不是 DirectX,我的应用将无法正常运行。

Microsoft 建议的方法是什么?

谁决定 2D 游戏会被做空?

【问题讨论】:

  • 查看诺基亚开发者指南:developer.nokia.com/Community/Wiki/…
  • @Prescott - 它使用基于 XNA 的 DirectX 工具包......我想我可以做到,但是当 MS 说他们没有时,我真的不想花精力学习 XNA API支持Win phone 8。
  • 请注意,DirectX Tool Kit 是一个 C++ 库,与“XNA 框架”没有任何直接关系。相反,它是一个 C++ 库,它以 XNA C# 组件的设计 为灵感,并尝试实现基本相同的东西——作者之一是 XNA GS 的前图形主管 ShawnHar。它完全不依赖于 XNA 框架。如果您正在过渡到本机 C++ 开发,它基本上可以让您使用 XNA Game Studio C# 的经验。对于 2D 游戏,您可以通过 SpriteBatch 获得很长的路要走。

标签: c# c++ visual-studio-2012 directx windows-phone-8


【解决方案1】:

另一种可能性是Marmalade,它包含一个强大的 2D 物理引擎,并具有跨平台的额外好处,因此您可以将它用于 Android、Apple、Kindle 和其他可能以及 Windows Phone。缺点是它是基于 C++ 的,需要大量的工作,并且没有可以接近 Visual Studio 的 IDE。

【讨论】:

    【解决方案2】:

    您可以使用MonoGame。它是一个游戏开发框架,实际上是 XNA 游戏工作室的当前实现。它可以与 Android、Linux 等一起部署到 Windows Phone 8。

    【讨论】:

      【解决方案3】:

      我还想指出,Unity (http://www.unity3d.com) 具有用于创建 2D 游戏的工具,并为 Windows Phone 8 和 iOS/Android 发布。为迟到的回复道歉,但这仍然是一个悬而未决的问题...... ;-)

      您可以在 Visual Studio 中使用 C# 或 Monodevelop 创建脚本,Unity 已经支持使用各种工具(3DS Max、Maya、Photoshop、Gimp 等)创建的模型/纹理。

      它是一个专业的游戏引擎,在性能方面可以毫无问题地渲染数百万个多边形(亲自尝试和测试过 3D),这是应该的。

      他们的 2D 工具相对较新,但已经有很多教程,而且 Unity 文档总体上非常好。

      (http://unity3d.com/unity/whats-new)

      祝你好运。

      【讨论】:

        【解决方案4】:

        在我看来,Windows 8 和 Windows Phone 8 的游戏开发已经退了一步。在我看来,这主要是由于 XNA 的下降,但这似乎并不是他们专注于简化的事情。

        要回答您的问题,虽然学习了另一个 API,例如 XNA,但仍然值得一试。 Thanks to MonoGame,您将能够学习所学并针对多个平台。相当多的贡献者是working on MonoGame,我可以看到它存在了相当长的一段时间。

        所以,如果你愿意学习 XNA,你可以简单地为 Windows Phone 7 平台制作一个 XNA 2D 游戏。这些标题(微软曾表示)将在 Windows Phone 8** 上运行(并非如此,请参阅更新)。我知道这听起来很不直观,但除非你真的需要使用 WP8 的一些新功能,否则目标 7.1 并使用 XNA。这是一个完美的框架,非常适合制作 2D 游戏(查看Bastion for example!)。完成 WP7/WP8 的 2D 游戏制作后,您可以通过引用 MonoGame 来针对 iPhone、Android 和其他平台进行极少的代码更改。

        也许不是一个很好的选择,但另一个要添加到列表中。希望对您有所帮助。

        更新 事实证明 MS 真的搞砸了 WP7 到 WP8 的开发。通过上述方法,您仍然能够获得跨平台开发到 iOS、Android 等的优势,但 I wouldn't have a lot of confidence in WP8 as compatibility issues 开始出现,并且 WP7 标题正在从 WP8 设备的商店中删除。

        【讨论】:

        • MonoGame 的“文档”绝对可怕。
        • @Jase 在大多数情况下,XNA 文档应该是正确的,但是是的,MonoGame 中仍然存在缺失的部分和“陷阱”,这些没有很好的文档记录。 MonoGame 不是完美的解决方案,但考虑到它是一个必须涵盖许多平台和功能的 OSS 项目,它的表现非常好。您总是可以帮助解决文档问题,或者至少在他们的 github 存储库中标记它:)。
        • 是的,我很想帮忙处理文档,但恐怕我帮不上什么忙,因为我对 XNA 还很陌生,而且我真的不知道我在做什么米写作:)
        【解决方案5】:

        XNA 将部署到 PC、Windows 手机和 Xbox360,Visual Studio 甚至会为您复制项目的不同版本。 XNA 是制作快速 2D 游戏的绝佳工具。如果您想将其作为一个测试运行(听起来像您),那么 XNA 就是您的最佳选择。就像 XNA 一样简单,你也可以用着色器做一些非常复杂的事情。我认为您不会很快感到无聊。

        如果您确定自己真的喜欢游戏开发,请继续学习 DirectX。在深入了解 3D 游戏开发之前,先从全新的状态开始,并稍微体验一下游戏的古怪之处。与软件世界的其他部分相比,编写视频游戏更像是创建操作系统。无论您的目标平台如何,使用 XNA 让您的脚湿透是您的最佳选择。

        【讨论】:

        • 但是现在学习 XNA 就像花时间学习 WinForms。它是一种有效的技术,但对于将来扩展您的技能集来说是浪费精力。
        • 如果您认为 XNA 是浪费时间,我会使用 DirectX 并将截头截头体做成立方体。仅供参考,当团队中的程序员擅长快速原型制作时,就会发生良好的游戏开发。游戏设计师会想看看他们的想法是否有趣,远在百万美元被花在一个可能是坏主意上之前。 XNA 作为一个快速原型制作工具是惊人的,比 Flash 好得多。使用 XNA 可以相对快速地展示一种有效的游戏机制,比使用 DirectX 快得多。最重要的是,XNA 是有抱负的游戏开发者的最佳学习工具之一。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-19
        相关资源
        最近更新 更多