30

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

但我对尝试开始感到失望。似乎 2D 游戏(绝大多数游戏)没有可用的 API。

Windows Phone 制造商似乎不支持 Direct2D。所以除非你打算制作一个完全 3D 的应用程序,否则你就不走运了。

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

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

3 号似乎最适合我的比赛。但是,当微软明确表示以后不会支持它时,我讨厌浪费我的时间来学习 XNA api。

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

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

Microsoft 建议的方法是什么?

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

4

5 回答 5

15

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

要回答您的问题,虽然学习了另一个 API,例如 XNA,但仍然值得一试。多亏了 MonoGame,您将能够掌握所学知识并瞄准多个平台。相当多的贡献者都在致力于 MonoGame,我可以看到它存在了相当长的一段时间。

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

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

更新 原来 MS 真的搞砸了 WP7 到 WP8 的开发。通过上述方法,您仍然可以获得跨平台开发到 iOS、Android 等的优势,但我对 WP8 没有太大信心,因为兼容性问题开始出现,WP7 标题正在被省略WP8 设备的商店。

于 2012-11-25T06:06:36.873 回答
5

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

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

于 2012-11-25T06:23:47.433 回答
5

我还想指出,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

祝你好运。

于 2013-11-19T05:29:19.250 回答
0

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

于 2014-10-29T16:59:47.717 回答
0

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

于 2014-12-25T15:50:14.243 回答