ブレーンストーミング。小説の書き方とWebアプリの作成の作法を対応させて、小説を段階的に書く手法を確率する。小説の登場人物はWebアプリのDBテーブルに見立てる。小説のストーリーはWebアプリの機能に見立てる。このようにした場合、具体的な小説を例に分解してみてほしい。例えば、夏目漱石の「三四郎」でやってみて。

 

これはかなり面白いです。

ただし、私はあなたの現在の発想を、

キャラクター = DBテーブル

ストーリー = 機能

という対応だけで終わらせない方がよいと思います。

むしろ、

 

小説開発 ≒ Webアプリ開発

 

として工程全体を対応させると、かなり強力な執筆OSになります。

まず「三四郎」を使って分解してみます。


最上位:システム要件

Webアプリなら最初に

 

何のためのシステムなのか

 

を決めます。

例えば

 

勤怠管理システム

書籍販売システム

チケット販売システム

``

 

など。


三四郎の場合は

 

system_name: Sanshiro

 

purpose:

青年を成長させる

 

output:

青年の精神的変化

 

になります。

つまり三四郎は、

 

恋愛小説

 

ではなく、

 

青年成長シミュレーター

 

と見なす。


DB設計

ここであなたの発想を使う。

人物はレコードではない。

人物はテーブル。


Sanshiroテーブル

 

Sanshiro:

 

pure

curiosity

love

confusion

growth

 

三四郎という概念。


Minekoテーブル

 

Mineko:

 

beauty

freedom

mystery

distance

unattainable

 

美禰子という概念。


Hirotaテーブル

 

Hirota:

 

wisdom

skepticism

philosophy

observation

 

広田先生という概念。


ここが重要。

各テーブルは

 

人間

 

ではなく、

 

機能的概念の集まり

 

です。


機能設計

Webアプリでは次にユースケースを書く。

例えば

 

ログイン

商品購入

投稿作成

 

など。


三四郎では


機能1

 

青年上京機能

 

 

move_to_tokyo()

 


機能2

 

謎の女性遭遇機能

 

 

meet_mineko()

 


機能3

 

思想注入機能

 

 

meet_hirota()

 


機能4

 

恋愛失敗機能

``

 

 

lose_mineko()

 


ここで重要な発見がある。


ストーリー = 機能呼び出し列

普通は

 

物語

↓

出来事列

 

と考える。

しかしWeb方式だと

 

機能A

↓

機能B

↓

機能C

↓

機能D

 

になる。


三四郎全体は

 

move_to_tokyo()

 

meet_mineko()

 

meet_hirota()

 

grow()

 

lose_mineko()

 

の実行ログとも言える。


シーンはUI

これがさらに面白い。

多くの小説論では

 

シーンを書く

 

から始める。

しかしWeb開発ではUIは最後。


例えば

 

meet_mineko()

``

 

という機能がある。

そのUIが

 

列車内

池の周辺

散歩

 

になる。


つまり

 

機能が先

シーンは後

 

である。


三四郎をシーケンス図で見る

Webシステム風に書くと

 

Sanshiro

|

| 上京

v

Tokyo

 

Sanshiro

|

| 遭遇

v

Mineko

 

Sanshiro

|

| 相談

v

Hirota

 

Sanshiro

|

| 恋愛

v

Mineko

 

Mineko

|

| 離脱

v

 

Sanshiro

 

になる。


長編になる理由

ここがあなたの理論の核心。


もしテーブルが

 

Sanshiro

Mineko

``

 

だけなら短編。


しかし

 

Sanshiro

Mineko

Hirota

Yojiro

Nonomiya

Professor

Friend

`

 

になると、

テーブル同士の連携が爆発的に増える。


Webアプリでも同じ。

 

users

 

しかなければ単純。


しかし

 

users

posts

comments

likes

notifications

messages

 

になると急激に複雑になる。


つまり、

 

登場人物が増える

 

とは

 

テーブル数が増える

 

ではない。

本質は

 

JOIN可能性が増える

 

こと。


本文は何か

ここでさらに一段下へ降りる。


Webアプリなら

 

DB

↓

機能

↓

画面

 

で終わる。


小説では

 

DB

↓

機能

↓

シーン

↓

文章

 

がある。


つまり本文は

 

実装コード

 

に近い。


例えば

 

meet_mineko()

 

だけでは作品にならない。

その処理内容を

 

三四郎は池の岸を歩いていた。

そこへ美禰子が現れた。

 

と文章化する。


執筆OSとして整理

すると小説を書く工程は、

かなり自然に

 

1. システム目的

↓

2. テーブル設計

↓

3. 機能設計

↓

4. 機能呼び出し順

↓

5. UI設計(シーン)

↓

6. 実装(文章)

 

になる。


三四郎を完全に一行で表すと

あなたの理論で三四郎を表現すると、

 

Sanshiroテーブルに対して

 

Minekoテーブルと

Hirotaテーブルを

 

特定順序でJOINし、

 

青年を成長状態へ遷移させるアプリケーション

 

になる。

そして夏目漱石は、

文章家というより

 

青年成長アプリのシステムアーキテクト

 

だったと解釈できる。

このモデルの面白い点は、Roblox開発とほぼ同じ設計手順に落とし込めることです。

 

NPC設計

↓

能力設計

↓

イベント設計

↓

クエスト設計

↓

マップ設計

↓

セリフ実装

 

が、

 

登場人物設計

↓

概念設計

↓

ストーリー機能設計

↓

シーン設計

↓

背景設計

↓

文章実装

 

にそのまま対応します。

つまり小説を書くとは、「文章を考えること」ではなく、

概念テーブル群とその相互作用を設計し、その実行ログを自然言語にレンダリングすること

だと考えられます。これはかなりOS的で、あなたの構造主義的な発想に合うモデルだと思います。