(質問は少なくともゲームデザインではなく、コードデザイン/アーキテクチャの観点から行われますが、少なくともある程度の答えは両方に当てはまります。)
すでに述べたように、両方が必要であり、バランスを取る必要があります。コードフロー/構造の過剰設計と過小設計の両方が問題を引き起こす可能性があります。適切なバランスが何であるかを言うのは難しいですが、一般的には、少なくとも残りのコードが現在プログラミングしているものとどのように結合するかについて、漠然とした考えを持ち、考えられる問題について考える必要があります。そうでなければ、「自分自身を行き止まりにコーディングする」傾向があります-「大丈夫、今、この問題を解決したおかげで、以前のソリューション全体(または最悪の場合はそれ以上)になった新しい問題を作成しました」 )無駄」。
一般的に、私の意見では、「what if」シナリオを「what if I after(すべてが現在使用しているのと同様のパラダイムで完全に実装されている場合)」のように考えることで、適切なバランスがあるかどうかを大まかに判断できますその部分Aはわずかに異なる動作をする必要があるため、変更に対応する部分Bを完全に作り直さなければならないことを意味しますか?」1つのパーツのアーキテクチャを変更するのに他の1つまたは2つ以上のパーツを変更する必要がなく、変更がカスケードされない場合(つまり、パーツBに接続している次のパーツも、次に接続しているパーツも変更する必要がある場合)それらなど)、コードは比較的良い方法で区分されています。
しかし、実際には、これは経験を積んだ後に感じられるものです。これは、部分的に誰もが最初のゲーム開発者に、既知の簡単なコード(ブレイクアウト/テトリス/スネーク)を最初にコーディングし、すべてのメニュー、サウンド、エフェクト、ゲームを完全に完成させるためにすべてを行うようにアドバイスする理由です小規模なプロジェクトを台無しにして、それを(良い方法でも悪い方法でも)行うことは、さまざまなアーキテクチャの決定の影響がどの程度及ぶかを正確に把握するのに役立ちます。