PICO-8(ピコエイト)は、Lexaloffle Gamesが製作した仮想機械、あるいはゲームエンジンである。

## 概要

このソフトは、1980年代の古い8ビット機の限られたグラフィックとサウンド機能を模倣した、いわゆる「ファンタジーコンソール」の一種である。あえて乏しいスペックに制限された仮想機械でゲームを製作することで、現代のゲームエンジンのたくさんの機能や、ハードの高いスペックに圧倒されることなく、ゲームを制作する際の創造性と創意工夫を引き出すことを目的としている。いかにも「8ビット」風の制限により、PICO-8で製作されたゲームは特徴的な触感を持つ。

PICO-8でのコーディングはLuaベースの環境を通じて行われ、ユーザーはこのコンソール内で、音楽、効果音、スプライト、マップ、そしてもちろんゲームを作成することができる。

ユーザーは、自分の作ったゲームをHTML5対応のウェブゲームとしてエクスポートしたり、Lexaloffleの公式BBSにアップロードすることができ、これにより、他のユーザーがウェブブラウザでそのゲームをプレイしたり、またソースコードを閲覧したりすることができる。PICO-8のゲームは、Windows/macOS/Linuxで実行可能な単体の実行可能プログラムとしてエクスポートすることもできる。

PICO-8は、後に商用ゲームとしてリリースされて大ヒット作となった『Celeste』のオリジナルバージョンがリリースされたことでも有名である。『Celeste』のオリジナル版は、元々はゲームジャムの一環として4日間で作成された。

2024年3月16日、PICO-8の「上位互換機」として「ファンタジーワークステーション」の『Picotron』がリリースされた。

## 機能

PICO-8のプログラム内には、Luaコードエディタ、スプライトおよびマップ作成ツール、オーディオサウンドエフェクトおよび音楽エディタが統合されている。PICO-8は、作ったゲームをテキスト形式あるいは特殊なエンコードがなされたpng画像としてエクスポートすることで、コンピュータにローカルに保存でき、また同時にそうやって保存された物を読み込むこともできる。「SPLORE」と言う特殊なモードがあり、この「SPLORE」コマンドを使って公式BBSにアップロードされたゲーム(ゲームのデータは「カートリッジ」と呼ばれる)をプレビューしたり、ローカルのPICO-8にダウンロードして遊ぶことができる。

PICO-8の仮想機械としての「スペック」は、解像度:128×128ピクセル、画面:同時発色数16色、音声:4チャンネルオーディオ出力に制限されている。

v0.1.11以降、ユーザーはPico-8の「カートリッジ」をWindows/Linux(64ビット)/Mac/Raspberry Pi用のスタンドアロンの実行可能ファイルとしてエクスポートできるようになった。

### カラーパレット

PICO-8のデフォルトのカラーセットは全16色、と言うのが公式の仕様である。ただし、実は、カラーIDに128以降のインデックス番号(128~143)を割り振ることで、デフォルトのカラーセットとは別のカラーセットを使うことができる(つまり、実は全32色ある)。これらの色の存在は、PICO-8の作成者によって公式には認められていないが、コミュニティでは受け入れられ、「隠れカラー(hidden colors)」と言う非公式の名前が付けられている。

## 開発

「Zep」の愛称で知られるジョセフ・ホワイト(Joseph White)は、BBC BASICスタイルのBASICインタープリタ「LEX500」の開発を始めた。ジョセフは一時期、「Voxatron」というボクセルベースの別のゲームエンジンを開発していたこともあったが、また「LEX500」に戻ってきた。開発中、ジョセフはBASICからLua 2構文に切り替えた。こちらの方が使いやすく、プログラミング言語としてより有能だったためである。彼は「LEX500」に音楽トラッカーやマップエディタなどの組み込みツールを追加し、「PICO-8」と改名することにした。

ジョセフはPICO-8に制限を設ける際、古いシステムからインスピレーションを得た。16色のカラーパレットはコモドール64、4チャンネルトラッカーはAmiga 500、全体的な外観はApple IIeやファミコンなどの80年代のハードウェアからインスピレーションを得た。彼は、架空のハードウェアにフィットするように意図的な制限を設けたPICO-8のようなシステムを表すために「ファンタジーコンソール」という概念を自ら生み出した。

## ハードウェア

「ファンタジーコンソール」であるPICO-8には、よくある8ビット機のエミュレータと違って、エミュレーションのベースとなる公式ハードウェアがなく、従ってその制限はすべて純粋にソフトウェアエミュレーションによってエミュレートされている。しかしながら、PICO-8を既存の何らかのハードに組み込もうという試みもされており、自作コンピュータやハードウェア愛好家によって、かなり性能の低いデバイスに組み込もうという試みがされている。PICO-8にはRaspberry PiとC.H.I.P. (Next Thing Co.が2016年に発売したシングルボードコンピュータ。その派生版「Pocket CHIP」にはPICO-8がプリインストールされて出荷)用の公式イメージがあり、コミュニティはRetroArchで利用可能なPICO-8エミュレータを介して、PICO-8の公式ソフトウェアまたはPICO-8用ゲームを他のシングルボードコンピュータ上で直接実行することに成功した。

いくつかのライブラリのせいで、少なくとも「i386/amd64」または「ARM-64」ではないデバイスでPICO-8本体を実行することはできないが、「Fake-08」や「tac08」などのオープンソースエミュレーターを介して、さまざまな低コストのハンドヘルドコンソールでPICO-8用ゲームをエミュレートすることには成功している。これらのエミュレーターは、32ビットマイクロコントローラー(最も有名なのはESP32)に基づくデバイスでも機能する。

## 受容

PICO-8のリリースは、こうした制限下での開発に意欲を燃やすプログラマーやビデオゲーム開発者の注目を集め、意図的にレトロスタイルの制限を設けた同様のゲームエンジンの開発を促した。これらのエンジンは現在、PICO-8の公式Webサイトでの定義に基づいて「ファンタジーコンソール」と総称されており、現代の価値観に基本的には従いつつも、昔のゲーム機やコンピューターの厳しい制限を大まかにシミュレートしている。その中には、「ファンタジーコンピューター」を自称する「TIC-80」や、ユーザーが開発時にシミュレートするハードウェアのスペック制限を指定できる「Pixel Vision 8」などがある。ファンタジーコンソールの開発、およびファンタジーコンソール用のゲームの開発の現場においては、ホビーストたちによるエコシステムが形成され、それぞれ独自のゲーム開発とプログラミングのサブコミュニティを持つにまで発展した。

PICO-8は2018年に『Celeste』がリリースされたことでさらなる注目を集めた。もともとゲームジャム用のPICO-8ゲームとして作成された『Celeste Classic』(商用版と区別するためにこう呼ぶ)は、PICO-8 BBSで最も人気のあるゲームの1つとなり、開発者はこのコンセプトをさらに拡張した「完全版」を製作することを決意した。商用版『Celeste』には、オリジナルのPICO-8バージョンの『Celeste』がイースターエッグとして仕込まれている。

『picoCAD』というローポリCADソフトウェアはPICO-8をベースにしており、PICO-8の内外で使用できるモデルの作成に使用でき、作成した3DCGモデルをOBJ/MTL形式でエクスポートしたり、また3DCGモデルの回転アニメをGIFアニメ形式でエクスポートしたりできる。リリース以来、picoCADは多くの3D PICO-8ゲームのモデル作成に使用されている。このソフトウェアは、「意図的に8ビット級にスペックを制限した仮想エンジンで3Dを製作する」と言うその独特のレトロな美学により、ピクセルアートやレトロゲーム開発コミュニティで広く普及した。

PICO-8では、有名なレトロゲームや最新ゲームのリメイクやデメイクが数多く制作されている。最も有名なものとしては、『Terra』(『Terraria』のオマージュ)、『Poom』(『Doom』のオマージュ)、『Fuz』(『Fez』のオマージュ)、『Low Mem Sky』(『No Man's Sky』のオマージュ)、『unDUNE II 』(『Dune II』のオマージュ) などがある。

PICO-8は、その厳しい制限により、コンソール用のレトロスタイルのデモを作りたいプログラマーやミュージシャンを惹きつけており、デモシーンでも注目を集めている。

2024年3月、レトロなアーケードゲームをプレイできるVRゲーム『アーケードレジェンド』に、いくつかのPICO-8用ゲームが「筐体」として追加された。