libGDX与Kotlin 移动游戏开发(1)
原文地址:Introduction to Mobile Game Development using libGDX & Kotlin | #1
本文将介绍使用libGDX作为移动游戏开发框架的原因,以及为何使用Kotlin这门编程语言。简单来说,libGDX是一个非常好用的框架;Kotlin使用起来也更顺手,相比于Java也更为精确。在接下来的文章中,将会介绍在开始着手开发跨平台的移动端游戏之前,所应该(至少笔者认为)考虑的方方面面。
选择游戏开发框架
如果还没有中意的游戏开发框架的话,那么应该着重对比一下常见的游戏开发框架的优缺点。例如,免费试用的游戏开发框架有Unity、虚幻引擎和libGDX。不过如果每季度每个产品收入超过3000美元,虚幻4引擎要求缴纳5%的费用。
libGDX是一个开源的跨平台游戏开发引擎,由BadLogicGames维护。由众多开发者参与维护和贡献代码(在Github上有358位贡献者)。
- 工程基于Java,非常适合Android开发者开发游戏。
- 得益于跨平台的特性,可以将游戏打包至Android、Windows、Linux、macOS、HTML(WebGL)和iOS(比如使用开源的Multi-OS Engine)平台。iOS(特别是不在Mac上开发的时候)需要一些微调,但是却可以成功运行。
- 无论是好是坏,libGDX没有“官方”的游戏组织框架模版,所以可以随意组织。
- libGDX拥有很多拓展,例如物理引擎Box2D、网络和游戏资源管理API等等。如果需要的话,也可以直接调用低级别OpenGL提供的方法。
Unity与libGDX相反,是闭源软件,这意味着不会有那么多的贡献者。不过Unity仍在快速开发中,而且不断提升并扩展自己的功能。
- 整个工程是基于C#或JavaScript语言。C#与Java相似,并提供了额外的功能(如果需要的话,C#深度根植于Windows)。
- 支持更多的平台(比libGDX支持的还要多)。可以打包至iOS、Android、Windows、macOS、HTML(WebGL)等平台,甚至包括Play Station 4或者VR设备如Oculus Rift、Steam VR或微软HoloLens。(所有支持列表)
- 大多数情况下,免费版本的Unity已经足够。如果需要更多的自定义能力(自定义启动画面或盈利超过10万美元),Unity提供了Unity Plus个人加强版和Unity Pro两种解决方案。
- Unity主要特点是提供了GUI编辑器,允许将游戏对象用拖拽的方式组建。所以无需编写太多(甚至无需编写)代码。
也许并不会选错这两个游戏框架(犹豫不决?Google一下有很多答案)。如果打算开发下一个Pokemon Go(需要学习一些虚拟现实的知识),推荐使用Unity,正如很多3D游戏一样。libGDX适于编写2D游戏,例如下一个Doodle Jump抑或是Flappy Bird。
想法最重要
所有的产品都一样,如果产品背后的想法和概念是不好的,产品不会(或者说很难)成功。就笔者而言,正如开发自己的游戏一样。从孩提以来自己一直拥有这个梦想。完成或者着手于创作一款游戏的感觉非同寻常,所以,开始吧!
这是范例游戏“Splinter Sweets“在Linux桌面上的运行效果:
游戏在不同平台上观感表现一致。这是通过libGDX实现的。
在iPhone上的效果: