文章

关于我是如何被Java GameLibarary: LibGDX引起兴趣

关于我是如何被Java GameLibarary: LibGDX引起兴趣 | 初雪·冰

我很早就有过制作独立游戏的想法,这个想法应该大多数人都有。我尝试付出实践,但是因为各种原因不断的磨灭我的兴趣,最终我临近游戏制作的第一步的时候,我的兴趣被完全磨灭了,或者有一样新的,我认为好玩的事情取代了这些兴趣,我便没在管了。

我一直是不太喜欢Unity,出自个狼原因不喜欢它。它很方便,我不反对,而且在3D游戏制作领域,它很成熟。但是我这样的热衷于2D游戏与文字游戏的狼用Unity多少感觉有些不适应。而且它很大,很重,也很依赖框架下的社区。如果它的插件出了任何Bug就只能等待社区去修复,如果说要徒手搓个轮子取代这个插件的功能,那么不如一开始就徒手搓一套Toolkit出来不是吗?这并不是丢西瓜捡芝麻,ToolKit很多,借别人的开源的Toolkit搓一套并不会比研究插件如何使用然后发现有Bug再去另寻出路要麻烦,反之,自己搓一套会更有意思,也更有成就感。

我购买了GameMaker Stadio 2已经好一段时间了,但是我一直没尝试使用,只是简单制作了几个Demo。我不知道为什么虽然我没有太多对GMS的热情却依然买下了它。说老实话,如果它能兼容Java,我会更加有兴趣一些。我不太能适应面向过程的编程,或许是GML(GameMaker Language,由GameMaker团队独立开发的编程语言)正在消磨我的兴致,而我完全不能适应图像化编程。

C#有一种库名为FAN,很炫酷,但是我不是一个老练的C#玩家,因此我只能看看,然后对着满屏缺少前置库的错报放弃思考。

社区中有很多人说C语言或者C++比Java更适合做游戏,而C#在Windows领域之下更是程序答案,但是我还是坚持认为Java也可以做点好玩的东西出来。

众所周知,我是一个热衷于Java与Kotlin的开发者,并且因Minecraft接触到了LWJGL(Lightweight Java Game Library)。 但是制作一款游戏,LWJGL提供的还不够,或者说LWJGL全部装入的话就不Lightweight了。LWJGL的招牌是OpenGL,一个GL渲染库的Java实现,以及OpenAL声道编程库Java实现。除此之外还有KeyLicenser,ThreadCore等方便键盘监听,多线程与网络发包的库。现在LWJGL也是成熟的库。而且LWJGL貌似在3D领域更加优秀,我不确定它的2D文档是否与3D文档一样充盈——LWJGL正在步入3,我知道2很快就会被放弃支持——我在学校无聊的摆弄IDEA,然后尝试载装了LWJGL3的一些基本的开发套件(指代GL,AL,TC,KL),但是我发现对2的迭代过快。

我认为Java不可能只有一个库,我正在翻找在LWJGL如此老练之前还有没有一种更轻,更具有社区支持的库。现在我找到了:LibGDX

一些社区认为它没有Cocos那么成熟,但是它依然是很优秀的库,这引起了我的兴趣。我阅读文档,这简直就是我想要的一切!一个由Java语言编写的GameMaker!除了它没有任何图形支持。

LibGDX提供2D与3D的支持以及完全独立的FileIO操作,基于Gradle进行多项目调配,实现一份代码走遍多个平台,从Windows,MacOS到Linux,Android以及HTML都能支持(Kotlin环境下不支持HTML)。

LibGDX有持续追进的官方Wiki以及社区支持,可惜的是国内的支持正在逐渐消失,文档也寥寥无几,很难再去翻到熟肉的文档。不过国内的译文书籍是不会消失的,在并夕夕上也可以查到相关资料——如果有兴趣可以看一看!

另外,LibGDX作者推荐的Bitmap Font(点阵字体)生成器Hiero由于地址迁移,不挂梯子比较难去,因此我再此也分享一份。

目前还在保存更新Minecraft 1.7.10 Forge Mod开发教学,如果你对1.7.10感兴趣,请多多支持!

未来应该还会更新LibGDX的开发文档,敬请期待!

下载 Hiero 文件

官方WIki

本文章以 CC BY 4.0 授權