微小なパーツを組み合わせて、途方もない世界を構築していく。
実に気が遠くなる。
プログラミングの話である。
小学校の親子授業で、Viscuitというアプリを使って、簡単なゲームを作った。
キャラクターを作る、アイテムを作る、
上下左右に動かす、タッチしたら増える、消える、
ランダムに動かす、出現させる、ボタンを押すと特定の動きをする。
感覚的に使いやすいアプリだと思う。
それぞれのやり方は、説明を聞くとわかるのだ。
練習では、実際に動かすこともできた。
が。
それを組み合わせて、ゲームが成り立つようにする段階で、
途方もなさに、私はすっかり参ってしまった。
こうしたら、こう。
この場合は、こう。
プレイする際の動きの、ひとつひとつの条件が、
入れ子のように重なって、ようやく、
「方向操作をしながら進み、ランダムに出現した敵キャラとぶつかったら爆発する」
なんていう、一瞬の動きができ上がる。
一連の動きを作っているうちに、
「ん? 私はいま、なんの操作をプログラミングしていたっけ?」
と、現在地がわからなくなってしまうのだ。
学生時代を思い出した。
小論文を書いているうちに、いつのまにかずれる結論。
小説を書いているうちに、移りゆく結末と、破綻する構成。
いまの私が書く文章は、
「自分の感覚に沿って」
「シンプルなつくりで」
なので、構造がわからなくなることがない。
私の文章を構成する要素が、「私」しかないからだ。
小論文には、他者に決められた型がある。
小説には、自分以外のキャラクターの人生がある。
自分以外の感覚を、俯瞰で理解し、世界の整合性をとるのが難しかった。
プログラミングでも、私の頭の中では、これと同じことが起きているように感じる。
自分以外のものの枠組みを、感覚的につかむのが難しい。
完成したゲームで遊ぶことはできるし、まったくの他者の文章を、楽しんで読むことはできる。
けれど、私はそれを構築することができない。
プログラマーという職業を、改めて尊敬するとともに、
隣で黙々とプログラミングを続ける息子が、心底すごいなと思った話。
