物語(昔話)のプロットを自動作成しちゃう方法!
【ご注意】プロット作成のとっかかりを横着して自動化しただけの冗談ツールです、けっしてこれで名作が書けるわけではありません。アマチュアはツールを過信しないこと! プロはこんなダサいツールを使わないように!w
※有料設定にしときましたけど無料でほぼ読めます~☆
はじめに
それは昔々、旧ソ連にウラジミール・Я. プロップという民話研究家がいました。氏はロシアに伝わる多くの昔話と魔法話を分析し、いくつかの要素の組み合わせで多くの民話のストーリーが構成されていることに気が付いたのです。今で言う構造分析ですね。
話を戻して、ウラジミールさんが著した『昔話の形態学』という本には、
https://www.hanmoto.com/bd/isbn/9784891762087
下にしめすような31個の構造の組み合わせで物語ができると書かれています。
昔話の構造・31の機能分類
↑に書かれている「物語の機能」が、うまく並んでいるのがいわゆる「プロット」なわけです。
この1~31までがずーっと続いていてももちろん大作の物語が作れるわけですが、そこまで長大だとたいへんなので、それぞれの項が1/2の確率ででてくる
昔話プロットメーカー(GoogleDoc版)
というのをつくってみました。
↑のリンクをブラウザで開くと、上の31項目がランダムにでてきます。
ぽちぽちリロードするだけでいろんなパターンが表示されるので、これをみてるだけでもなかなかおもしろかったりします。(やってみてねw)
昔話用のプロットだけれども、なーんにもかんがえずに大体のプロットができてしまうので、けっこう重宝していますw
※このあたりは、拙著
↑の中に書かれていますので気になる方は読んでみてくださいー☆
昔話プロットメーカーPython版
で、今回、ネットやブラウザが使いにくい環境(はっきり言っちゃうとポメラw)で実行するために、さくっとPythonで作りなおしてみました。
まずもとになる物語の機能ファイルを
# (不在・留守) 家族の一人が家を留守にする
# (禁止) 主人公にあることを禁じる
# (違反・侵犯) 禁が破られる
# (探りだし) 敵が探りをいれる
# (漏洩) 敵が犠牲者について知る
# (悪計) 敵は犠牲者またはその持ち物を入手するために、相手をだまそうとする
# (幇助) 犠牲者はだまされて、相手に力を貸してしまう
# (敵対行為) 敵が家族のひとりに、害や損失をもたらす
# (仲介・連結の契機) 不幸または不足が知られ、主人公は頼まれるか、命じられて、派遣される
# (始まった反作用) 探索者が反作用に合意もしくはこれに踏み切る
# (出発) 主人公は家を後にする
# (寄与者の第一の機能) 主人公は試練をうけ、魔法の手段または助手を授けられる
# (主人公の反応) 主人公は将来の寄与者の行為に反応
# (調達) 魔法の手段を主人公は手に入れる
# (二つの王国間の広がりのある転置、道案内) 主人公が探しているもののある場所に、運ばれ、つれて行かれる
# (戦い) 主人公とその敵が直接に戦いに入る
# (照準) 主人公が狙われる
# (敵の勝利) 敵が勝つ
# (不幸または欠落の除去) 初めの不幸または欠落がとりのぞかれる
# (帰還) 主人公は帰還する
# (迫害、追跡) 主人公は迫害や追跡をうける
# (救い) 主人公は追跡者から救われる
# (気付かれない到着) 主人公は、気付かれずに家または他国に到着する
# (根拠のないみせかけ) 偽の主人公が、根拠のないみせかけをする
# (難題) 主人公に難題を課す
# (解決) 難題が解かれる
# (判別) 主人公が気付かれる
# (暴露) 偽の主人公や敵、加害者が暴露される
# (姿の変更) 主人公に新たな姿が与えられる
# (罰) 敵が罰される
# (結婚もしくは即位) 主人公は結婚し、即位する
↑このように作成。UTF-8 形式で保存しておきます。
スクリプトはこんなかんじ(雑)
# -*- coding: utf-8 -*-
# プロットを自動作成する
import random
with open("plotseed.txt", encoding="utf-8") as f:
lines = f.read().splitlines()
index=0
while index < 31:
if(random.random()<0.5):
print(lines[index])
index=index+1
これを、VSCode 上で実行すると
下のターミナルというところに実行結果が出ていきます。ちゃんとランダムになってますね。(∩´∀`)∩
では、この2つのファイルをポメラへ転送します。(SCPで送るといいよ☆)
ポメラ(DM200)上で実行
ポメラさんは、当然すでにLinux化してあるはず(もちろんしてるよね?w)
日本語を使うのでpython3もいれておきましょー。
で、実行すると
ここから先は
¥ 200
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,