Slick2D vs Straight LWJGL

pla*_*tes 31 java lwjgl slick2d

我一直在用Slick2D钻研游戏编程,我开始怀疑从长远来看,知道LWJGL会更有帮助.一方面,Slick2D快速而简单,但似乎LWJGL在具有2D和3D功能的意义上更具适应性.对于那些处于java中间位并且想要制作游戏的人来说,是否值得花费额外的努力来立即学习LWJGL?

jef*_*unt 76

我不认为这两者真的有关系.我的意思是,我知道Slick是建立在LWGJL之上的,但这不是我在这里得到的.

光滑存在是为了利用硬件图形和声音加速,并通过一组对2D游戏有意义的对象和类(2D几何模型和三维坐标空间)来为二维游戏提供强大功能.就是这样 - 这就是它的使命,它的建立是为了解决这个问题.Slick基于LWJGL的事实只是LWJGL是一个库,你可以在其上构建类似Slick的东西.在人们试图用Java制作游戏的历史中,图形性能一直是在市场上获得任何质量的主要问题.Slick基本上消除了桌面上2D游戏的障碍(希望有一天在Android上).

在考虑Slick vs. LWJGL时,它是"正确工作的正确工具".如果您正在使用Java构建2D游戏,那么Slick是一种非常棒的方式.如果您实际上正在构建3D游戏(或者具有自上而下的2D视图的游戏,但您需要实际渲染3D场景),那么LWJGL可能是您的最佳起点.

但是,如果您正在构建2D游戏,并且您认为值得花时间在LWJGL中构建它,那么为了完成这项工作,您要构建的99%将是精灵,动画,关键输入,寻路和声音.Slick已经为你构建了这些东西 - 你几乎可以保证重新发明轮子,并且像你一样善意,你不会像在Slick上工作多年的开发人员那样做.2D游戏渲染是一个解决的问题 - 不要浪费你的时间.除非你是认真到渲染引擎(我还没有谈到游戏引擎,你花你的时间制定的游戏和机制,但实际的渲染技术),你会发现它比有点沮丧了.沮丧不会来自难以解决的问题(你当然可以解决它),只是你花了几个月的时间来构建它,当你完成后你将拥有一些功能的子集包括在Slick中,但没有游戏可以展示它.让Slick的聪明人已经为你解决了Java游戏引擎的元素 - 利用他们的工作,而不是花费数月时间尝试在你面前构建一些东西.

最后一个类比,90年代早期PC上游戏的巨大爆炸确实发生在DirectX上市时.当然,有一些视频游戏一直回到Atari,Apple [,Commodore等],但是当DirectX登陆并节省开发人员编写自己的东西时,游戏和技术出现了巨大的爆炸式增长.声音和视频的驱动程序.这就是开发人员当时正在编写游戏时必须做的事情 - 为他们希望游戏运行的每个声音和视频卡编写或许可个别驱动程序.DirectX让开发人员有机会不再担心这一点 - 只担心硬件与某个版本"兼容DirectX",而且提供所需性能的功能最小,就是这样.

很难解释这有多大 - 但是如果你用Java开发2D游戏 - Slick(或其他游戏工具之一)就是你的DirectX!