【推荐新手】一款免费的、新手向的、功能强大的2D游戏引擎——LOVE2D。

发表于2015-07-10
评论0 1.25w浏览
 

大家好,我是Alexar,很高兴在GAD的平台上跟大家认识,本期给大家介绍一款免费的、新手向的、功能强大的游戏引擎——LOVE2D。

1. 什么是LOVE2D?

官网 www.love2d.org

用官方的话讲,LÖVE是一个使用 Lua 作为编程语言的 2D 游戏框架。LÖVE是完全免费的,能用在任何友好的开源项目,或者邪恶的闭源的商业项目。

用我自己的理解,首先它是个游戏框架,或者叫游戏引擎,它提供了游戏能够利用上的绘图、声音、文件操作、窗体控制、输入(手柄、触屏)输出等功能接口。

第二,它使用lua语言,实际上它本身是一个带上面游戏功能的解释器,里面内建了luajit,所以lua能实现的,它全能实现。lua语言是个十分流行的脚本语言,体积小、效率高,同时配合ffi,几乎没什么没法实现的。

第三,它包含了一个简单的跨平台的游戏发布方式,她可以在windows, linux, ios, androis,web等平台运行。(部分需配合第三方love)

2. LOVE2D能做什么

笼统的讲,它能制作游戏。。。

好吧,绘图方面它采用openGL内核(webGL),可以实现一般图片绘制,图片数据的内部更改,矩阵变换,遮罩,着色器特效等等。声音方面支持wav, ogg,mp3等格式。同时,支持触屏及手柄响应。

3. 它收费么

她遵循ZLIB协议,几乎是一切随意,只要别去说LOVE是你写的就好-。- 具体见zlib协议内容。

4. 学习她需要什么条件么

LUA语言是个必须的基础,当然有一些基础了你就可以开始进军LOVE了,只要你会简单的声明,函数,理解数据类型就可以开始了。

你还需要理解一些游戏编辑的简单概念,比如什么叫帧,动画是怎么动起来的,回调函数什么等。

当你具备了以上两点,就可以写你第一个love程序啦。比如~

function love.draw()
love.graphics.print("Hello World!", 400, 300)
end

没错,这么几句就可以运行了,就这么简单。

5. 学习曲线如何

相比其他游戏引擎,学习曲线比较平滑,整体上是从较低缓慢增加的,意味着你可以一步一个脚印的学习,不断提升自身能力。因为LOVE本身仅提供很底层的函数,高级功能是用第三方库实现的(在官方wiki和论坛上有大量库,同时luaforge的lua通用库同样适用),可以根据实际的需要去学习。

6. 学习资料多么

在官网wiki和论坛上有大量的学习资料,尤其是官方wiki,api的讲解都十分详尽,有些复杂的还给了例子。但是问题是,大多数都是英文的,英文不好的可能会有点困难。

7. 这个圈子活跃么

在国外这个LOVE2d的圈子还是蛮活跃的,可惜在国内比较冷清。

8. 它能开发商业游戏么

个人认为LOVE2D比较适合游戏原形的快速开发及lua游戏编程的教学,它确实可以商业开发,而且很多人也这么做了。

9. 我可以学习LOVE2D么

啊哈,问题到了重点了,我为什么推广一个开源引擎呢?因为我喜欢她,而且希望更多人喜欢她。如果有人喜欢,我可以在这里连载一组教程。以及完全翻译外文的wiki内容。

so. here is what to do

如果大伙回复多,官方能够建立LOVE2D圈子,本人开始每周一期出教程。

如果跟教程的人多了,在教程结束的时候我们自己出一套中文wiki,甚至纸版教材。

独乐乐不如众乐乐。 so 请大家关注哦~

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引