DarkBasic是一种基于BASIC语言的较老编程语言,对于非学生来说可能不是一个好主意,并且需要付费,尽管很少。XNA基于.NET平台,通常使用C#语言,可以针对一些设备如XBox和Zune进行开发。个人而言,我会推荐使用XNA而不是DarkBasic,因为你可以从微软那里获得非常稳定的工具(IDE、调试器)。它们的学习难度大致相同。
正如其他地方提到的那样,XNA不仅可以轻松开发Windows平台,还可以为Xbox 360和Zune平台进行开发。XNA还是基于C#构建的,而DarkBASIC似乎使用了一种类似专有BASIC语言的语言(这是你所期望的)。
我不确定我是否热衷于花费大量时间在那种语言上进行开发,因为我认为我的XNA项目是锤炼我的C#/.NET知识的一种方式,同时学习新的XNA框架工具。(当然,这只是个人偏好。)
除非我没有看到使用DarkBASIC的主要优势,否则我会很自信地说,XNA在几乎所有方面都比DB更具优势。
From http://en.wikipedia.org/wiki/DarkBASIC_Professional:
Dark GDK 和 Dark GDK .NET在我看来,每个系统相对于另一个系统的主要优势如下:
XNA允许您开发更多的目标平台,尤其是XBox 360游戏机。DarkBasic的目标平台仅限于Windows PC,而XNA可以为Windows PC和Xbox 360(以及便携式Zune设备)制作游戏,据我所知,这不是一个非常受欢迎的平台。
似乎DarkBasic允许进行比XNA更高程度的RAD(快速应用程序开发)编程。 我部分基于查看GameCreator的“3D Gamemaker”产品来做出这个假设,该产品确实允许进行RAD开发(实际上,甚至不需要编程!)。 我意识到,“3D Gamemaker”和DarkBasic并不是完全相同的产品;然而,Dark Game Studio(包括DarkBasic)在“使用专业工具构建游戏内容”的前提下进行了基础工程设计。
在我看来,XNA可能略微优于开发语言。 这不影响最终产品的整体质量,但只影响程序员和产品的开发。 XNA旨在成为真正的面向对象语言,并基于.NET框架,强制执行面向对象设计。 据我所知,DarkBasic确实支持其SDK的面向对象实践;但是,我不知道DarkBasic支持面向对象编程的程度如何。 话虽如此,DarkBasic可能确实支持足够,如果不是很好的面向对象编程。
Dark Basic适合业余爱好者。它快速、简单、有效。
XNA适合有技能和时间的人。
这是经典的效率与功率之争。就像Python vs. C++,一个快速,一个强大。