Fantasy Computerとは
(おそらく)PICO-8(PICO-8: FANTASY CONSOLE)というソフトウェアが言い出した概念のようです。Fantasy ComputerやFantasy Consoleとも呼ばれたりするようです。
低解像度、少ない色数の画面で、ゲームの実行のみならず、プログラミングや画像や効果音、BGMの作成までできてしまうという、ミニマルなゲームの統合開発環境(兼実行環境)です。
ゲームはLuaで記述します。ブラウザ上や、PC、RaspberryPi、PocketCHIPなどで作ったゲームを動作させられるようです。
開発するためには有料のソフトを購入する必要があるようですが、ブラウザで遊ぶ分には無料のようです。
IchigoJamも似たような感じですが、PICO-8はPC上で動作するソフトウェアで、CPUやメモリはマイコンよりは緩いようです。
Cloneたち
Fantasy ComputerであるPICO-8は商用製品で、かつオープンではありません。また統合開発環境という性質上、自分の独自機能を実装した派生形を作りたい人たちも多いようです。
ということで、PICO-8以外にもいくつかの類似したソフトウェアがあります。
TIC-80
ブラウザでも動作するFantasy Computer。オープンソースで開発されています。Pro版というのが存在するようで、テキストファイルでのSave,Loadやメモリバンクの拡張などができるようになるようです。
Lua、Moonscript,Javascript, Wren, Flannelなどの言語でゲームを記述します。
画面解像度は240x136、16色ぱれっど 256の8x8スプライト、4チャンネルの音源 など
PICO-8のようにテキストエディタや、スプライトエディタ、マップエディタ、サウンドエディタが同梱されています。
FantasyComputerの中ではかなり活発に開発が進められています。
LICO-12
LÖVEというゲーム開発環境の上に実装されたFantasyConputerのようです。MIT Licence
Luaでゲームを記述します。作ったゲームはAndroidのLIKO-12でも動作するようです。
pixelvision8
今のところ製品版のみ?フリー版も近いうちにできるのだとか、、クローズドソースのようです。
Luaでゲームを記述します。
$7.49くらい
UnicornConsole
MITライセンス
400x240の解像度、32bit色、3200個の8x8スプライト、400x60セルのマップをサポート。
Rust, JavaScript, Python, Luaでプログラムを作ることができます。
組み込みの画像、サウンド、コードディタ
様々な環境で動作するように設計されておりSDL2, libretro, web, androidなどで利用できます。
pico-8のカートリッジも読み込めるようです。 (おそらく)
ここ1年くらいは更新されていないのが気になります。
tako80
ブラウザで動作するFantasyComputer。オープンソースで無料。
ゲームはJavaScriptで記述する。コードエディタやスプライトエディタは同梱されていないので、今まで紹介したものとはちょっと毛色が違う。ゲームライブラリという位置づけのようにみえるので、enchant.jsなどに近いものかな?
2年前から更新されていないのが気になります。
basic8
b8 | BASIC8 - The Fantasy Computer/Console!
有償の8bitゲーム開発環境
解像度は160x128、2チャンネル音楽と4つのサウンドエフェクト、16色パレット
BASICで開発できる。
開発環境はリッチなGUIで構築されているのが他のFantasy Computerとの大きな違い
script-8
JavaScriptで動作するFantasyConsole。ブラウザ上で動くコード、グラフィックス、マップ、エディタ
作ったゲームはブラウザ上で動作する。
ダークな淡い感じの固定色の8色パレット、60FPS
lowres-nx
160x128の解像度、64個の32x32スプライト、6bitの8色パレット、4チャンネルのサウンド
プログラムはBASICで記述する
コード、画像、サウンドエディタが組み込まれている。iOSやmacOS、Windowsで動作する。公式ページではWebブラウザでもゲームが動いている。
ここからダウンロードできる↓
pix64
これはちょっと毛色の違うゲーム開発環境です。
プログラムを書く必要はなく64x64のpngファイルを用意するだけでゲームが開発できます。
秘密は「色」で、色に応じて「敵」や「プレーヤー」「壁」などを表現してるようです。
pyxel
最近話題のPythonで動くゲーム開発環境。
固定色の16色パレットで、4チャンネルのサウンド出力をサポートしています。
キャラクタエディタやマップエディタ、サウンドエディタが組み込まれています。
全部入りのFantasy Computerというよりは、Pythonのゲームライブラリというほうが正確だと思います。
MakeCode Arcade
Microsoftが提供しているゲーム開発環境
Blockyを使ったビジュアルプログラミングや、JavaScriptを直接記述することでWebブラウザ上でゲームを作成・公開することができます。
いくつかのハードウェアでも作ったプログラムを動かすことができるようです。
まとめ
8bitな感じのゲームを8bitな感じの統合開発環境で作るというFantasyConputerと呼ばれる分野のソフトを紹介しました。
ゲームを作ることと、ゲームを遊ぶことが一つのソフトでできるというのはゲームを作りながらプログラミングを学んだ僕にとっても、とても親近感の沸く思想です。
プログラミングに興味がある人は、まずは人の作ったゲームを遊ぶところから始めてみてはいかがでしょうか?
参考
良いまとめがありました: GitHub - paladin-t/fantasy: A curated list of available fantasy consoles/computers.
更新
- 2019/03/10 最新の情報に更新しました