多年来,在制作游戏时,我们一直使用MonoGame作为开发工具。 在这段时间里,我们建立了一个名为Protogame的广泛框架,该框架使开发人员可以使用比MonoGame传统上更高的API。 这些更高级别的API支持3D延迟渲染和多人游戏的开发。

6个月前,我们试用了虚幻引擎4,并在几周内就迷上了。 我们目前所有的项目都在虚幻引擎4中构建,目前还没有计划将来返回MonoGame或Protogame。 我们发现,虚幻引擎4从根本上改变了我们制作游戏的方式,使我们所有团队成员的工作效率更高,同时提供了Protogame以前无法达到的质量水平。

我可以写一篇整篇文章,介绍与使用旧工具相比,即使在短短几个月内,我们使用虚幻引擎4的方法已经为自己和其他团队成员节省了数百小时的时间。 但是,本文的重点是讨论Protogame和相关项目将要发生的事情,因为我们已经脱离MonoGame生态系统进行游戏开发了。
从2018年1月1日起 ,Protogame将不再受支持,并且Protogame或其直接相关的(例如,编辑器)存储库中将不会进行进一步的开发。 我们不会提供Protogame中已报告问题的错误修复,也不会接受针对我们主要存储库的请求请求(如果您希望进行修改,请分叉存储库)。 该域名到期后,该网站将停止运行,但在可预见的将来,该文档将保持在线状态(尽管“阅读文档”仍在继续提供服务)。 存储库将保持在线状态以用于教育目的,并且可供其他使用MonoGame的开发人员使用我们在自己的项目中编写的内容。
Protoinject是一个分层的依赖项注入系统,我们编写该程序是为了支持Protogame提供给实体和组件一个层次结构,该层次结构可以使用它们所依赖的服务进行静态验证。
没有Protogame,我们就没有Protoinject持续发展的主要动力。 我们基于C#的Web项目(例如HiveMP和JamHost)都使用Microsoft提供的依赖项注入系统来解决服务。 但是,我们认识到该库可能对其他开发人员有用,并且与Protogame不同,它不需要大量投资即可维护。
因此,从2018年1月1日起 ,Protoinject将进入维护模式。 我们不会开发新功能,但是我们将努力修复报告错误,尽管这种错误不会在内部以高优先级发生。 我们仍将审核并接受针对Protoinject的请求请求。
Prototest是我们针对.NET的轻量级跨平台测试框架。 与其他测试框架不同,它不使用单独的运行程序,也不依赖于IDE集成。 而是将测试编译为标准控制台应用程序,并且Prototest作为库将测试结果发送到控制台。 这样可以提高可靠性,并确保您编写的测试始终可以运行,而不必处理运行程序版本控制等问题。
我们仍然在基于C#的Web项目(HiveMP和JamHost)中广泛使用Prototest,因此不会因为Protogame的退出而改变Prototest 的开发状态 。 我们仍然会接受错误报告,审查请求请求并根据需要开发新功能。
现在也许是影响最大的一个。 Protobuild是.NET的跨平台项目生成器,在MonoGame生态系统中得到了广泛使用,包括MonoGame项目本身。 这是一个.NET Foundation项目,使开发人员能够可靠地开发跨平台的.NET项目,而不必手动管理用于不同平台的单个项目文件。
我们认识到该工具在MonoGame社区中具有很大的价值,因此暂时不会改变Protobuild的支持状态 。 由于我们不再在内部使用它,因此不太可能开发主要的新功能,但是我们仍然会接受错误报告并提出解决问题的请求,并且文档和网站都将保持在线状态。
总之,如果您当前正在使用Protogame或Protoinject,我们建议您分叉相应的存储库,以维护它们自己的项目。 我们不建议将Protogame用于任何新项目(相反,我们建议您试用Unreal Engine 4!)
如果您使用的是Prototest,则没有任何变化,并且该项目仍在积极开发中。
如果您使用的是Protobuild,我们仍然会为报告的错误提供支持并接受请求请求,但是我们目前不打算开发任何主要的新功能。 我们将在不久的将来为该项目制定更可持续的长期路线图。
最后,我要感谢MonoGame社区多年来提供的支持,我们希望我们对社区的贡献能有所帮助。 我们会错过为支持生态系统而使用这些工具和项目的机会,但是不幸的是,我们该继续前进了。
如果您想关注我们的未来发展,可以在Medium,Twitter或Facebook上关注我们。