(Saya menganggap pertanyaan dibuat dari sudut pandang desain-kode / arsitektur, bukan desain-game, meskipun jawabannya setidaknya sampai taraf tertentu berlaku untuk keduanya.)
Seperti yang sudah dikatakan, Anda perlu keduanya, dan Anda harus menyeimbangkannya. Overdesigning dan underdesigning aliran / struktur kode Anda dapat menyebabkan masalah. Sulit untuk mengatakan apa keseimbangan yang tepat, tetapi secara umum saya menemukan bahwa saya harus memiliki setidaknya ide yang tidak jelas bagaimana sisa kode akan bergabung dengan apa yang saya pemrograman saat ini, dan berpikir tentang masalah yang mungkin terjadi, kalau tidak saya cenderung "kode sendiri ke jalan buntu" - masuk ke situasi di mana saya menyadari "oke, sekarang berkat bagaimana saya memecahkan masalah ini, saya menciptakan masalah baru yang membuat seluruh solusi saya sebelumnya (atau bahkan lebih, dalam kasus terburuk ) sia-sia".
Secara umum, menurut pendapat saya, Anda dapat secara kasar menilai apakah Anda memiliki keseimbangan yang tepat dengan memikirkan skenario "bagaimana jika" seperti dalam "bagaimana jika saya nanti (ketika semuanya sepenuhnya dilaksanakan dalam paradigma yang sama seperti yang saya gunakan sekarang) cari tahu bagian A itu perlu bekerja sedikit berbeda yang berarti saya harus benar - benar mengerjakan ulang bagian B yang menghubungkannya mengakomodasi perubahan? " Jika perubahan arsitektur dalam satu bagian tidak mengharuskan Anda untuk mengubah lebih dari satu atau dua bagian lainnya, dan perubahan tersebut tidak mengalir (artinya pada gilirannya Anda harus mengubah juga bagian selanjutnya yang menghubungkan ke bagian B, dan kemudian bagian yang menghubungkan ke mereka, dll.), kode ini dikelompokkan secara relatif baik.
Tapi sungguh, ini adalah sesuatu yang akan Anda rasakan setelah mendapatkan beberapa pengalaman. Ini adalah sebagian mengapa semua orang memberikan saran gamedevs awal untuk pertama kode sesuatu yang dikenal dan mudah (Breakout / Tetris / Snake) dan untuk melakukannya sepenuhnya, dengan semua menu, suara, efek, semuanya untuk membuatnya sepenuhnya selesai permainan - lebih baik untuk mengacaukan proyek yang lebih kecil, dan melakukannya (baik dengan cara yang baik atau buruk) justru akan membantu Anda untuk merasakan seberapa jauh efek dari berbagai rentang keputusan arsitektur.