返回
Featured image of post pico-8

pico-8

15刀乐的梦幻游戏主机

简介就不必多说了,pico-8作为一个简单的并不存在主机在圈子内有着相当高的名气,尽管整体名声不大,但是以其完善的内容,简单的设计,是的开发一款demo游戏容易很多(蔚蓝便是代表作),所以我也入手并尝试这进行一个游戏的做。

概述

pico-8整体开发是基于LUA的,整体的设计理念非常清晰整洁。内置了代码、sprite绘制、tile绘制、音效和音乐,一应俱全,可以很方便的完成开发。

游戏的核心流程由三个函数控制:

function _init()
   	end
function _update()
    end
function _draw()
    end

其实也很好理解,_init用于初始化参数,_update用于更新数据和执行动作,_draw用于绘制内容。

从某个层面上来看,pico-8更像是在canvas上画画这样的,也因此其开发难度并不大。

设计细要

整体来看的话这部分其实就是编码的工作,但是依旧有很多值得讨论的细节。

  • pico-8具有一个颜色的缓冲,如果在绘制新的内容时不添加颜色参数,那么其可能会仍使用之前的颜色
  • pico-8程序是不停的循环_update函数和_draw函数,这一点有点像arduino,同时顺序是先进行update再进行draw操作。
  • pico数字是16位的(最大32768),由于lua语言的特性,可以方便的使用字符串来表示数字
  • pico的复杂对象使用等号得到的是引用
  • for i in all(table)更方便面对需要删除部分元素的情况

整体来说,pico-8的游戏开发简化了很多繁琐的细枝末节,也因此可以很方便的用于开发一个原型或者demo。当然,过量的简化也会带来一些有趣的问题,例如复杂的代码嵌套,计算机图形学的一些东西,因此要想开发一个好的demo也是有难度的。

Licensed under CC BY-NC-SA 4.0