我注意到一种趋势,独立开发人员会放弃框架和引擎,转而使用裸机OpenGL或将其与SDL / SFML2结合使用。作为独立开发人员,我看不到低级OpenGL在单独的引擎或框架上可以提供什么。
大多数像样的引擎和框架都提供了您需要的功能,而不会妨碍您。他们可能还会打开直接处理OpenGL的选项。有些甚至提供了编译跨平台的功能!
我了解渴望了解幕后情况的愿望,但我看不到OpenGL可能为独立开发人员带来的任何好处引擎或框架方面的。
您能解释一下使用OpenGL从头开始构建游戏的原因吗?
我注意到一种趋势,独立开发人员会放弃框架和引擎,转而使用裸机OpenGL或将其与SDL / SFML2结合使用。作为独立开发人员,我看不到低级OpenGL在单独的引擎或框架上可以提供什么。
大多数像样的引擎和框架都提供了您需要的功能,而不会妨碍您。他们可能还会打开直接处理OpenGL的选项。有些甚至提供了编译跨平台的功能!
我了解渴望了解幕后情况的愿望,但我看不到OpenGL可能为独立开发人员带来的任何好处引擎或框架方面的。
您能解释一下使用OpenGL从头开始构建游戏的原因吗?
Answers:
这主要是基于意见的问题/答案,因此实际上不一定适合于该平台,但无论如何:
为什么没有独立的框架/引擎?这是我的两分钱:
大多数像样的引擎和框架都提供了您需要的功能,而不会妨碍您。
有吗 确切地说,这取决于您在做什么,以图形方式来讲。
对于许多类型的游戏,都有图形问题的标准答案。例如,普通的2D游戏可以使用XNA / MonoGame的2D技巧很好地处理。只是精灵,它们可以成批出现在地形中,可以旋转等等。
但是,如果您的游戏曾经是普通的2D游戏,那您会读到一些很酷的技术,例如使用高度图构建具有相对于屏幕深度外观的冒名顶替者。而您想这样做。
现在,您正在使用法线贴图,甚至可能使用视差贴图。所有这些都在“渲染精灵”的相同上下文中进行,但需要的不仅仅是许多纯2D引擎可以处理的内容。具体来说,它需要多纹理的“ sprite blitting”,这是许多2D引擎无法做到的。
如果您的引擎无法适应您该怎么办?因此,这意味着您必须进行多次遍历,一次遍历颜色,一次遍历法线贴图。但这是行不通的,因为您需要法线贴图的height字段将视差贴图应用于颜色查找。那么现在怎么办?您需要使用Alpha来透明度,所以您不能窃取Alpha。而且引擎不支持多纹理。
因此,您必须选择以下之一:
举个例子,以几何战争为例。大多数2D引擎都会吸引这类视觉效果,因为它们中的大多数都是围绕绘制精灵而不是线条构建的。那是一款需要非常专业的渲染器的游戏。
归根结底,您需要对游戏中对游戏需求至关重要的元素负责。如果您游戏的视觉外观主要是由您使用的图像和模型的艺术风格而非特定的效果开发的,那么使用预包装的解决方案就可以了。但是,如果您的游戏的视觉风格是由自定义渲染代码定义的,那么,如果您决定做一些超出常规的事情,那么标准引擎可能会成为一个严重的局限性。
此外,还有一个非常实际的问题:并非所有游戏引擎都具有同等的可移植性。
随着最近移动平台的兴起,游戏市场遍及众多OS和用户界面设备。并非所有引擎都能在所有设备上运行。而且,如果您的引擎无法在平台上运行,那么您肯定不会花时间使其在平台上运行。毕竟,这就是为什么您首先使用引擎的原因,对吗?
如果对您的游戏在特定平台上起作用很重要,那么您又需要对此负责。确保成功的“最简单”方法是自己做。为了构建可以在多个平台上工作的引擎,可能需要在需要处理一些底层细节的地方采用更简单的特定于平台的框架。这样,如果中断,那就是您的代码;您是能够修复它的最佳人选。