1.0 前言

本人立志于毕业之后从事与游戏制作行业,为了届时方便找工作,提前学习一下游戏制作总归是有帮助的。不过其实我对于游戏开发也不是完全没有接触过,一两年之前接触过莉莉丝基于Unity3D做出的自家用于学习的引擎,在那之后又接触过Unity3D,转眼间到了大三下,寒假期间意识到自己有必要在这一学期内做出一个像样的游戏——这样才会有助于暑假去实习,继而有希望在校招的时候找到一个说得过去的工作。

确定了制作游戏的目标后,选择一个合适的游戏开发平台就成了眼前需要解决的问题:U3D和UE虽然较为成熟,且国内教程也较多,再者完全免费,但如果想做出一个完整的游戏,需要做的事情较为多一些;RPGMaker之类又较显业余(也是我没有去了解过的原因),在四处寻找之后,发现了一个新的东西:PICO-8。

如果有玩过《蔚蓝》这款游戏的朋友应该对PICO-8有所耳闻:《蔚蓝》内置了一个PICO-8制作的同名小游戏,在旅馆那一关可以找到一台游戏机,互动之后,就可以游玩。有说法是《蔚蓝》的原型就是用PICO-8制作,我也没有心思去考证是否为真,总之我也是在这款游戏里面第一次见到了PICO-8,个人也比较喜欢《蔚蓝》这款游戏,所以果断地买了一个PICO-8,打算让这个游戏制作平台成为我的新手村。

然而实际接触之后却发现,PICO-8并没有我想象的那么容易操作:一方面是美术,虽然是2D美术,但是需要在平台内自己用像素画出来,并不能用外部直接导入的图片;其次是音乐,音乐同样也不能外部导入,需要自己编曲。虽然实际过程并不算复杂,但是想要做出来一个美观的成品游戏,意味着我可能还需要去略微接触一下音乐和美术相关的知识。

最难搞的一个问题:PICO-8是由国外的制作者制作出来的,并且很小众,这意味着可能很难找到相关的教程和文章,就算能找到,很大概率也是英文。

不过刚开始就打退堂鼓有点说不过去,更何况这钱还花出去了(

于是抱着解决一切困难的心态,我打算再CSDN上每周写一个日志,用来记录自己的学习经历,同时也希望能帮助同好来一起学习进步。

1.1 资源

PICO-8有官网,国内可以直接访问:PICO-8官网(英文)

在官网内,我们可以游玩别人制作的游戏:

花费14.99美元,我们就可以在官网上下载PICO-8开发环境:

同时,在官网里面还有许多官方、民间的资源,在Resources中就可以看到别的开发者编写的一些教材性质的文档(基本上都是英文),其中有一篇非常值得学习:Dylan Bennett 编写的 Game Development with PICO-8:

下载链接:Game Development with PICO-8 - Issue 1

文章从0开始介绍 PICO-8,不过面向的基本是有编程基础的开发者,但是就算没有编程基础也无妨,PICO-8编程语言是基于lua的语言,lua相比其他编程语言非常容易上手。今后的日志基本上也打算基于这本书来组织。

1.2 认识开发界面

PICO-8的开发界面大致分为6块:

打开PICO-8,首先显示的是命令行:

按下ESC,就可以看到代码界面:

我们可以将代码全写入这里面,或者我们也可以创建多个页,点击左上角的“+”,就可以创建多个代码界面。

然后是绘图界面:

其实这个界面官方给的名字叫“精灵编辑器”, 精灵(sprit)指的就是开始游戏后我们可以操纵的角色,在代码中调用图形也是利用 spr() 函数来实现的。例如上图中,就是我绘制出来的一个sprite。除了sprite,我们还可以在这个界面绘制地砖,用于地图的绘制,具体的就放到后面再说了。

第三个就是地图界面:

在这个界面,我们可以将绘图界面绘制的地砖铺到表示地图的界面中,图中就是我绘制的一个简易的地图。

再后面是音效编辑以及音乐编辑:

个人觉得PICO-8的音乐编辑模块是最具有想象力的,当然也有可能是我没有接触过别的音乐编辑器,所以看到这个有眼前一亮的感觉。考虑到这一片篇幅较长,而且一开始我们能写好代码画好精灵就可以做一个不错的游戏了,所以配乐的工作我们可以放到后面再详细描述。

现在你已经认识了这里面的五个主要页面,借助这些模块,你已经可以开始制作属于自己的游戏了……吗?显然还有点早,至少我们应该去看看别人是怎么做的,借鉴在别处叫抄袭,在咱们程序员这可没有抄袭这一说(bushi)。回到PICO-8,如果是别的引擎,我们或许还需要下载别人的Project,然后打开,才能看到代码、资源之类的东西,但在PICO-8里面,我们只需要一个单词:splore

在命令行输入这个单词,按下回车,第一次需要稍等片刻,然后一片新大陆就出现在我们眼前:

没错,现在我们的PICO-8变成了一个游戏机,在里面我们可以玩到很多由别的开发者开发的游戏:

玩的差不错之后,我们按下ESC,选择EXIT TO SPLORE,再按两下ESC,看看现在我们能看到什么:

没错——做成这个游戏的所有东西:代码、美术资源、音乐资源,全部摆在我们面前,我们甚至可以在里面按我们的喜好对游戏做一些修改比如把小兔子的头发染成红色:

此时再按下Ctr + R运行游戏,看看发生了什么:

小兔子的头发确实变成了红色,虽然不是红的很彻底。

看到这里,我不知道大家的心情是怎么样的——反正我当时确实是被震撼到了,包括我的同学和朋友也被这个神奇的小玩具刷新了眼界,同时这也是能让我下决心学习这个小众引擎的原因。

写到这里,PICO-8的一些入门基础就介绍的差不多了,虽然东西是一小会儿就能搞定的,不过考虑到篇幅长度,这一篇还是先到此为止了,后续的内容会放在下一个篇幅。

PICO-8学习日志Week1相关推荐

  1. 黑马程序员——黑马学习日志之二十 Java高新技术(二)

    ------- android培训.java培训.期待与您交流! ---------- 黑马学习日志之二十 Java高新技术(二) 1枚举 问题:要定义星期几或性别的变量,该怎么定义? 假设用1-7分 ...

  2. HTML5 Canvas 学习日志(三)

    2019独角兽企业重金招聘Python工程师标准>>>  HTML5 Canvas 学习日志(三) Canvas的11种合成 蓝色为destination,粉色为source 1 ...

  3. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图 ...

  4. 我的游戏学习日志46——游戏交互设计(2)

    我的游戏学习日志46--游戏交互设计(2) 2.游戏界面设计 游戏界面在保持一致性.可读性.效率性等普适原则的基础上,还应该特殊关照玩家的沉浸体验. 首要原则是保证游戏的顺畅使用. (1)提高自然性和 ...

  5. 0122 - EOS 编程学习日志(1)

    EOS 编程到底是什么呢.学什么呢? 抱歉,我现在也不无法回答.不过,我可以告诉你我做了哪些尝试.目前的理解,以及下一步还要做什么. 首先,EOS 开发最重要的文档自然是在 GitHub: githu ...

  6. MVC 学习日志1(上)

    MVC 学习日志1(上) 2012.7.5 开始学习MVC,本以为这个框架多难学,学下来的感受是其实也就是编写格式而已,和普通的webform有质的区别.顿时理解那句老话,世上无难事,只怕有心人.只要 ...

  7. opencv生成日志_OpenCV-Utils学习日志:VideoCapture使用样例

    1.VideoCapture可以打开多种来源的数据流,但常见的是相机.视频及图像序列三类数据流: (1)打开相机数据流,需要指定相机在主机上的设备编号,若主机上只有一个相机则编号通常是0. (2)打开 ...

  8. python爬虫实训日志_Python学习学习日志——爬虫《第一篇》(BeautifulSoup)

    爬虫简介(学习日志第一篇) 一.爬虫介绍 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Pyyhon爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.U ...

  9. java框架学习日志-2

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又 ...

最新文章

  1. linux文件IO与内存映射:分散/聚集IO技术(scatter-gather)
  2. 谷歌新发布的分布式数据库服务,是要打破CAP定理了吗?
  3. nessus安全工具主要用途_发电技术 | 发电厂DCS 网络安全评估与防护
  4. mongodb系列~mongodb慢语句(2)
  5. iOS 获取当前正在显示的视图控制器ViewController(最全)
  6. 如何解决远程桌面无法连接问题--远程桌面连接工具
  7. Compliments 计算机术语,2016年9月统考计算机复习题.doc
  8. Generic 打印ID对应的object type的工具
  9. 判断图有无环_【转】判断一个图是否有环 无向图 有向图
  10. java嵌入groovy脚本,java-如何捕获传递给Groovy脚本的参数?
  11. JAVA xml转dom_如何在Java中将String转换为DOMSource?
  12. 用好CloudIDE提升Web全栈编码效率
  13. (40)FPGA面试技能提升篇(OAM与SDH协议)
  14. Leetcode每日一题:134.gas-station(加油站)
  15. 计算机一级excel题库百度云,全国计算机等级考试一级上机Excel题库
  16. XSD文件详解(以Maven为例)
  17. IDEA打包失败解决方案
  18. 杂项-TMod:常见错误
  19. Linux开发板网络直连电脑的设置方法
  20. excel自动填充脚本(awk)

热门文章

  1. 私有云与公有云,哪种云模型最适合企业的需求
  2. 校验军官证、护照、港澳通行证的正则表达式
  3. 【PHP】把时间戳改为多长时间之前
  4. 2020年游戏建模师,设计师的电脑配置推荐,史上最全的配置单
  5. HMI-26-【HUD】HUD重新编写
  6. 如何远程登陆Linux图形界面
  7. 计算机应用基础题【2022江苏计算机专转本】
  8. 【Linux】虚拟机上的Linux系统如何联网?
  9. JavaScript赋值运算符
  10. 2022年4月浙江省三级计算机网络与安全技术题型分布