(Tôi cho rằng câu hỏi được đưa ra từ quan điểm thiết kế mã / kiến trúc, chứ không phải thiết kế trò chơi, mặc dù câu trả lời ít nhất ở một mức độ nào đó áp dụng cho cả hai.)
Như đã nói, bạn cần cả hai, và bạn cần phải cân bằng nó. Cả việc quá mức và quá mức quy trình / cấu trúc mã của bạn có thể gây ra vấn đề. Thật khó để nói cân bằng đúng là gì, nhưng nhìn chung tôi thấy rằng tôi cần phải có ít nhất một ý tưởng mơ hồ về việc phần còn lại của mã sẽ kết hợp với những gì tôi đang lập trình vào lúc này và nghĩ về các vấn đề có thể xảy ra, mặt khác, tôi có xu hướng "mã hóa bản thân vào ngõ cụt" - rơi vào tình huống tôi nhận ra "được rồi, bây giờ nhờ cách tôi giải quyết vấn đề này, tôi đã tạo ra một vấn đề mới khiến toàn bộ giải pháp trước đây của tôi (hoặc thậm chí nhiều hơn, trong trường hợp xấu nhất ) vô ích ".
Nói chung, theo tôi, bạn có thể đánh giá đại khái xem bạn có cân bằng đúng hay không bằng cách suy nghĩ về các kịch bản "chuyện gì xảy ra" như trong "nếu sau này (khi mọi thứ được thực hiện đầy đủ trong mô hình tương tự như tôi đang sử dụng bây giờ) thì hãy tìm hiểu phần A cần hoạt động hơi khác một chút, điều đó có nghĩa là tôi phải làm lại hoàn toàn phần B kết nối với nó để thay đổi những thay đổi? ". Nếu thay đổi kiến trúc ở một phần không yêu cầu bạn thay đổi nhiều hơn một hoặc hai phần khác và các thay đổi không xếp tầng (có nghĩa là đến lượt bạn cũng phải thay đổi các phần tiếp theo kết nối với phần B, và sau đó các phần kết nối với chúng, v.v.), mã được ngăn cách một cách tương đối tốt.
Nhưng thực sự, đây là điều bạn sẽ cảm nhận được sau khi có được một số kinh nghiệm. Đây là một phần lý do tại sao mọi người đưa ra lời khuyên đầu tiên cho gamedevs để mã đầu tiên một thứ gì đó được biết và dễ dàng (Breakout / Tetris / Snake) và thực hiện nó hoàn toàn, với tất cả các menu, âm thanh, hiệu ứng, mọi thứ để làm cho trò chơi hoàn thành - tốt hơn để thực hiện dự án nhỏ hơn và thực hiện nó (dù theo cách tốt hay xấu) chính xác sẽ giúp bạn cảm nhận được mức độ ảnh hưởng của các quyết định kiến trúc khác nhau.