MonoGame 3.3: 新时代的开始

随着MonoGame项目的不断发展,迎来了一个时代的结束和新时代的开始。最新的3.3版本已经完全脱离了旧的XNA框架,独立存在。这意味着不再需要XNA来使用MonoGame。这是一个具有里程碑意义的时刻,因为MonoGame终于实现了超越XNA所提供的功能的梦想(有些人可能会争辩说,MonoGame已经通过支持的平台数量做到了这一点),并且正在构建XNA中从未存在过的功能。虽然这并不是一个巨大的飞跃,但这是向前迈进的一小步。

过去的一切

目前,MonoGame实现了XNA几乎所有的功能集,这意味着所有的旧XNA 4.0项目都将与MonoGame兼容。在这个过程中可能会有一两个小问题(这个婴儿正在自豪地迈出它在世界上的第一步),但它有着坚强的开发者传统来支持这个项目。

提到过MonoGame团队没有人得到报酬吗?它完全是由开发者的业余时间和努力资助的!必须尊重这一点。任何对项目的贡献都会投入到项目的需求中,比如服务器、网站和商品!

勇敢的新世界

可能会好奇,是什么让这个公告如此特别,为什么会有如此多的盛况和仪式?答案很简单,XNA的束缚已经被打破,开发者现在可以在他们选择的平台上开发他们的MonoGame项目。在3.3版本中,现在可以完全开发的平台包括:

  • Windows 7 / 8 / 8.1(但可能已经知道了)
  • MacOS(使用MonoDevelop)
  • Linux

这部分并不是真的新,以前就可以做到,但不能做的是构建项目所需的所有内容。在3.3版本之前,需要一个Windows主机来编译内容。然而,在3.3版本中,现在可以在上述所有平台上做到这一点,不再需要Windows(但谁想放弃Visual Studio呢?)

有了新的MonoGame内容构建工具,开发者可以在Windows、MacOS或Linux上构建内容。

甚至还有新的MonoDevelop(或者如果喜欢的话,Xamarin Studio)插件和模板(感谢MG团队的Dean Ellis),所以现在完全支持了。

支持的平台

截至3.3版本,MonoGame维护的当前支持平台列表包括:

  • Android
  • iOS(仅限64位金属)
  • Linux
  • MacOS(net4, net45, MonoMac和Xamarin.Mac)
  • Ouya
  • Windows OpenGL
  • Windows DirectX
  • Windows 8 / 8.1
  • Windows Phone 8 / 8.1
  • Windows通用应用(会回来的)

还有一个实验性的3.3 PCL平台发布,但这仍然是一个正在进行的工作。使用它没有问题,只是要注意一些类/命名空间无法识别。这意味着一些代码目前不能放在PCL中,但已经在这方面工作了。

MonoGame还支持大多数游戏机(未来会更多),但需要与它们签订合同后才能开始考虑!如果有具体的计划,团队可以提供帮助。

如何开始

不会在这里详细说明,因为计划一系列的入门教程/视频来帮助开始。

要开始,需要从以下网址安装MonoGame开发模板和工具:

  • http://www.monogame.net/2015/03/16/monogame-3-3-2/

在这里,将找到:

  • MonoGame 3.3 for VisualStudio
  • MonoGame 3.3 Binaries for Mac
  • MonoGame 3.3 Pipeline GUI Tool Package for Mac

此外(如果喜欢的话),也可以在NuGet上找到MonoGame 3.3:

当然,也可以在现有项目上安装它,以保持最新。

NuGet注意事项

在安装一些NuGets之前,有一些注意事项需要注意(任何未提及的都是完全没问题的):

  • WindowsGL – 使用WindowsGL时,需要在安装NuGet之前从项目中移除“SDL.DLL”。这只是NuGet无法解决的冲突。不用担心,NuGet会为安装一个新的。
  • Windows Phone 8.0 – 由于项目模板附带了x86和ARM dll,NuGet无法卸载所有的引用。这会导致引用重复错误。要解决这个问题,需要编辑项目.csproj文件,在安装之前移除对MonoGame.Framework的引用(可以在安装后做,只是会更麻烦!)

将在以后的文章中更详细地介绍这些。

对XNA的颂歌

现在,MonoGame已经向前迈进,清理了它的房间,离开了它曾经知道的家庭,开始了勇敢的新冒险,并不意味着仍然不能使用XNA

XNA仍然在全球许多大学中存在,并且仍然被开发者积极使用,他们仍然在Xbox 360的Xbox Live Gaming Service上发布(并且赚钱)。事实上,在最近的一次游戏节(赫尔大学三字游戏节http://www.robmiles.com/journal/2015/3/14/three-thing-game-finals)中,许多学生都在使用XNA构建他们的项目(实际上大多数都是),一些冒险的冠军正在使用MonoGame,还有一些(只能称之为疯狂)的开发者正在使用OpenGL、MatLab,还有一个勇敢的灵魂正在进行直接光栅绘制。

必须感谢微软的远见卓识者,他们敢于梦想一个管理的游戏开发世界,开发者可以打破他们的C++枷锁,实际上可以享受构建游戏的乐趣,当然可以。

XNA MonoGame万岁

还没死呢?

在网上听到了各种评论,认为因为XNA即将退出,所以MonoGame也必须退出。或者,已经很久没有听到MonoGame的消息了,也没有更新,他们死了吗?

可以证明MonoGame是一个非常活跃的项目,有很多正在进行的工作。

团队已经注意到更新很少,这将在新的3.3版本之后改变。更新将会更快,NuGet将会更频繁地更新等等。

继续关注这个空间(和MG网站),应该会有更多的更新定期发布。

在哪里了解更多

关于MonoGame和3.3版本的信息还有很多,这里是亮点:

  • MonoGame主网站
  • MonoGame 3.3 On GitHub
  • MonoGame社区网站/论坛
  • 新的MonoGame内容构建工具(MGCB GUI和MGCB命令行工具)

P.S. 听说最近在各种商店上发布的项目数量,完全被震惊了。这个数字比想象的要大得多,可以梦想得很大!(遗憾的是NDAs阻止了直接说出来;-(但真希望可以)

以一个离别的想法结束这篇文章。应该已经注意到,随着3.3版本的发布,MonoGame团队正式发布了一个通用应用模板。这允许编写一个项目,同时针对Windows Phone 8.1和Windows 8.1。这对团队来说是一个巨大的成就,他们把这个项目从袋子里拿出来了。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485