8bitなゲーム環境Fantasy Computerをまとめてみる

Fantasy Computerとは

(おそらく)PICO-8PICO-8: FANTASY CONSOLE)というソフトウェアが言い出した概念のようです。Fantasy ComputerやFantasy Consoleとも呼ばれたりするようです。

低解像度、少ない色数の画面で、ゲームの実行のみならず、プログラミングや画像や効果音、BGMの作成までできてしまうという、ミニマルなゲームの統合開発環境(兼実行環境)です。

ゲームはLuaで記述します。ブラウザ上や、PC、RaspberryPi、PocketCHIPなどで作ったゲームを動作させられるようです。

 

f:id:inajob:20170702092903p:plain

f:id:inajob:20170702092951p:plain

開発するためには有料のソフトを購入する必要があるようですが、ブラウザで遊ぶ分には無料のようです。

 

IchigoJamも似たような感じですが、PICO-8はPC上で動作するソフトウェアで、CPUやメモリはマイコンよりは緩いようです。

Cloneたち

Fantasy ComputerであるPICO-8は商用製品で、かつオープンではありません。また統合開発環境という性質上、自分の独自機能を実装した派生形を作りたい人たちも多いようです。

 

ということで、PICO-8以外にもいくつかの類似したソフトウェアがあります。

TIC-80

nesbox.itch.io

 ブラウザでも動作するFantasy Computer。オープンソースで開発されています。Pro版というのが存在するようで、テキストファイルでのSave,Loadやメモリバンクの拡張などができるようになるようです。

Lua、Moonscript,Javascript, Wren, Flannelなどの言語でゲームを記述します。

画面解像度は240x136、16色ぱれっど 256の8x8スプライト、4チャンネルの音源 など

PICO-8のようにテキストエディタや、スプライトエディタ、マップエディタ、サウンドエディタが同梱されています。

FantasyComputerの中ではかなり活発に開発が進められています。

f:id:inajob:20170702093336p:plain

LICO-12

github.com

LÖVEというゲーム開発環境の上に実装されたFantasyConputerのようです。MIT Licence

Luaでゲームを記述します。作ったゲームはAndroidのLIKO-12でも動作するようです。

 

pixelvision8

pixelvision8.itch.io

今のところ製品版のみ?フリー版も近いうちにできるのだとか、、クローズドソースのようです。

Luaでゲームを記述します。

$7.49くらい

 

UnicornConsole

github.com

MITライセンス

400x240の解像度、32bit色、3200個の8x8スプライト、400x60セルのマップをサポート。

Rust, JavaScript, Python, Luaでプログラムを作ることができます。

組み込みの画像、サウンド、コードディタ

様々な環境で動作するように設計されておりSDL2, libretro, web, androidなどで利用できます。

pico-8のカートリッジも読み込めるようです。 (おそらく)

ここ1年くらいは更新されていないのが気になります。

f:id:inajob:20170702093831p:plain

tako80 

Tako 80

ブラウザで動作するFantasyComputer。オープンソースで無料。

ゲームはJavaScriptで記述する。コードエディタやスプライトエディタは同梱されていないので、今まで紹介したものとはちょっと毛色が違う。ゲームライブラリという位置づけのようにみえるので、enchant.jsなどに近いものかな?

2年前から更新されていないのが気になります。

f:id:inajob:20170702095040p:plain

basic8

b8 | BASIC8 - The Fantasy Computer/Console!

 

有償の8bitゲーム開発環境

解像度は160x128、2チャンネル音楽と4つのサウンドエフェクト、16色パレット

BASICで開発できる。

開発環境はリッチなGUIで構築されているのが他のFantasy Computerとの大きな違い

f:id:inajob:20190310112956p:plain

script-8

SCRIPT-8

JavaScriptで動作するFantasyConsole。ブラウザ上で動くコード、グラフィックス、マップ、エディタ

作ったゲームはブラウザ上で動作する。

ダークな淡い感じの固定色の8色パレット、60FPS

f:id:inajob:20190310115349p:plain

lowres-nx

LowRes NX

160x128の解像度、64個の32x32スプライト、6bitの8色パレット、4チャンネルのサウンド

プログラムはBASICで記述する

コード、画像、サウンドエディタが組み込まれている。iOSmacOSWindowsで動作する。公式ページではWebブラウザでもゲームが動いている。

ここからダウンロードできる↓

github.com

f:id:inajob:20190310113723p:plain

pix64

Pix64 by ZappedCow

これはちょっと毛色の違うゲーム開発環境です。

プログラムを書く必要はなく64x64のpngファイルを用意するだけでゲームが開発できます。

秘密は「色」で、色に応じて「敵」や「プレーヤー」「壁」などを表現してるようです。

f:id:inajob:20190310114622p:plain

pyxel

github.com

最近話題のPythonで動くゲーム開発環境。

固定色の16色パレットで、4チャンネルのサウンド出力をサポートしています。

キャラクタエディタやマップエディタ、サウンドエディタが組み込まれています。

全部入りのFantasy Computerというよりは、Pythonのゲームライブラリというほうが正確だと思います。

f:id:inajob:20190310115444p:plain

MakeCode Arcade

MakeCode Arcade

Microsoftが提供しているゲーム開発環境

Blockyを使ったビジュアルプログラミングや、JavaScriptを直接記述することでWebブラウザ上でゲームを作成・公開することができます。

いくつかのハードウェアでも作ったプログラムを動かすことができるようです。

f:id:inajob:20190310120546p:plain

 まとめ

8bitな感じのゲームを8bitな感じの統合開発環境で作るというFantasyConputerと呼ばれる分野のソフトを紹介しました。

ゲームを作ることと、ゲームを遊ぶことが一つのソフトでできるというのはゲームを作りながらプログラミングを学んだ僕にとっても、とても親近感の沸く思想です。

プログラミングに興味がある人は、まずは人の作ったゲームを遊ぶところから始めてみてはいかがでしょうか?

 

参考

良いまとめがありました: GitHub - paladin-t/fantasy: A curated list of available fantasy consoles/computers.

更新

  • 2019/03/10 最新の情報に更新しました