(Ich gehe davon aus, dass die Frage aus der Sicht des Code-Designs / der Architektur gestellt wird, nicht aus der Sicht des Game-Designs, obwohl die Antwort zumindest teilweise für beide gilt.)
Wie bereits gesagt, brauchen Sie beides und müssen es ausbalancieren. Sowohl das Über- als auch das Unterdesign Ihres Codeflusses / Ihrer Codestruktur kann Probleme verursachen. Es ist schwer zu sagen, wie das richtige Gleichgewicht aussieht, aber im Allgemeinen muss ich zumindest eine vage Vorstellung davon haben, wie der Rest des Codes mit dem übereinstimmt, was ich gerade programmiere, und über mögliche Probleme nachdenken. Ansonsten neige ich dazu, "mich selbst in eine Sackgasse zu verschlüsseln" - in eine Situation zu geraten, in der mir klar wird, dass "okay". Dank der Lösung dieses Problems habe ich ein neues Problem erstellt, das meine gesamte vorherige Lösung (oder im schlimmsten Fall sogar noch mehr) wiedergibt vergeblich ".
Generell können Sie meiner Meinung nach grob beurteilen, ob Sie das richtige Gleichgewicht haben, indem Sie über "Was-wäre-wenn" -Szenarien nachdenken, wie in "Was-wäre-wenn", wenn ich es später (wenn alles in dem ähnlichen Paradigma, wie ich es jetzt verwende, vollständig implementiert habe) herausfinde dass Teil A etwas anders arbeiten muss, was bedeutet, dass ich Teil B, der sich damit verbindet, komplett überarbeiten muss, um die Änderungen aufzunehmen? " Wenn Änderungen an der Architektur eines Teils nicht erfordern, dass Sie mehr als ein oder zwei andere Teile ändern, und die Änderungen nicht kaskadieren (was bedeutet, dass Sie wiederum auch die nächsten Teile ändern müssen, die mit Teil B verbunden sind, und dann die Teile, die mit Teil B verbunden sind ihnen usw.) ist der Code in relativ guter Weise unterteilt.
Aber das ist wirklich etwas, für das Sie ein Gefühl bekommen, nachdem Sie etwas Erfahrung gesammelt haben. Dies ist zum Teil der Grund, warum jeder Spielanfänger den Rat gibt, zuerst etwas Bekanntes und Einfaches zu codieren (Breakout / Tetris / Snake) und es vollständig zu machen, mit allen Menüs, Sounds, Effekten, alles, um das Spiel zu einem vollständigen Ende zu machen - es ist besser Wenn Sie ein kleineres Projekt vermasseln und es (ob auf gute oder schlechte Weise) tun, können Sie genau ein Gefühl dafür bekommen, wie weit die Auswirkungen verschiedener Architekturentscheidungen reichen.