新しい言語をつくる

池田大輝
·
公開:2025/6/8

プログラミング言語Rubyの生みの親である、まつもとゆきひろという人がいる。通称、Matz。マッツ・ミケルセンはMadsである。Ruby自体は学生時代に興味を持って少し触っていた。卒業研究のプログラムもRubyで書いた。最近はあまり使うことがない。

私はMatzのキャリアや生き方が好きで、ときどきインタビュー記事を読んだりする。簡単に言えば、プログラマとしてキャリアをスタートしたものの、仕事が暇になり、片手間にRubyをつくって発表したら、いつの間にか世界的なプログラミング言語にまで成長した、というもの。調べるとたくさん記事が出てくるのでぜひ読んでみると良い。最近公開された記事を貼っておく。

Matzはプログラマであるが、Rubyをつくり始めた当時の興味はむしろ言語とか心理学とか、そういう方面にあったという。そこにプログラミングが加わって、プログラミング言語をつくることになった。

プログラミング言語をつくりたいだなんて、普通の人は思わないだろう。Matz本人も「普通の人がやらないことをやったほうが良い」とさっきのインタビューで語っている。私も、言語をつくりたいだなんて思ったことはない。言語とか言葉とか、そういうものに興味がなかった。自分は理系の人間だから、数学とか物理とか、あとは昔は映画監督を目指していたから、映像演出とか、そのあたりが興味の中心だと思っていた。

ここ数年で、恋愛ゲームをつくるようになった。きっかけはほかのエッセィに何度も書いているので適当に参照してほしい。恋愛ゲームをつくりたいと思ったことは一度もなく、気がつけばすでに4作が出来上がっている。これからもつくり続ける予定だし、今もつくっている。

それまではずっと自分は映画の人間だと思っていた。映画監督になることが至上命題であり、業界の一員になるためにコンテストに応募したり業界人に突撃したりしてきた。けれど、思うように結果は出ず、仕方がなくゲーム会社に入り、今に至る。だから、恋愛ゲームをつくっていることは私にとっても不思議であり、この怪奇現象をどうすればうまく説明できるか、日々考えている。こうしてエッセィを書いているのもその一環。

話を戻すと、映画を志していた頃からMatzには興味があった。Rubyがなんとなく好きだったし、Matzという人の生き様にもどこか感ずるものがあった。けれど、映画とプログラミング言語ではあまりにも接点が無さすぎるし、せいぜい「Rubyでちょっとしたアートを描いてみよう」くらいのことしか思い付かなかった。

そこへ、恋愛ゲームをつくったことで、私の創作とMatzの生き様に多少の共通点が見えてきた。最初につくった恋愛ゲーム『さくらいろプリズム』には3人のヒロインが登場する。柏木葵、明石澪、須磨初音。このゲームが世に出なければ、彼女たちの名前も存在することはなかった。言い換えれば、ゲームをつくったことで、柏木葵、明石澪、須磨初音という「語彙」がこの世界に添加された。語彙だけではない。葵は、主人公・賢木光のクラスメイトであり、幼馴染である。澪は光の後輩で、初音さんは先輩。3人とも、光が部長を務める写真部の部員になる。これらの「関係性」は、言語における「文法」とみなすことができなくもない。

キャラクラーが増えると楽しい。業務委託でシナリオを書かせていただいた『制服カノジョ まよいごエンゲージ』を含めると、これまでの作品で登場したキャラの総数はゆうに20を超える。立ち絵のないモブキャラを含めるともっと多い。今後もさらに増える予定である。

キャラクターを増やすという発想は、映画をやっていた頃にはなかった。映画単体で完結していること、それがコンテストで認められることが大事だった。でも、きっとそれは私が本当にやりたかったことではなかったのだと思う。当時からそれはわかっていた。けれど、映画業界に入るためにはそれしか方法がなかった。

恋愛ゲームをつくったことで、キャラクターが増える楽しさを知った。たくさんのキャラクターがわいわいしているのを眺めているだけで楽しい。シナリオを書くのも楽しいけれど、書くというよりも観察しているのに近い。保育園で、園児たちの行動を連絡帳にまとめているようなものだ、と言うと、キャラのみんなに怒られそうである。

そういえば、MatzもRubyをつくるときに「書いていて楽しいプログラミング言語をつくりたい」と言っていた。やっぱり、案外、モチベーションは似ているのかもしれない。言語そのものは価値を生まない。言語はフレームワークであり、世界そのものみたいなものだ。世界をつくり、そこに息づく命を観察する。そういうことを、ずっとやりたかったのかもしれない。

@radish2951
恋愛ゲーム作家。エッセィを毎日更新しています。恋愛ゲーム『さくらいろテトラプリズム』をよろしくお願いします。 daiki.pink