-2

我们是一家只有 2 名程序员的小公司。我们目前使用 Adob​​e Flash/Air 为桌面和移动设备制作小型 2D 和 3D 游戏。我们希望停止使用该框架并开始在 C++ 上学习和开发,因为 C++ 上有更多更好的库和框​​架可用。

我不确定用于渲染的库。我知道 Ogre3D 是一个出色的 3D 内容渲染引擎,但有时我们需要制作 2D 游戏或“2.5D”游戏,有时还需要播放视频,所有这些都需要与 3D 场景混合。

我知道有像 cocos2D-x 和 smfl 这样的 2D 框架可以与 OpenGL 一起使用(我对 OpenGL 了解不多)并且可以做我需要的所有 2D 事情,但是这些框架可以与 Ogre3D 结合使用吗?并且不需要知道所有 Ogre3D 内部的东西或 OpenGL 是如何工作的就可以做到吗?

如果 Ogre3D 可以与任何 2D 引擎相结合,我需要学习什么来合并框架?

4

3 回答 3

0

鉴于您一直在使用闪存,我猜您并没有移植旧的 C++ 代码。

此外,由于您不想知道您正在使用的框架的内部结构或 OpenGL 的实际工作原理,因此您不需要像 C++ 这样的低级语言。

大量的开源库也不是用 C++ 编写游戏的好理由。

Unity3D有一个免费的基本许可证,开箱即用地提供您需要的一切。

目前,您可以使用带有纹理的平面来进行 2D 工作,但 Unity 也将在不久的将来推出一组原生 2D 工具。此外,正在创建一个新的 GUI 系统。

对于您认为可能需要的任何 C++ 库,可能已经有一些东西已经内置到统一中,可以满足您的需求。如果没有,则可能有一个可供您使用的 .NET 端口。如果一切都失败了,您可以为您需要的任何库编写 C 接口,并将其用作 Unity 中的插件。

不过,Unity 的一个大问题是您需要 Unity Pro 才能使用插件。Unity 许可证是针对每个平台的,因此如果您决定使用插件,并为多个平台发布您的游戏,您最终可能会支付大量的许可费用

最后,它不仅仅是您需要的应​​用程序框架。您还需要一个关卡编辑器。构建 3D 关卡编辑器并非易事,而且鉴于您的团队只有两个人,仅此事实就足以认真考虑使用 Unity。

因此,除非您要移植旧代码、需要对硬件进行低级别访问,或者对本机代码有特定需求,否则我的建议是不要使用 C++,只需使用Unity

于 2013-10-16T01:53:26.743 回答
0

是的,Ogre3D 可以处理像播放视频这样的“2D 任务”。只是它被投影到的 3D 空间中的平面。然而,对于纯 2D 项目,像 Ogre3D 这样的 3D 渲染引擎通常是矫枉过正的。但是,如果您谈论的是 2,5D,那么您又回到了 Ogre3D 的游戏中。

关于集成:不完全确定,但我猜那些其他 2D 框架需要一个可以从 Ogre 获得的 OpenGL 渲染上下文。

编辑: 官方 Ogre3D 论坛中也提出了同样的问题。

于 2013-10-16T05:49:40.980 回答
-1

我们是另一个致力于游戏开发的小团队。

我们尝试了很多渲染引擎,最终选择了 Irrlicht 渲染引擎。Irrlicht 并不比 Ogre 3D 更好,或者我不想证明这一点。我们觉得 Irrlicht 更灵活地满足我们的需求。它还支持 2D 渲染,并且批处理速度非常快。Irrlicht 可以轻松移植到其他平台,我们花了一周时间将其移植到 Google Chrome NaCl。

Irrlicht 是一个非常基本的渲染系统,它支持 OpenGL 和 OpenGL ES,所以它很容易让你移动。您可以毫不费力地添加任何高级功能。我们的一些游戏适用于 iOS、Android、Windows PC、Mac OSX、Linux 和 Google Chrome Native Client。

于 2013-10-16T03:53:49.313 回答