プログラムと小説
いつもは『マンガで分かるプログラミング用語辞典』を描いている、クロノス・クラウンの柳井です。松本清張賞の最終候補に残った私の小説が、文藝春秋から『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』として、8月27日に出版されました。
実はプログラムやその解説書などを書きながら、12年ほど小説の新人賞に投稿を続けていました。そして50作以上書き、試行錯誤していました。その間、プログラマーならではのアプローチで、新人賞の攻略に挑んでいました。
結局、賞を取れずにデビューとなりましたが、「プログラミングの経験を活かして異業種に挑む」というのは、CodeZineの読者の方々にも、興味のある話だと思います。というわけで、「プログラマーが小説を書くとは」というテーマで、以下の2点を書いていこうと思います。
- プログラマー的アプローチでの小説執筆
- 執筆手順とプログラマー的ツールの使い方
さて、上記の本編に入る前に「なぜプログラムと小説か?」という話をします。理由は「ゲーム」です。
私は子供時代、ゲーム少年でした。小学生時代は、ファミコンを買ってもらえず、友人の家で遊んだゲームを、家でボードゲーム化して遊んでいました。中学生から大学生の頃は、TRPG(テーブルトークRPG)にはまり、そのマスターをしながら、多くのシステムを作っていました。そして社会人になりゲーム会社に就職し、独立して会社を作り、最初に行ったことはボードゲームを作ることでした。
ここまで書くと何割かの人が、「なぜプログラムと小説か?」の理由が分かると思います。ゲームのシステム作りの部分が「プログラム」へと繋がり、ゲームの物語の部分が「小説」へと変化していったわけです。
なので私にとって、「プログラムと小説」は、根っこが同じ「ゲーム」の延長なわけです。そして、プログラムの方が先に仕事になり、小説はデビューまでに随分と時間が掛かりました。そのため、プログラマーとしての経験を活かして、小説に取り組むという流れになりました。そうした経緯で、異業種参入することになったわけです。
というわけで、私が「プログラミングの経験を活かして小説に挑んで学んだこと」を書いていこうと思います。
プログラマー的アプローチでの小説執筆
小説というコード
まず、プログラマーにとって小説とは何かという話をします。プログラマーにとって小説とは、プログラムのソースコードに該当するものです。
執筆者は、ソースコードとして小説を書きます。このソースコードは、読者の脳内でコンパイルされて即時実行されます。つまり小説においては、読者が「コンパイラ兼実行環境」なわけです。
このことは2つのことを意味します。「読者の脳で、コンパイルエラーが起きないようにコードを書く」こと、そして「読者の脳で、どういった実行処理が行われるかを想定してコードを書く」ことです。
読者が誤読する文章や、誤字脱字が大量にある文章は、コンパイルエラーが生じる文章というわけです。
また、グラフィックスのプログラムを書く際に、背景、中景、近景と描画順番を考えるように、小説の文章も、脳内にどのような情報を逐次与えていくかを考える必要があります。
こうした「小説の文章」を書く際には、気をつけたいことがあります。小説は、文字ベースのストリームデータです。この文字をどのように脳内で処理させるかによって、文体を作り、読者に読書体験を与えていくことになります。
そういう意味で、小説はインタラクティブなゲームよりも、音楽やアニメ、映画に近い媒体だと言えます。
上記を踏まえて、プログラマーが小説を書く上での目標を2つ書きます。
- 第一目標:読者の脳内コンパイラを通るコードを書く。
- 第二目標:読者の脳内で展開するための、文章、演出、物語の技法を磨く。