2

我使用 js/html5 中的各种引擎构建了一些游戏,甚至使用 irrlicht 在 c++ 中构建了一些游戏(尝试过 ogre,但我更喜欢 irrlicht 的简单性)。

我想要采取的下一步是构建一个游戏引擎,因为我有使用 c++ 的经验并且使用过 v8,我一直在考虑制作一个仅限 Windows 的游戏引擎,它使用 v8 来包装图形的 directx 和物理的子弹(避风港'没有决定其余的),然后调用一个 js 文件/字符串,该文件/字符串包含我的大部分游戏引擎,它调用这些 c++ api,然后用户可以完全使用 js 构建他们的游戏。

但问题是,如果我要在 PC 上制作与其他 AAA 游戏竞争的商业游戏,我应该真的使用 v8/js 驱动的游戏引擎,还是应该只用 c++ 做所有事情?

我为什么要问这个?
1) 我将使用的所有 C++ api 都将被 v8 包装以在 js 中使用。
2) v8/js 战胜 C++ 指针和手动内存管理(垃圾收集)

如果不是第 2 点,我会使用 c++,但现在我更喜欢使用 js,但这导致了我的问题,因为我有一天想要制作一款真正的游戏(也许不是 AAA 标题,但那是我想要的性能和质量),并且宁愿只制作一个游戏引擎,而不是为每个新项目/游戏制作一个新引擎(或选择一个新引擎),但如果我考虑第 1 点,那就是 C++我将要包装的 api,所以我想知道我是否会遇到性能问题?

4

2 回答 2

2

由于 C++ 的高性能,它已被用于开发多种游戏引擎。因此,如果您想制作更高效、更快速的游戏(这也取决于您的编码方式,高效的代码肯定会有所作为)。是的,C++ 缺乏垃圾收集,但它提供的性能绝对值得手动处理内存管理。如果您的偏好是制作高效的游戏引擎,并且如果您有时间,那么您应该使用 C++。

于 2012-07-11T18:02:54.527 回答
1

我对mmo游戏很有经验,我可以肯定地说

C++ 更适合服务器多人在线游戏,因为数据包加密方法、SQL 查询速度、应用程序本身的速度、多线程可能性、一次处理数百万个函数。(例如:500 名玩家在线,500 名玩家发送数据包移动到另一个位置,名为 CPacketHandle::OnPlayerMove( CPacket* pPacket, D3DXVECTOR3 *pPos.... ) 的函数将被数据包调用 500 次)。

您可以在 c++ 中手动管理所有内容,如果某些内容是自动的,您可能会遇到无法按照您想要的方式处理某些内容的情况,有时会误导之前的编码时间。在我看来,我会在任何其他语言上使用 C++

于 2012-07-11T18:09:27.027 回答