RPGはどうしても全体作業ボリュームが増えてしまいがちなので
ボリューム感を決めて、こだわりたい部分だけ決めて作業すると完成させやすいのではないかと。
シナリオに選択肢があるかどうかで変わりますが、「NPCが1文だけ喋る」機能と大きな枠組みは同じですよ。
◆シナリオのデータファイル.json
json
1{
2 "シナリオID_1": {
3 "発生条件": "",
4 "トーク": ["Aキャラ:ID_1", "Bキャラ:ID_1", "Aキャラ:ID_1"]
5 },
6 "シナリオID_2": {
7 "発生条件": "",
8 "トーク": ["Aキャラ:ID_2"]
9 },
10 "シナリオID_3": {
11 "発生条件": "",
12 "トーク": ["Bキャラ:ID_2"]
13 }
14}
トークに入るのは発言の流れ+コマンド情報です。
コマンド情報はディレイや選択肢など。質問者さんが要件として必要な物を追加する必要があります。
シナリオのデータファイルを解析する(parser)部分はチャットボットが参考になるかと。
◆ゲームの登場人物の全キャラのセリフを保持している.json (※ MAP単位でも可)
json
1{
2 "Aキャラ": {
3 "ID_1": "おはようございます",
4 "ID_2": "こんにちは",
5 "ID_3": "そうですね"
6 },
7 "Bキャラ": {
8 "ID_1": "いい天気ですね",
9 "ID_2": "%name%さん、おはようございます"
10 }
11}
◆参考情報
【Python入門】JSON形式データの扱い方
json | docs.python.jp
あとはじめてゲーム開発する前に知っておくべきこととhow-scope-small-and-start-rightを一度見て頂きたいのですが。
質問者さんが拘りたいポイントだけ作り込む事をお勧めします。
一般論ですがRPG
ツクールやWOLF RPGエディター
のほうが、pygame
で作るよりRPG
は作りやすいかと。