暴雪是非常定制技术驱动的。我没有文章的链接,但我记得看到它们为多平台兼容性和向后兼容性而为每个游戏开发了数千个自定义着色器。
多平台支持并不是什么新鲜事物。大量软件支持Linux,Mac OS和Windows。如上所述,重要的部分是从平台细节中抽象出来。
任何当代的游戏引擎都可以处理多平台,并且许多游戏引擎可以根据平台在OpenGL和DirectX之间进行切换。
像大多数专业的大型开发人员一样,暴雪是C ++家。但是,正如S.gfx所提到的,如果您正在寻找一个简单的解决方案,则有很多非C ++解决方案-包括jMonkeyEngine或LWJGL。
从C ++方面,您可以在使用OpenGL的同时利用Glut和Glu轻松处理不同的操作系统,或者为特定的OS调用编写自己的抽象。
更具体地回答您的项目符号:
他们在游戏引擎中使用了哪些技术?
暴雪可能不会说;但是,您可以确定引擎是用C ++编写的,并且使用了OpenGL或OpenGL和DirectX。请记住,OpenGL在Windows上运行。
他们在两个游戏(《星际争霸2》和《暗黑破坏神3》)中都使用一个引擎吗?还是为每个游戏开发自定义?
众所周知,暴雪会维护多个引擎。我相信《暗黑破坏神3》从一开始就是WoW代码的分支。但是,您可以肯定,一旦他们完成了该项目,就不会像《魔兽世界》那样。暴雪并不是一家害怕为每个项目编写大量代码的公司。
他们在时间和金钱上为Mac OS支持付出了什么?
如果做得正确,对Mac OS的支持应该不会花费太多。任何人都可以猜测。正如我所说,暴雪倾向于编写自定义着色器,因此一切看起来都“恰到好处”。因此,这可能比其他房屋要多。