きちんと考えないとだめ。
プログラムは、入力に対して決められた答えを返さなければならない。
だからテストを作ることができる。
対して、小説にはそれがない。
1 + 1が2にも10にもなるから。それは執筆者の意図次第。
でも、執筆者の意図通りであるならば、出来事が起こる前と後で、何かしらの変化があるはず。
それは、登場人物や、物語内や、あるいは読者の変化かもしれない。
少なくとも、執筆者はそのお話の中での「出来事」で何か変化を期待する。
それはプログラムと一緒じゃないかな。
メソッド sum は与えられた 引数の合計値を算出する。
シーンAは登場何かが起きて、次のシーンでは何かが変わっている。
入力があって、出力がある。
それは、個人的な考えかもしれないけど、メソッドチェーンに似ている。
my $story = $character->scean1->screan2->screan3...X
物語は、一連の流れによって作られている。
意味のない出来事なんて無い。全てに意味がある。
だから、物語を書くときは、その出来事の「意味」をきちんと考えなければならない。
そして、物語は「意味」の連続。
少年は戦いに敗れた。そこには意味がある。
だが、意味があると知っても、理解するだけでは、「なんの意味も持たない」。
流れとは、分割された「意味 = メソッド」であり、それらが「繋がって = チェーンして」一つの成果を結ぶ。
プログラムで言われるオブジェクト指向。
それは、複数の機能を、ひとつの目的のために集められたパッケージである。
正しく使えば、プログラムは意図したとおりに動く。
物語もそれと同じで、正しく意味を組み合わせなければ、物語の体裁を取らない。
誰かに、物語を伝えることなんて、できない。
物語はプログラムを組むのと似ていると僕は思う。
出来事を意味単位で分割し、正しく配置することで、物語は意図したとおりに動き出す。
プログラムだって、ちゃんと考えて作らないと、動かないでしょう?
物語も一緒です。人を楽しませるには、まず設計をちゃんとしないと。