人格のあるキャラが闊歩するRPG

まずステータス。システム。そして世界。記憶バッファを利用した動的行動パターン定義。
ステータス
 ・HP
 ・力
 ・素早さ
 ・スタミナ
 ・アイテム×8(装備分アイテムスロットが減る。)
 ・識別番号4桁。顔みたいなもん
システム
 ・ゲーム時間
  行動は全てゲーム時間単位で行われる。
  同じゲーム時間内に起こった事は、完全に同時に起こったと考える。
 ・ゲームヘックス
  行動の対象を選べる範囲。
 ・行動
  行動は行動、対象を選んで行動する。
  全て使用ゲーム時間が決まっている。途中で取り消しは不可。
世界
 ・αサイド、βサイド
  世界は安全なαサイドと、危険なβサイドがある。
  それぞれ50×50ゲームへクス。
 ・自動販売
   ウルティマオンラインにおけるNPCベンダーにあたるもの。
   金←→資源変換装置。
   最終的に「商人」的ソウルが多く出現してきたら消したい。
動的行動パターン定義
 ・ゲームヘックス内の全ての行動は、記憶バッファと呼ばれるメモリに入る。
  FIFO型メモリで大きさは決まっている。
  記憶のフォーマットは、記憶したゲームへクス・行動元・行動・対象。固定長データである。
 ・動的スクリプト言語
  自分自身を書き換える機構をもつスクリプト言語
 ・ソウルとペルソナ
  ペルソナは固定スクリプト言語で動作する。記憶バッファも小さくただのNPCと言える。
  ソウルは動的スクリプト言語で動作する。
  記憶バッファは大きくコイツらの育成のために世界は存在する。

アイテム
魂の器。使用者のコピーソウルを作り出し、世界のランダムな場所へ飛ばす。
魂の器の数は上限があり、一人ソウルが死ぬと世界のどこかに一つ現れる。
逆に魂の器が使われると、上限が一つ下がる。
つまり、魂の器+ソウル数は常に一定。

ペルソナ言語
変化しない。適当なスクリプト言語(ペルソナ言語)によってかかれている。
パラメータは持てる。
ペルソナ人格

ソウル言語
変化する?
全記憶バッファを入力信号とし、多数の行動と対象を出力信号とする。

記 −+−−−−−−−−−−+− 統
憶 −|          |− 計
バ −| 未知のシステム  |− シ − 行動
ッ −|   『ソウル』  |− ス
フ −|          |− テ
ァ −+−−−−−−−−−−+− ム

行動+対象の出力信号は、統計されて合計が一番多かったものが実行される。
システム・ソウルは可変のスクリプト言語(ソウル言語)によって書かれている。
無限ループに陥っても一定ステップが過ぎると統計が始まり、そして行動が決定する。
実体は関数群?関数は通し番号を持っている。
関数は次に値を渡す関数の通し番号を設定して終わる。通し番号先に関数がなければ
最も近い通し番号の関数、システム直結番号に渡される。
特定の通し番号は統計システムに直結している。
それらは値が渡されると「埋まる」ので、次にそこに渡された値は、
最も近い通し番号の関数、統計システム直結番号へ渡される。
全ての統計システム直結番号が埋まると終了。
記憶バッファから渡される値は特定の通し番号にある関数に渡される。
そこから記憶バッファから渡された数と同じだけの仮想プログラムカウンタが関数を走らせる。
全プログラムカウンタには共通で寿命が設定してあり、1ステップごとに減ってゆく。
0になると処理が終了。