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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

算法设计与分析

算法设计与分析

陈慧南 / 电子工业出版社 / 2006-5 / 26.80元

《算法设计与分析:C++语言描述》内容分为3部分:算法和算法分析、算法设计策略及求解困难问题。第1部分介绍问题求解方法、算法复杂度和分析、递归算法和递推关系;第2部分讨论常用的算法设计策略:基本搜索和遍历方法、分治法、贪心法、动态规划法、回溯法和分枝限界法;第3部分介绍NP完全问题、随机算法、近似算法和密码算法。书中还介绍了两种新的数据结构:跳表和伸展树,以及它们特定的算法分析方法,并对现代密码学......一起来看看 《算法设计与分析》 这本书的介绍吧!

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

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具