Hello, World書いたりDoom入れたりいろいろ遊んだ
Next Thing co.のPocket C.H.I.P.は、同社が展開する安価・小型なボードサイズのコンピューターC.H.I.P.をベースに、フルキーボードとタッチパネルなどをつけて携帯ゲーム機風のポータブルコンピューターにしたもの。69ドル(先行予約価格はさらに安い49ドルだった)と安価なこともあって、大きな話題を呼んだ。
発売開始直後は人気殺到で発送スケジュールの遅延などが起こっていたが、それもやや落ち着き(先行出荷されたクラウドファンディングではなく)国内で新規注文した人にも順次届き始めている様子。記者も入手して1ヶ月以上テストしてきたので、実際どんなハードなのか実践も含めてお伝えしよう。
ゲーム機というより、ARMベースのLinuxマシン
さてPocket C.H.I.P.は、一種のゲームエンジンであり仮想ゲームマシンでもある『PICO-8』の専用バージョンが同梱されているためにゲーム推しのプロモーションがされてきたが、その正体はARMベースのCPUを持つLinuxマシンだ。
ハードウェア的には、土台となったC.H.I.P.がRaspberry Piのようなシングルボードの小型コンピューター(なんと9ドル)であるのに対して、タッチ機能付きのディスプレイとキーボードとバッテリーが組み込まれた、完全に単体で動作可能なマシンとなっているのが大きな違いとなる。
■基本スペック
CPU: 1GHz ARMv7
GPU: Mali 400
RAM: 512MB
ストレージ: 4GB
OS: Linux 4.3カスタム+Debian 8 (Jessie)
ディスプレイ: 4.3インチ 480*272ピクセル
入力: QWERTYキーボード+タッチパネル
通信: Wi-fi、Bluetooth
その他: USB端子(拡張用)、マイクロUSB端子(充電用)、GPIOポート、ヘッドフォンジャック(TRRS)、3.7V LiPoバッテリー(最大5時間動作)、鉛筆を挿して筐体を立たせる穴
同梱ソフト: Pico-8(ゲーム/ゲーム開発)、Sunvox(作曲ソフト)、Leafpad、nano(テキストエディター)、PCManFM(ファイルマネージャー)ほか
弄ってなンボ! ガリゴリカスタマイズしてこその魅力
では実際、使ってみてどうなのか? まず単刀直入に言っておこう。この製品は万人向けではまったくない。一般的な快適性の点で、この製品に足りないものを挙げていったらキリがない。例えば致命的になりそうなものだけでも……。
難点1:キーボードは確かにひと通りのキーが揃っているものの、ペコペコして非常に押しにくい。
難点2:タッチパネルは感度が微妙で、解像度も480×272ピクセルしかない。
難点3:CPUは1GhzのArm v7で処理能力が限定されている。
難点4:Webブラウザーが見当たらず、デフォルトでは日本語入力すらできない。
難点5:一見ファンシーな作りだが、シェルコマンドをガリゴリ使わないと真価を発揮しない。
難点6:デフォルトではMP3を再生するのすら苦労する。そもそもスピーカーがついていない。
といった感じで、これがもし一般向けの製品だったらレビュー大炎上間違いなしといったところ。しかしPocket C.H.I.P.は中身を弄れない専用機ではなく、Linuxマシンであるからこそ、(不可能を可能にするとまではいかないが)カスタマイズによって「できること」を増やすことはできる。
そしてちょっとマゾ的な感覚になってしまうが、「何ができない」というよりも、むしろその制限の中で使いこなすことに魅力を感じる人にとって面白いハードウェアなのだ。先に挙げたような難点も、英語の公式フォーラムなどをいろいろ調べて慣れてくると、解決できるものとできないものがいろいろと見えてくる(というわけで、英語を読むのもシェルコマンドを使うのも苦痛という人はまったく向いていない)。
例えばキーボードやタッチパネルの限界は、USBキーボードを接続したり、適当なスタイラスペンを使ったり、VNCサーバー(x11VNCなど)をインストールしてWindowsやMacマシンのVNCクライアント経由でアクセスすることで、ある程度回避できる。シェルや『PICO-8』に長いコマンドやソースコードを読ませたいだけなら、テキストファイルを用意してUSBドライブに入れ、テキストエディター経由でコピペするだけでもなんとかなったりする。
あるいはサウンド面については、イヤフォンジャックにイヤフォンやヘッドフォンを突っ込んで使うのが一般的な方法だが、スピーカーを付ける方法が公式ブログで公開されているので、人によってはハードウェアハックの練習としてやってみるのもアリ。
何かソフトウェアがないというケースは、代替になるものを探せばなんとかなったりする。例えばWebブラウザーは、実はSurf(軽量なブラウザーの一種)が初期状態でインストールされていて、これを使うこともできるし、キーボードショートカットで使えるdwbをインストールするスクリプトを公開している人もいる(ただし使用は自己責任で)。
同様に、MP3ならMOC(Music on Console)、動画ならmplayer、日本語入力ならibus-anthyといった具合に、カスタマイズを詰めていけば意外と使えるソフトはある(ただしanthyは日本語入力は確認できたものの、常用できるような設定まではやっていない)。
まぁ、実用するかというと「できたのが嬉しい」のが大半で、スマートフォンで手軽に出来ることはスマートフォンでやった方がいいと思うが、Pocket C.H.I.P.からSSH経由でサーバーを再起動したりすると、映画「サイバーネット」(原題Hackers)に出てくるようなボンクラパンクハッカーみたいな感じになれると思うので、非常によろしいのではないだろうか。
PICO-8で“Hello, World”魔改造してみた
ハード的な限界をふまえた上で、お次はプリインストールソフトの『PICO-8』について紹介していこう。吉祥寺のカフェ兼レンタルスペース“ピコピコカフェ”も運営しているLexaloffle Gamesによるこのソフトは、ゲームエディターを内蔵していて128ピクセル×128ピクセルの小さなゲームを作れるだけでなく、『PICO-8』を使って世界中の人が制作したゲームをプレイ・シェアしたり、さらにコードを弄って改造できる“ファンタジーコンソール”を名乗っている。
公式サイトでPC/Mac/Linux版が単体販売されており、価格は約15ドル。本体にこれがついてくるだけでもかなりお得な感じ。ちなみにPocket C.H.I.P.版は専用にカスタマイズされたもので、公式で販売されているLinux版とは異なるのでご注意あれ。
エディター機能は、プログラムコードを書くコードエディター、キャラクターや背景パーツなどを描くスプライトエディター、背景パーツを並べてマップを作るマップエディター、効果音などを作るサウンドエフェクトエディター、最大4音のエフェクトパーツを並べてBGMを作れるミュージックエディターの5パートから成り立つ。
基本的にはドット絵の2Dゲームに特化していて、プラットフォームアクションゲームなどが比較的作りやすいのだが、中には魔術的としか言いようがないプログラミングテクニックを駆使して3Dゲームを作ってしまう人もいる。
さまざまなゲームがLexaloffle Gamesの公式BBSを通じてアップロードされており、『PICO-8』のエクスプローラー機能である“Splore”モードを通じて閲覧・プレイ可能。「これどうやってるんだ?」と思えばすぐにエディター機能に移ってソースコードや用意された各パーツをチェックでき、自分で部分的に改変ができるので、ゲームを遊びながらテクを覚えていくことができる。
コードエディターでプログラムを記述するのに使うのは、Luaと呼ばれるプログラミング言語をベースにしたもので、初心者でも比較的ソースコードを読みやすい。さらに『PICO-8』は少しパラメーターを弄っただけでもすぐに結果を確認できるので、弄っていても楽しい。誰もが一度は通る最初のプログラム“Hello, World”を改造していったらあっという間に時間が過ぎていた(その結果は恥ずかしながら全世界公開してあり、Webで再生できる)。
なお『PICO-8』での開発を勉強するには、公式マニュアルを参照しつつ、『PICO-8』作者のZep氏も寄稿している半公式の同人誌“PICO-8 Fanzine”に登録されているサンプルコードなどを試していくといいだろう(PDF版が無料で公開されており、第1号のみ日本語訳もされている)。
さらにゲームを遊べないか追求してみた
『PICO-8』だけでもゲーマーとしていろいろ遊べるが、ゲーム媒体としてはもうちょっとゲーム用途の幅を広げられないか探りたい。というわけでいろいろインストールしてみた。ここで注意しておきたいのは、先に書いたような解像度の制限以外に、Linux版が存在するゲームでも、Pocket C.H.I.P.が搭載するARMチップでの動作は対象外であることが多いということ。例えばSteamクライアント自体もLinux版があったりするが、x86系のチップ専用となっている。
まずは公式ブログにも公開されているように、FPSの始祖のひとつ『DOOM』を動かすことができる(厳密にはソース移植されたPrBoom版。なお公式ブログに書かれている大半の手順はホームスクリーンを書き換えるためのもので、ゲームのインストールだけなら4番だけ行えばいい)。
ちなみにPocket C.H.I.P.はマウス代わりにタッチパネルを使っているので、Pocket C.H.I.P.のものにせよUSBキーボードを繋ぐにせよ、キーボード操作だけでプレイする場合はオプションで左右キーをStrafe Left/Right(横平行移動)ではなくTurn Left/Right(左右回転)に割り当てるといい。FPSの最初期はマウスを使わずにTurnで方向転換してプレイする人も多かったので、ある意味由緒正しい操作方法だ。
また、MS-DOSエミュレーターのDOSBOXをインストールして、DOSゲームを遊ぶのにもトライした。GOG.comなどで販売されているDOS洋ゲーはDOSBOXを使って動作させていることが多く、元のゲームファイルを取り出してPocket C.H.I.P.にインストールしたDOSBOXに放り込んでみたところ、意外と動くのだ(一応書いておくと、購入したゲームファイルをプログラム一枚噛ませて起動しているだけなので完全に合法)。
しかし、動作具合はまちまち。2015年に技術的興味でDOS版を作ってしまった酔狂なインディーゲーム『Retro City Rampage』(PC版を購入するとDOS版そのものがついてくる)は超低フレームレートでの動作で、FPS『Duke Nukem 3D』の前前作である初代『Duke Nukem』はプレイ可能だが、サウンドがガタガタ。いずれも現状のサウンドドライバと相性がよろしくないらしく、完全動作とは行かなかった。ゲーム自体は表示できているので、サウンドドライバがアップデートされるか、設定を切り詰めていくことで改善できるかもしれない。
同じように、エンジン部分が移植されているものであれば、例えばルーカスアーツのアドベンチャーゲームに使われていたScummエンジンをエミュレートするScummVMを使って『Beneath a Steel Sky』(2003年に無償公開された)などを起動することもできる(ただし解像度や入力の関係でちゃんとプレイするのはちょっと難しい)。
ARMチップのマシンでネイティブ動作するようにコンパイルされたものであれば、“ローグライク”の語源となったダンジョン探索RPG『Rogue』や、『Tumiki Fighters』(日本のフリーゲーム作者ABA Gamesによるタイトルを移植したもの)などがそのまま動作可能。『OpenXCOM』や『OpenTTD』といったオープンソースのクローン系ゲーム(前者は『X-Com: UFO Defense』の、後者は『Transport Tycoon Deluxe』のクローン)なども、それぞれコンパイル環境を整えたり、サウンド機能をオフにしたりといった調整は必要なものの、プレイすることができる。
というわけでタイトル豊富で快適なゲーミングライフというわけにはいかないが、こちらもなかなか掘りがいがある感じ。動作可能なソフトやカスタマイズ法などについてはフォーラムで随時アップデートされているので、所有者の人は定期的にチェックするのをオススメしたい。