0

我习惯了 XNA 之类的结构:

  1. 加载内容
  2. 更新

现在基于这 3 个主要方法,我的游戏对象继承自它们。在 XNA 中,作为非专业和非游戏程序员的我被迫在这些块中思考。那么添加一个 Sprite 基类,继承自 DrawableGameComponent。现在为游戏对象 Warrior 创建 WarriorSprite 类。

等等等等

我完全迷失在这种结构中,但我只想编写一个游戏,而不是一个引擎。每次我想向游戏中添加实体时,我都不想处理额外的普通渲染代码。除此之外,我从来没有习惯在任何教程中如何让两个对象交互......我的重点应该放在将游戏机制从游戏设计移植到代码上。

现在我找到了 Ogre(3D),我希望这个引擎能提供这个功能。wiki 无法真正回答我的问题。

问候,

4

2 回答 2

2

如果您对基于其他类的游戏对象类迷失了方向,我不建议您转向 OGRE。它的设计非常面向对象。它确实简化了一些低级的东西,比如使用 DirectX 或 OpenGL,但是你仍然有很多类继承自很多其他类并且有很多方法。如果你对此感到困惑,你可能想阅读课程,看看你是否能掌握这些窍门。

但是,如果您正在寻找可以制作游戏的引擎,则可以采用几种不同的方法。

最常见的起始位置之一是修改现有游戏,尤其是创建“总转化次数”。你有一个完整的引擎,你已经有一个副本,还有大量的游戏资源,所以这可能是一个很好的起点。

你可以去寻找一个引擎,但要找到一个易于使用、便宜且强大的引擎并不容易。有很多不同的引擎,都有不同的完整性和不同的价格。想到的一些是 Irrlicht、CrystalSpace、Quest3D、DarkBASIC(如果你想牺牲你的理智并使用 BASIC ;))。不过,还有很多其他的。

您可以尝试检查这些引擎(我知道 DevMaster 有一个很好的详细搜索): http: //www.devmaster.net/engines/

http://en.wikipedia.org/wiki/List_of_game_engines

这里是一般提示:

http://www.gamedev.net/

于 2010-07-03T02:39:43.653 回答
1

是的,Ogre 是一个完整的游戏引擎,可以让您构建游戏,而使用 XNA,您需要创建大部分引擎类型的功能。

Ogre 支持 OpenGL 和 Direct3D,并且是用 C++ 编码的。如果你想用 C# 编写代码,你需要去别处看看(或者看看是否有人为 Ogre 做了某种 C# 包装器)。如果您想部署到 Xbox,除非您与 Microsoft 签订了合同,否则您必须使用 XNA。

于 2010-07-03T02:25:29.100 回答