(질문은 게임 디자인이 아닌 코드 디자인 / 아키텍처 관점에서 이루어 졌다고 가정하지만 적어도 어느 정도의 대답은 두 가지 모두에 적용됩니다.)
이미 말했듯이 둘 다 필요하며 균형을 맞출 필요가 있습니다. 코드 흐름 / 구조를 과도하게 설계하고 저조하게 설계하면 문제가 발생할 수 있습니다. 올바른 균형이 무엇인지 말하기는 어렵지만 일반적으로 코드의 나머지 부분이 현재 프로그래밍중인 항목과 어떻게 결합하고 가능한 문제에 대해 생각하는지 모호한 아이디어가 있어야합니다. 그렇지 않으면 나는 "나 자신을 막 다른 길로 코딩하는"경향이있다. "알았어. 이제는이 문제를 어떻게 해결했는지에 따라 이전의 모든 해결책을 만들어내는 새로운 문제를 만들었지. ) 헛된 ".
일반적으로 제 생각에는 "나중에 (지금 사용하는 것과 비슷한 패러다임으로 모든 것이 완전히 구현 된 경우)"에서와 같이 "만약"시나리오에 대해 올바른 균형을 가지고 있는지 대략적으로 판단 할 수 있습니다. 그 부분 A는 약간 다르게 작동해야하는데, 이는 변경 사항을 수용하는 부분 B를 완전히 재 작업해야한다는 것을 의미합니다. " 한 부품의 구조적 변경으로 인해 하나 또는 두 개의 다른 부품을 변경하지 않아도되며 변경 사항이 계단식으로 표시되지 않는 경우 (부품 B와 연결되는 다음 부품도 변경해야 함) 코드 등은 비교적 좋은 방식으로 구획화됩니다.
그러나 실제로 이것은 약간의 경험을 얻은 후에 느낄 수있는 것입니다. 이것이 모든 사람들이 처음으로 gamedevs에게 알려지고 쉬운 것 (브레이크 아웃 / 테트리스 / 스네이크)을 코딩하고 모든 메뉴, 사운드, 효과, 완전히 완성 된 게임을 만들기 위해 모든 것을 완료하도록 조언하는 이유입니다. 소규모 프로젝트를 망쳐 놓는 것 (좋은 방식이든 나쁜 방식이든)을 수행하면 다양한 건축 결정의 영향이 얼마나 멀리 있는지 느낄 수 있습니다.