使用 PICO-8 开发迷宫小游戏

栏目: Lua · 发布时间: 5年前

内容简介:PICO-8 使用 Lua 作为编程语言,但并不是标准 Lua,而是一个精简过同时添加了一些新内置函数的 Lua。基本语法与标准 Lua 一致,可用的方法基本上看下面总结出的 Cheat sheet 就可以:完整的文档见:

PICO-8 是一个虚构游戏平台(Fantasy Console),可用于开发、运行一些复古的像素风格的小游戏。它有很多限制,比如输出只有固定的 128*128 的分辨率,只能使用 16 种颜色等等,这些限制让 PICO-8 保持足够简单,迫使开发者将精力集中在游戏的创意本身,从而快速开发出一些小游戏或者游戏原型,快速验证一些想法是否可行。

PICO-8 使用 Lua 作为编程语言,但并不是标准 Lua,而是一个精简过同时添加了一些新内置函数的 Lua。基本语法与标准 Lua 一致,可用的方法基本上看下面总结出的 Cheat sheet 就可以:

使用 PICO-8 开发迷宫小游戏

完整的文档见: https://www.lexaloffle.com/pico8_manual.txt

看过文档介绍之后,我决定试用一下,便尝试着将以前用 JavaScript 开发的迷宫游戏移植到 PICO-8 平台。

关于迷宫的生成算法就不多介绍了,大致原理可见这篇文章以及这篇文章。下面记录一下主要开发过程。

首先启动 PICO-8,可以看到类似下面的画面:

使用 PICO-8 开发迷宫小游戏

看起来很像一个命令行终端,在这儿也的确可以输入一些命令,比如 ls 列出当前目录下的所有文件等。

但与普通终端不同的是,按 ESC 键可以在终端以及编辑器之间切换。编辑器界面类似下图:

使用 PICO-8 开发迷宫小游戏

在这个界面可以输入代码,进行游戏编辑。不过这个分辨率实在太低,字母看起来实在费眼,还好 PICO-8 也支持使用外部编辑器。

再按 ESC 键退出编辑器,在命令行界面输入 save [filename] 命令可将文件保存到硬盘,比如输入 save maze ,刚才编辑的文件就会被保存为 maze.p8 文件,输入 ls 命令可查看当前工作目录下的所有文件。然后,一个很重要的命令来了,输入 folder 命令,即可使用系统的资源管理器打开 PICO-8 的当前工作目录。

PICO-8 生成的文件后缀名是 .p8 ,其实就是纯文本文件,其中一部分是 Lua 源码,一部分是精灵、地图等文件。你可以用你习惯的编辑器打开刚才生成的 maze.p8 文件进行编辑。如果你使用 Visual Studio Code,可以在插件市场找到 PICO-8 对应的插件。

然后就可以愉快地编写 Lua 代码了。注意 PICO-8 的代码有几个特殊方法,分别是:

  • _init() 会在初始化时调用一次。
  • _update() 每秒调用 30 次,可以将各种状态更新的方法放在这里。对应的还有一个 _update60() 方法,每秒调用 60 次。
  • _draw() 绘制每一帧时调用,可以在这个方法中调用各种绘制方法。

完整代码可见: https://gist.github.com/oldj/5a0a302a42a251bfb930e692bbd7376a

最终,迷宫游戏的运行效果如下:

使用 PICO-8 开发迷宫小游戏

PICO-8 的作品可以非常方便地导出多种格式,比如本地原生可执行文件(支持 Windows/macOS/Linux),也可以导出为 HTML。所有的导出都只需在 PICO-8 命令行中使用 export 命令即可完成。

这个迷宫游戏的 HTML 版本在线地址为: https://oldj.net/static/pico-8/maze/index.html

小结

PICO-8 是一个很容易上手的小游戏开发平台,可以用于快速试验一些想法。同时,由于上手简单,或许也可以作为儿童编程教育的一个选择。

简单是 PICO-8 的优点,同时也是它的缺点,经过一两天的折腾,我觉得主要有两个缺点:

printh()
table.xxx

总体而言,如果你喜欢复古的像素风格的游戏,PICO-8 还是值得玩一下的。

Advertisements


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

注意力商人

注意力商人

吳修銘 / 黃庭敏 / 天下雜誌 / 2018-4-2 / NT$650

電子郵件,免費!照片分享,無上限! 你是否想過,隨手可得的免費內容、便利的免費服務,到底都是誰在付費? 如果商品免費,那你就不是消費者,而是商品! 你我可能都不知不覺地把自己賣給了注意力商人! 「『媒體轉型、網路演化與資訊浪潮」此一主題最具洞見的作者。』──黃哲斌(資深媒體人) 「這是少有的關注產業發展的傳播史,對現在或未來的『注意力產業』」中人來說,不可不讀。」──......一起来看看 《注意力商人》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具