オープンワールドみたいなものは、プログラムを変更しやすい様にしていく必要があると思います
そんな、プログラムを変更しやすい作り方がオブジェクト指向ですね
オブジェクト指向といえば、一つ一つをオブジェクトとして互いの関係を薄くするというものでした
だからこそ、一つを変更しても他の物に影響が出にくいわけです
でもRPGでは情報もある程度交換します
僕はそこをどうしようかな~と考えていたんですけど「エージェント」システム(てきとうに言ってみました、すいません)でまぁやや解決しました
さすがややプログラミングです
デザインパターンとかよく知らんので、RPGに適したものもあったかもしれませんが
いつか知ればその時に・・・
考えた構想をまとめると
・自キャラとかマップとか村人とかはお互いに直接アクセスしない
・上に書いた奴は(実際にオブジェクトになるもの?)「ストック」っていうのに積まれる
・じゃあどうやってやりとりするかって言うとここで「Agent」が出てくる
このエージェントは各オブジェクト(ストック)のデータのやりとりをする(ここは完全にクラスの密閉性を破壊してるw)
・「Draw」もストックを読み込んで描画する
・「Func」は基本エージェントに呼ばれて実行される(予定)
・名前特にないけどゲームのデータを監視するものもある(クエストとかのため)
こんな感じですかね・・・
非常に重くなりそうな気がします
Funcってのは一応個別に作られた関数のことで
例えば戦闘画面やピッキングなどの画面・・・できたらいいっすね