2014-02-07

『絶園のテンペスト』。世界の存亡をかけたフーダニット

絶園のテンペスト

唐突ながらふと『絶園のテンペスト』を全巻イッキよみしました。といっても10冊ですが。世事にすっかり疎くなってしまいましたがアニメ化もされてたのね。まーけっこう面白かった。

いわゆる「能力バトルもの」の一種で、登場人物たちの一部は「はじまりの樹」とよばれる超常パワーをもった世界樹のようなものから力を授かる魔法使いの一族。彼らは伝承に背き、ひとり反対する姫君を離島に封じ込め、かつて「はじまりの樹」によって封じられたという「絶園の樹」の復活を目論みます。普通の人間である少年ふたりがふとしたきっかけから、このお姫様とつながり、「はじまりの樹」と「絶園の樹」をめぐる戦いに巻き込まれる、といった筋立て。

こういう基本的な設定そのものは言ってしまえばありきたりですが(それでも能力バトルものとしては魔法使いの設定などはけっこうユニークではあります)、ぼく個人としては、ストーリーが不思議にロジカルな組み立てになっているところに面白さを感じました。登場人物たちは自らの行動原理や行動規範を明らかにしつつ行動しているのですが、それらがパズルのように組み合わさって物語が進んでいく面白さがあります(そういう意味ではきわめていびつな、というか、きわめて人造的な感覚の強い物語です。amazonのレビューでも不評がそれなりにあるのはこの辺が理由かなと)。

さらにこの「パズル」を成り立たせるキモとなるのが、この作品のキーでもある「はじまりの樹」の設定で、こいつは世界の成り立ちにかかわる世界樹のようなものであり、物事の因果すら操ることができることになっています。このため、とくに物語の後半においては、ごく普通の少年である主人公ふたりがこうした物語に関わり重要な役割を(結果的にだが)負うことになるからには、そうなるだけの理由があるはずだ(でなければそこには、「はじまりの樹」の力が及びづらい「絶園の樹」の力が関わっているはずだ)、という論理が成り立つことになります。

主人公ふたり滝川吉野とその友人の不破真広が物語にかかわる根本的な原因は、「真広の妹が何者かによって殺された」という理不尽でした。したがって、その死はただの強盗などではなく、何らかの理由があってもたらされたものでなければならない、ということになります。ではその死は誰によって、なぜもたらされたのか? この謎が物語後半を駆動するエンジンとなっていきます。

まあとはいえミステリとしては弱くて、真相自体は読んでいればふつうは予想がつくんですが、世界の存亡をかけた戦いが、ひとりの少女の殺害の謎に収束していくあたりの展開はなかなか良い感じ。

物語自体は9巻で終わって、最終巻はいろんなキャラの外伝的なストーリーになっているので(それにしても最近こういうの多いですね)、一般的には能力バトル+キャラクターの関係性を楽しむものとして読まれており、こういう読み方は邪道かもしれません、けどね。

2014-02-04

Sherlockシーズン3

日本でもすでにシーズン1と2は放映されているので皆様ご存知だと思いますが、シャーロック・ホームズの物語を現代風にアレンジしたBBCの人気ドラマ Sherlock のシーズン3です。まず英国で放映されていたんですが、米国にもやってきたので見ました。Google Play MovieAmazonで出てます。

いやぁ相変わらず素晴らしい。英語は相変わらず聞き取れないけど。

シーズン3は「空き家の冒険」をもじった第1話 "The Empty Hearse"、『4つの署名』からの第2話 "The sign of three"、タイトルは「最後の挨拶」で中身は「犯人は二人」の "His last vow" の3話構成。

あんまりネタバレせずに紹介するのは難しいけど、頑張ってみると……

第1話は、シーズン2の結末から2年が経過し、ついにシャーロックが帰ってきて再開するというストーリー。ちょっと残念なのは(ネタバレだけど)シーズン2の結末の「シャーロックの死」がどう演出されたのか、本当のところはわからずに秘密のままにしちゃったこと。そりゃーないよー。あのシーン、何度も見返してあれかこれかっていろいろ考えたのになー。

第2話は、ワトスンがついに結婚することになり、シャーロックはワトスンの best man (新郎介添人)として挨拶をする、というエピソード。その挨拶のなかで、シャーロック自身の直近の調査が語るが……というエピソード。ラストでわかるオチの意味がすばらしかった。

第3話は、チャールズ・オーガスタス・マグナスンなる怪人物とシャーロックが丁々発止の対決をすることになるというあらすじなんですが、うーん、これはなんというか、想像を超えた展開で驚きました。でもネタバレせずにあらすじを紹介するのは難しいなあ……。

今回の3話は、わりとひとつながりのストーリーになっていて、けっこう緊密に3話がつながっています。2話があってこその3話のこの展開になるし、もちろん1話を抜きにはできない。

それと少し雰囲気が変わったな、と思うところはあります。物語の主軸が、事件調査よりはシャーロックとワトスンやその周囲の人物の関係性を主に描くようになったかな、比重が変わったな、という気がします。

これ自体は悪い変化とも言えなくて、たとえば1話でシャーロックとワトスンが久々の再開をするシーンはどうしたって笑ってしまいますし、2話でワトスンがシャーロックに自分の結婚式の best man をやってくれるよう頼むシーンは、ちょっとぐっときます。ほんとうに良いシーンなんですよこれが。

もちろん、シャーロックの推理のシーンなど、微速度撮影やCGを駆使した無駄にカッコイイ映像表現は健在ですが。

今回だと個人的には第2話がお気に入りかなぁ。ワトスンの bachelor party で酒を飲みまくって泥酔したシャーロックが調査に乗り出すんだけれどもまったく役立たずになってるところはセルフパロディっぽくて笑いっぱなしでした。ほかにも、結婚式の式辞からカットバック的に事件の回想が入っていき、最後に物語の解決までいきつくという凝った構成も光るし、最後の最後にタイトルの意味がわかるところもいい。

日本はさっそく5月には放映されるようですね。お楽しみに。

---

ちなみに一言だけ言っておくと。

このオチはねえよ! ぜんぜん終わってねえじゃん!

こちらからは以上です。

2014-01-25

Chromecastでお手軽wifiスピーカー

Chromecastというデバイスがあります。今日はそれを使ってちょっと遊んでみた、というもの。

Chromecastとは何か……というのはご存知の皆さんが多いのでかなりはしょりますが、下の写真のようなガジェットです。テレビに直接挿して使い、コンピュータや携帯電話のアプリから動画や音楽を流して試聴できる。
chromecast
対応サービスやアプリがまだ米国主体というのもあり、日本では未発売ではありますが、$35という低価格もあってこちらではそれなりに受けの良いガジェットのようです。ただ、動画とかをテレビで観るのはそれはそれで良いのですが、音楽だけなら画面いらんよなーとは誰しも思うところです。

というわけで今回はこのChromecastと Panlong HDMI Audio Extractor Decoder/Converter というコンバータを組み合わせます。こちらは HDMI を入力とし、画面出力は無視してオーディオ出力だけを出す、という、まさに今回の目的にうってつけのものです。
オーディオコンバータ
Chromecastと合体させれば、これだけでもう任意のスピーカーをwifiスピーカーにしてしまうことができるわけです。もちろん画面は出せませんけど、YouTubeで音楽を聴いたりとか、あとまあ音楽をGoogle Musicに上げてさえおけば、ふつうに音楽を流すぐらいはまったく支障ありませんね。
合体!
と、いうわけで、これを電源につなぎ、オーディオ出力の先に適当なスピーカーをつなぐと、どんなスピーカーでもあっというまにワイヤレススピーカーに!というわけですね(結線後の写真は省略します。ケーブルがごちゃごちゃして汚いので(笑))。

まだセットアップしたばかりで、あまりにも普通に音楽が聴けてしまっている状況のため感想も特にないのですが、これはかなりお手軽感があります。コンバータも思ったより小ぶりだし、Chromecastも小さいし。

もちろん、ワイヤレススピーカーなんてありふれてるといえばそうなんですが、どんなスピーカーでもワイヤレススピーカーにできてしまうという面白さと、それからChromecastは複数台から同時接続するのが簡単なんですが、その簡単さなどは魅力かもしれません。これはちょっとなにかあるかもしれない。気のせいかもしれないけど。

なおこのテクニックは比較的有名なようで、↑のオーディオコンバータのレビューでも Chromecast で使うと便利というものがあるし、なにしろ Frequently Bought Together が Chromecast になっておりまして、かなりメジャーなテクニックなようです。
どうでもいいけどこの組み合わせでHDMIケーブルはいらないよなー
ちなみに、Chromecastのセットアップは、いちおう画面を見て操作することが前提になっています。一番はじめはChromecastが画面にセットアップガイドを出すし、最初にコンピュータと接続してセットアップするためには、画面に出てくるランダムな数文字を確認して、あっているかどうかを確かめる必要があります。ただまあ、たまたま近所で同時にセットアップしている人がいない限りは、みずてんでオーケーしてしまっても、まあたいていは大丈夫なんではないかなあと思うわけですがいかがでしょう。どうしても気になるなら、はじめのセットアップだけはテレビを使えば良いかなとも思いますが。

まだ日本に来てないChromecastの話なんでアレですが、これはちょっと面白いなと思った次第です。

2014-01-19

天冥の標 7 新世界ハーブC



天冥の標7 新世界ハーブC

これは……「ギャルナフカの迷宮」?

前巻で「救世群」に追い立てられて主人公たちが逃げ込んだ先、その閉鎖世界のなかでどうにかあがいて生き延びていくという物語であり、ようやく1巻に続く設定が明かされることになるという7巻でした。閉鎖世界で生き延びるうちに国を作り上げていくというのは同作者の「ギャルナフカの迷宮」(『老ヴォールの惑星』所収)を思わせるところがあるなーとも思うんですが、いや、やっぱりそれなりに成熟した少数の大人で構成されていたギャルナフカとは違いますね。主に少年少女で構成される世界をスカウトたちがなんとか仕切ろうとして、けっきょくのところリソース不足からだんだんぐだぐだになっていくという流れは、なんというか、ため息しか出てこない。

それでいて物凄く嫌な話にはなっていないのがうまいところ。この手の話でわりと適当にごまかしがちな性愛の問題を、SF的な理屈をつけることでひとまず落ち着かせておいて物語を進めるところもうまいといえばうまい。

メニー・メニー・シープの正体については、それほど意外感はないというか、まあこんなところでしょうという印象が半分ぐらいなのだけれど、この巻で描かれる閉塞感と1巻の開放感のある感覚とはちょっとかけ離れすぎというか、やっぱりこう、ギャップが大きいようにも思える。小川一水本人自体の力量が7巻まで進むうちに上がってしまっているのも一因という気がするけれど。

しかしここから300年というのはちょっと盛りすぎたんじゃないですかね小川先生……。300年間も防衛できていたダダーがすごいよ。

設定的にも解決できない部分を残すことでヒキがあるのも気になる。次はようやく1巻以降の話ということになるんでしょうか。と思って1巻のラストを読み返したら、いやーこれは厳しいですねー……。この展開から続きってどうありうるんでしょうか。気になるところです。

2014-01-06

冬休みなのでNaClで遊んでいた


せっかくの休みなので仕事と関係ないことでもすっか、と思い、NativeClientで遊んでいました(微妙に関係するのかなこれ)。Google+で #冬休みの自由研究 というハッシュタグを勝手に作って適当にあれこれ書いていたんだけど、そういえばなぜか限定公開にしてたので誰でも見える状態にはなってませんでしたね……。

なのでブログで簡単に記録を残しておきます。

やったこと:GaucheをNative Clientで動かそうと四苦八苦して挫折。その後 chibi-scheme を動かそうとしたらあっさり達成

いちおうはじめから書きましょう。

NativeClient(通称NaCl)とは何か?

NativeClientは、ブラウザ(Chrome)のなかでネイティブコードを動かすためのモノです。SDKはカスタムメイドなCコンパイラでして、少し特殊なかんじのバイナリを生成します(nexeという拡張子がついています)。Googleが作ってます。

作ったバイナリは、objectやembedなどの要素でページに埋め込み、別プロセスで実行されます(この時にバイナリを検証します。で、NaClのコンパイラで生成したバイナリにはちょっとした制約があるため、セキュリティ的に問題のあるようなコードが動かない、つまり、サンドボックスを突破して利用者側に不利益のかかるような悪意のあるプログラムを配布できないようになっています)。ページのJSからは postMessage / onMessage を使ってやりとりするというかたちになります。

よくasm.jsと比較されることがあるのですが、個人的には性格が異なるかなーと思ってます。NativeClientは(特殊な調整がされているとはいえ)普通のELFバイナリなので、けっこういろんなことができます。pthreadでスレッドもあれこれできたり、環境によるけどdlopenできたり。asm.jsは最終的にはJSの意味論に落ちるので、やるのが難しいことがあるんじゃないかなぁと思うんだけどどうなのかなあ。

GaucheをNaClで動かす

そういうわけでNativeClientではネイティブコードが動くわけですが、実際の用途として想定されているのは、パフォーマンスが大事なエリアだけCで書いて頑張る、といったことかなと思います(そういうサンプルがSDKに添付されてるので)。だけど、こう、折角だからスクリプト言語とか動かすと面白いよね、と思う人はいっぱいいるようで、Ruby、Python、LuaについてはnaclportsというNaCl用のパッケージ集みたいなところに入っています。

で、Lisp系の言語はなかったみたいだしGaucheどうかなと、思ったわけです。うっかり。

目算はありました。というのは、GaucheはガベージコレクションとしてBoehm-GCを使っているわけですが、Boehm-GCはnaclportsに入っているのですね。だからそれほど問題はないのかなと思ったわけですが……。

naclportsのBoehm-GCが全然動かねえ!

という次第でありました。NaClもいちおう普通のELFバイナリではあるとはいえ、それなりにおかしなところもあるので、そう簡単な話ではなかったというわけです。

NaClが動かない場合のデバッグは大変で、いちおうSDKにはgdbが付属しているんですが、年末帰省でChromebookしかない状況だったため、gdbつきでNaClバイナリを動かすことが出来ません。デベロッパーツールを見るとクラッシュしたことだけがわかる(スタックトレースも何もわからない)という状態。

ただ、後述する方法によってstderrに書きだしたものはIPCを経由してconsole.errorとして吐き出されるようにできるということはわかったのが救いで、これを使ってprintfデバッグという超原始的な手法に着手しました。とはいえfflushしてもフラッシュしてくれないので、クラッシュするタイミングとIPCの調子によっては実行してるのにログが吐かれないということもあったりするため、何度もクラッシュさせてみて「ここまで出ることはあるからここで落ちているんだろう」と推測して、とかしていました。

そういう謎の苦労のすえにわかったのは、GCの初期化時の問題だということでした。Boehm-GCはマーク&スイープのルートオブジェクトの集合として、スタック上の変数とグローバル変数をとっているわけですが、どうやら Boehm-GC がグローバル変数の領域と思っているエリアがおかしい気がする。といったところに当たりをつけたぐらいで神のような方が教えを授けてくれたわけですが、まぁ要約するとこれは無理っぽいなと。

その辺は今後解決されることを期待しつつ #define GC_MALLOC malloc 的な手段で(メモリリークを気にせず)やろうかなとも思ったんですが、Gaucheはatomic_opsにも依存しているしGC_baseもあるし、ちょっとだけ手を入れる必要があるみたいだし、といったあたりで気力を失ってしまいました。

まあ、ふだんあまり触らないような低レイヤーの領域の知識がちょっとだけ増えたのでよかったかなと思います。

chibi-schemeをNaClで動かす

で、気分を変えてchibi-schemeを動かしてみることにしたわけです。chibi-schemeを選んだ理由は、scheme処理系のなかでは実装がコンパクトっぽい(と聞いたことがある)のと、自前のシンプルなgcを持っているので↑のようなしんどい目にはあわなくて済みそう、という理由です。

で、こっちは動きました。あまりにも簡単に動いたので逆に拍子抜けしたぐらいです。Gaucheは(というかGCは)なんだかんだで一週間弱ほど苦闘していたわけですが、chibi-schemeにはほとんど罠がありませんでした。

chibi-schemeはpnaclでも普通にビルドができたので、動作環境をふつうにウェブページとして公開しておきます→こちら

pnaclとNaClについて書いておくと、NaClは普通のネイティブコードバイナリを配布するものなのですが、いまだに利用環境に制限があり、通常のウェブページには埋め込めません。 Chromeアプリとして配布されたものでしか使えないのです。pnaclはportable NaClの略で、NaClと違ってネイティブコードでは配布されません。LLVMのビットコードを使ったpexeというファイルで配布され(よく知らないのであやふやな表現)、ブラウザのネイティブ環境に変換されて動きます。こちらはなぜか制限がなく、普通のブラウザでも――ってもちろんNaClに対応しているブラウザなのでChrome限定ですが――見ることができるようになっています。

ppapi_simpleとnacl_ioについて

さて、NaClで苦戦した「遊び」でしたが、多少はほかのことも習得できました。ここではppapi_simpleとnacl_ioを紹介したいと思います。

そもそもNaClのコードは、ちょっと特殊な構造になっています。はじめにこういう名前の関数が呼ばれる、こういうクラスのサブクラスを作っておくと、JSからpostMessageが届くとこのメソッドが呼ばれて、そのときの値はこれこれで、などなど。

ppapi_simpleはその辺のことを面倒見てくれる便利ライブラリで、NaClのSDKに添付されています。普通のCのint main(int argc, char* argv[])のような関数を定義し、PPAPI_SIMPLE_REGISTER_MAIN()というマクロでその関数を登録しておくと、「初期化する」とかいったこまごましたことをひと通りやってくれて、mainのなかでループを書いてメッセージを受け取る、といったことができます。メッセージを標準入出力をとして受け渡しするようなこともでき、REPLの実装などがラクになる感じです。stderrに出力するとconsole.errorになってくれるというのもppapi_simpleの機能だったような気がします。

nacl_ioはファイルIOのためのラッパーです。スクリプト言語を動かす場合、初期化するにしてもライブラリを読むにしても、どこかにあるファイルを読む必要があります。ところがこれが厄介でして、HTML5のfilesystem APIはNaCl用の独自のAPIを呼ばなければなりませんし、NaClバイナリと同じディレクトリにファイルでも置いておくかと思えばHTTPでフェッチしないといけないし、かなーりめんどうなわけです。

nacl_ioはディレクトリをマウントすることでその辺をラップしてくれる便利ライブラリです。"httpfs"という擬似ファイルシステムが指定できて、こいつを指定するとファイルをopenするだけでフェッチしてどうこうみたいなことをまるっとやってくれています。上で指定したchibi-schemeでもこれを使っているので、様々なライブラリをロードできますが、その都度ロードしているのでimportするとネットワークを感じます。

naclportsに入っているLuaやPythonなどでは、必要なライブラリファイルなどをまとめてひとつの .tar ファイルにしておき、これをhttpfsで開いてlibtarを使って(やはりnacl_ioでmemfsとしてマウントされている)ディレクトリに展開する、といったことをやっているようです。都度ロードはやっぱり遅いですからね。

そういうわけで、「NaClで遊ぶ」の一部始終でした。

2014-01-04

小谷田奈月『星の民のクリスマス』



星の民のクリスマス

第25回日本ファンタジーノベル大賞の大賞受賞作。結論から書いておくと、自分はけっこう気に入った。良いと思います。

ある歴史小説家が幼い娘のために書いたクリスマス童話。ところがその娘がその童話の世界に入り込んでしまう、というメタフィクション的なファンタジーだ。童話のほうはトナカイとサンタクロースとキツツキの子が出てくる可愛らしい掌編だが、この童話をベースにした「町」は長い歴史を持つ異世界になっており、サンタはいないし、トナカイもキツツキの子も象徴的い扱われている。そんな町に迷いこんでしまった娘と父親の歴史小説家によって引き起こされる騒動、とまあそんな感じの話。

設定的にはわりによくありそうなファンタジーという気がするが、この作品のユニークなところは、こういう構造のファンタジーとしては、童話がベースになった「町」が妙に現実的だというところだろう。もちろん常に雪が降っていて雪が光るといった設定は童話的なのだけれど、この町自体には長い歴史があり、民主的な政府があり、人々もふつうに生活をしている。クリスマスを意味する「贈り物」は町の重大なイベントだと認識されてはいるものの、それがなぜかといえば、贈るという行為が町と光る雪の維持に欠かせないものだという認識があるからであって、誰に、何のために贈るのかすら町の人々はわかっていなかったりする。配達員たちは世代交代しつつその任務を負っている。

町に住む登場人物たちも、それぞれに複雑な背景を背負っていて、味がある。なかでも味があるのは、トナカイの子の役を担うキャラクターだろう。幼いながらに高い知能を持ち、町の歴史に興味を持っているトリックスター的なキャラクターだ。そういうキャラクターだからこそ、町のいわば「創造主」である歴史小説家と邂逅することで物語が進んでいくというわけだ。

ただ、読んでいて感じたのは「よく書けていて面白いけれども、まあフツーだな」というものだった。上述したような設定は確かにひねってあるといえばひねってあるが、ものすごく斬新ということでもない。お話としてはよく出来ていて楽しく読めるが、突出してはいない。

だったのだけれども、最後まで読んで気が変わった。詳しくは書かないが、最後の最後でこの話にはメタフィクション的なオチがつくのだけど、そこが気に入った。メタっぽい構造だよなあと思いつつ読んでいるとオチそれなんだ!というのが心地よかった。

もちろんこのオチだけで評価するというのは正しくないと思うけれども、そういうわけで全体としてはぼくはけっこう気に入った。それがなくても、完成度の高いファンタジーだと思う。

2013-12-29

六冬和生『みずは無間』。もっと「SF設定」が必要


六冬和生『みずは無間』を読んだ。

第一回ハヤカワSFコンテスト受賞作、著者にとってもデビュー作であるような本書をけなすのはいかがなものかという向きもあるかもしれないが、個人的には本書はまったく受けつけなかった。

人格を転移して深宇宙を飛ぶ探査船となった主人公を語り手とした小説。自らの分身を作ってばらまいたり、はたまた独自の情報生命体を進化させてばらまいたり、その行く末の者たちとふたたび邂逅したり、といった独白から、主人公や人類の行く末、来し方が語られる。そこには、主人公の元恋人であったみずはが影を落とす……。

のだが。

自分はきわめて偏った読み方をしていると思う。が、ぼくは、読んでいて、とにかくこの本のディティールが気になって仕方なかった。著者は何を考えてこういう描写を書いたのかがさっぱりわからないのだ。

のっけから、漢字2文字の単語を「4バイト」と表現したりするところでのけぞった(こんな未来なのにUTF-16を使ってるの? まさかJISのコード体系はありえないよね)。それから、ごく序盤に出てくるフォン・ノイマン・アーキテクチャについては著者は完全に間違って理解している。

こうした間違いは瑣末なものだ。だが、それから先の展開についてはどうだろう。たとえば情報生命体にとって「切り刻まれ」あるいは「解剖される」とはどういうことなのか? 「食われる」とは? 著者は「情報」という言葉をどういう概念として捉えているのか? Dたちは、集合的な知性なのか、それとも個別集団がいて主人公とは代表者がコンタクトしているということなのか? 集合的な知性であれば、それが分派するとはどういうことか?

著者は、こういった言葉を、とくに深い考えもなしに書き連ねている。と、ぼくは読んでいて思った。

他にも気になることがある。たとえば身体的な比喩として、電位が云々、といった言葉が出てくる。それってつまり、主人公は電気で動くコンピュータなの? でも量子コンピュータだし、ナノマシン集合体みたいな感じになって形態や密度を変化できるよね? 粒子同士はどうやって相互作用し、形態を維持している? 粒子同士はどうやって通信している? 電位ということは、電波で通信しているのかな? だとすると、実態としてさしわたし1AU以上もあるようだけど、そうすると端から端まで情報が行き渡るまで8分とか10分とかかかってしまう。であれば、極めてゆっくりした反応を示す(数秒で考えることなど出来はしない)知性でなければ、おかしい。それとも周辺部はセンサであって、知性は適当な中核に宿っているのだろうか? 周辺部にはサブ意識のようなものがあって自律的に動作しつつ、それらを統合したものとして主人公があるんだろうか? だとするとそのような意識は、このような物語を語れるような存在なんだろうか?

細かい設定のひとつひとつについて言えば、説明なんてなんでもいいのだ。未知のフリーエネルギーでもいいし、なんか超光速通信でもいい。でも著者は、そういうディティールをすっぱり無視しているんじゃないか。そして、こういうディティールを積み上げていくと、この物語を成り立たせているものであるところの「登場するキャラクターたちのあり方」「行動が持つ意味」「コミュニケーションの取り方」などがまったく変わってしまう。それなのに、著者はそういうところに気を払わないで、不用意に電位とかAUのような述語や、「切り刻む」とか「食う」といった単純な表現を適当にちりばめてしまっている。

なので、ぼくとしては、ようするに著者は、そういう設定はなんも考えてないんじゃないか?と断定して読んだ。そしてそこが引っかかってしまってどうしようもなくなってしまった。

この本は、グレッグ・イーガン、特に『ディアスポラと比較されているようだ。確かに表層的な設定は似ているところがある。だが本質的には全く違う。

『ディアスポラ』の最初の章などは、大森望による解説ですら「わからない場合は読み飛ばすべし」などと書いてあるようなものだが、ぼくにはあれはわかる。でも、あれが万人向けだとはとても思わないし、読者がよんでまったく意味がわからなくても、読み手としては何の問題もない。イーガンの本を読む際に、扱われている題材を理解すべきだ、とは思わない。

だが、すくなくとも書き手であるイーガンのほうは、ああいう事柄を理解して書いている。もしかしたらその理解が間違っているかもしれないけれど、少なくとも自分がどういうことを書いているかということを把握して書いている。飾りじゃないのだ。

「ボーダーガード」という短編には量子サッカーというスポーツが出てくる。これが、読んでも「なるほどわからん」というものなのだが、実はイーガンのサイトで擬似的なものを遊ぶことができる(Javaアプレットで書かれてるのでぼくの手元の環境だと動かないけど……)。そして遊んでも「なるほどわからん」となる。だが、イーガンは自分でそういうゲームを作れるぐらいには「これがどういうものであるか」ということを把握しているということだ。読んでいてもそこは伝わる(読んでわからないのは「ほんとにそれ面白いの?」というところかもしれない)。

翻って本書で著者がやっていることは、そうした設定を深く考えることなしに、なんとなくかっこよさげな単語を貼り付けてハッタリをかましているだけのように思える。そこが個人的にはつらいポイントだった。

---

さて、このような批判を書くと、次のような反論が想像される。第一に、SFとはそういうふうにどこまでも考えぬいて書くようなものなのか? そんな原理主義的な読み方は硬直的ではないか? というもの。第二に、本書の核心はそのようなところにはないのだから、どうだっていいじゃないか? というもの。

実はその点については異論はないのだが、少しこちらの側の言い分を書いておく。

第一に、設定が曖昧でふわふわしたSFなどいくらでもあるのは確かである。でもだからといって、上で書いたようなディティールはただの難癖だろうとも思わない。確かに硬直的かもしれないが、そういうのは程度問題かなと思っている。

たとえば、こないだ読んだ小川一水の『コロロギ岳から木星トロヤへ』はとてもいい作品だった。この作品には「時間を移動するかわりに空間方向の移動に制限のある知的生命」というのが登場して地球人類と邂逅するのだが、この知的生命体の異質さの表現はかなりたくみである。小川一水がどこまで深く考えていたかはよくわからないし、仔細に検討すると矛盾もありそうな気もしないでもないが、読んでいる間にひっかかりを覚えることなく、その異質さを代表するようなシーンを組み込むことで、無駄なく丁寧に表現できている。それがただのハッタリだったとしても、ハッタリ力が高いので読者は楽しんで読むことができるということだ。

これもまた程度問題というやつでしかない。ぼく以上に詳細が気になる人は「コロロギ」もダメかもしれない。だけども、やはりぼくとしては本書のハッタリ力はきわめて脆弱であったと言いたくなる。

第二の点についてはまったくその通りで、正直なところこういったディティールはこの本の核心ではないのは確かだろうと思う(なのではじめに「偏った読み方」だと逃げを打っておいたわけだけど)。それはそうなのだけど、でも、そうであれば、どうしてこういう設定にしてしまったのか?とぼくは思ってしまう。

宇宙探査機、量子コンピュータ、ナノ粒子、情報生命体、などなどの要素は著者がわざわざ持ち出してきたディティールである。だから、それなりのハッタリ力をもってこういうディティールを押し通してほしいと思う。そして上に書いたとおり、細かい設定を考えていくと、描写されているシーンの成り立ちや展開や描写にも影響は出てくるはずで、そういうことを考えるのもSFの味というやつではないかと思う。

SFアニメとかに「SF設定」という役職の人がいる。アニメなんかだと、脚本家とかがストーリーを考えていくわけだが、そのストーリーの根拠となる設定部分を考えるのがSF設定だ。脚本家やスタッフが「こういうストーリーにしたいんだが設定を考えてくれ」という感じで下支えする根拠をひねり出していく仕事であるようだ。

そういう意味での「SF設定」が、本書は弱い。つまり、こういうストーリーをやる、設定のベースとしては、宇宙で人工知能の探査機にしたい、という基本コンセプトに対して、であればこういう設定ならこういう話になるんじゃないですか、という部分が弱く、結果的にディティールがひっかかることになったのではないか、と思う。