2009年1月29日星期四

从Nebula2到Nebula3

为什么需要Nebula3:

1.Nebula2主要是重写了Nebula1的高层代码。核心代码和底层代码从Nebula1开始就没有很大的改动,这表明Nebula1的一些底层代码距今已经有八年了。

2.一些Nebula2特性在当时看起来很酷但在现在已经不适宜了(至少对于Radon Labs而言)。例如可以在运行时切换OpenGL渲染或者D3D渲染,细粒度的脚本支持,等等......

3.更多现实世界的开发经验让我们能更合理地安排某些子系统,并在Nebula的层次模型中选择是上移还是下移。

4.初学者很难掌握Nebula,部分是由于它深奥的对象模型和其它设计决策引起的。并且经验表明,应用程序员使用高层游戏框架比直接使用Nebula来得容易。因此,Nebula更多的是为高层游戏框架提供平台抽象服务。Nebula3将关注这方面变化。

5.Nebula2很难向上或向下移植(向上移植对多核和DirectX10支持,向下移植到Nintendo DS)。

6.更好的多线程架构。Nebula3一开始就被设计运行在多核硬件上,并提供一个编程模型让程序员不必要太关注多核环境。

7.更好的网络架构。网络子系统是事后才被集成到Nebula2中的。Nebula3将从一开始就提供对网络支持。

8.Nebula2没有提供一个适当的高层游戏框架,这就是为什么我们要写Mangalore。这种方式造成了很多的混淆,Nebula3将一开始就设计成三层架构,在最高层将提供一个完整的游戏应用框架,将把Mangalore集成到Nebula3中。

原文: From Nebula2 to Nebula3

[声明]:限于译者水平,文中难免错漏之处,欢迎各位网友批评指正;

没有评论:

发表评论