Eeny,Meeny,Pico

手工复制这些无休止的数字序列非常困难,没有乐趣,几乎是不可能的。 但是我对它们的含义很好奇。 所以我的下一个编程语言自然是c6502汇编。 我花了很多时间将这些数字转换为对应的助记符,以了解该程序应该执行的操作。

那是一个美好的时光,我已经看到人们通过低级组装来完成出色的工作。 不幸的是,写作大会是一门垂死的艺术。 使用高级编程语言编写程序更加容易,并且更具成本效益。

但是,不久前,互联网向我证明,仍然有很多人喜欢为了娱乐而编写汇编。 2009年,Minecraft的第一个版本发布了,由Markus Persson创建,绰号Notch。 我从没玩过Minecraft,实际上,我几乎没有玩过任何游戏,但是自从C64牢牢占据家用计算机第一名的那一刻起,我就一直对游戏概念特别是它们的构造感兴趣。

将Minecraft卖给Microsoft之后,Markus开始着手他的下一个项目,名为0x10c。 这是一个科幻太空游戏。 这个想法是要有一个以自然定律为特征的环境,例如自然运动,重力控制等。这个名称本身来自于背景故事,并涉及编码错误,该错误导致人们进入低温睡眠并保持这种状态达数百万年之久。 。

这款游戏最有趣的方面是一个完全建模的16位幻想计算机,其中包含一个DCPU-16处理器,用户可以在游戏中对其进行编程。 作为太空船的中央计算机,您可以用它来做所有事情。

这台计算机的编程是在汇编中完成的,我认为这是一种几乎无法使用的编程语言。

有趣的是,在Markus提供虚构的规范和助记符之后,人们自发地开始创建编译器和模拟器。 还有一个模拟器网页,可让您创建汇编程序,对其进行测试并运行它。 出现了各种代码片段,创建了库,并且人们开始构建操作系统。 人们甚至第一次开始学习汇编。 而这一切,都在组装一个不存在的虚构CPU。

对我来说,DCPU-16和C64及其6502处理器之间存在有趣的联系。 它们并不是可互换的或类似的东西,而是周围的氛围,文化和思想。 最重要的是,通过创建自己的炫酷独特程序,让您乐在其中。

不幸的是,一年后,马库斯停止了该项目。 据他说,主要原因是玩起来不够有趣,这当然是游戏的重要方面。

这款游戏可能永远不会发布(根据其官方声明,它“处于冰上状态”-考虑到游戏的主题,这很有趣)。 但是,它确实引起了人们对汇编编程及其相关技术(例如汇编器,字节码解释器和创建个人编程语言)的许多(重新)兴趣。

然后PICO-8成为焦点。 您没有在汇编中对其进行编程,但是它向我表明,仍然有一群人喜欢编程来娱乐。 这个自称为幻想游戏机,用于制作,共享和玩小游戏和其他计算机程序。 PICO一词来自日语短语“ Pico Pico”,意为像素化或低保真。

根据设计,PICO-8的规格非常有限,但经过精心选择才很有趣。 例如,显示为128×128像素,最多包含16种不同的颜色。 所谓的精灵是8×8像素,但您可以拥有128个!

编程语言是Lua。 因此,如果您想学习一种新语言,Lua会很有趣,并且在其他几个程序和游戏引擎中也被用作脚本语言。 PICO-8的第一个迭代包括一个BASIC解释器(就像C64一样),该解释器在内部将BASIC转换为Lua以便使用Lua VM。 但是创建者还是愿意与Lua合作,因此他放弃了BASIC外观。

当您打开PICO-8时,机器将为您启动外壳。 在这里,您可以运行游戏或启动编辑器来创建游戏! 该编辑器就像一个IDE(集成开发环境)。 它具有用于编辑代码,精灵,地图和声音的工具,所有这些工具都直接内置在控制台中,从而赋予了C64感觉。 例如,在C64上可能会“破坏”正在运行的Basic程序以检查其代码。 如果在PICO-8中按Escape键,则切换到编辑器。

PICO-8的游戏文件称为盒带。 您可以通过某种应用商店中的PICO网站共享您的游戏。

您可以在PICO-8控制台中以盒带形式运行PICO-8游戏,也可以在Windows,Linux,Mac或Raspberry Pi上的浏览器中以HTML形式运行。

甚至有一个关于PICO-8的FanZine,迄今为止已经发行了四本PDF杂志(在撰写本文时)。 它充满了背景信息以及游戏编程技巧,窍门和示例。 再次为旧的C64时代做出了贡献。

如果您对在手持环境中运行PICO-8感兴趣,则需要查看PocketChip。 这是一个小型手持式控制台,基于$ 9的计算机项目的构想。 它是预装PICO-8的标准配置。 因此,您可以从一开始就潜入。

很高兴知道PocketChip不仅限于运行PICO-8。 它还在内部运行Linux(Debian-Jessy),您可以为其创建自己的程序。 因此,如果您感到无聊(或受到启发,那么这些事情就会比您想像的更近); 砍掉。

我订购了一个带有PICO-8的PocketChip的订单,现在我热切地等待着它的到来,以恢复以往编程的乐趣。 嘿,也许我什至会打一两场比赛。 如果发生这种情况,请先在这里阅读!