7

在编写自己的 2D(也许是 3D)游戏引擎之前,我正在做一些研究。我在使用 C# 和 XNA 之前制作了一个引擎,但这次我想通过使用 opengl 等在 C++ 中制作我的新引擎来跨平台。

但是......我仍然想要 C# 的快速迭代时间,并且可以访问那里的游戏引擎。

所以我在这里有几个选择。

  1. 用 C++ 编写引擎和 CLI 包装器
  2. 直接用 C# 写整个东西,没有 C++
  3. 用 C++ 编写并使用 Mono 将 C# 代码/程序集加载到引擎中。
  4. 没有 C#
  5. ...可能是我还没想到的

我想我确实需要剔除、场景图、矩阵计算、粒子系统等的速度。

笏是利弊?你有什么建议?

4

3 回答 3

2

如果你想要跨平台,你不能使用 C++/CLI。Windows 以外的任何平台均不支持此功能。

话虽如此,对于跨平台,我要么将C# 与 Tao 一起使用,要么使用 C++ 使引擎成为一个库,并使用 Platform Invoke 从您的 C# 代码中“使用”该库。这将为您提供核心引擎 (C++) 所需的速度和控制,以及 C# 游戏设计的灵活性。

这提供了一种干净的、跨平台的方法来开发可以暴露给 C# 的游戏引擎。

于 2010-08-10T19:30:07.200 回答
1

Tao 框架已死,改用OpenTK

于 2010-08-10T19:44:46.950 回答
1

优化的 C++ 代码将明显更快(在我的情况下,ODE 在 32 位中为 20%,在 64 位中几乎为 40%;C# 在 64 位中比在 32 位中的 C# 慢,但这是另一篇文章)。我会利用 C++ 库中的大量数学(积分、微分方程等)。

于 2010-08-10T20:07:50.390 回答