Meno esperienza hai, più tempo perdi con il design frontale. Fare buoni progetti è qualcosa che imparerai facendolo e poi vedendo / valutando come risulta. Alcune decisioni hanno implicazioni di vasta portata ma oscure. Dopo alcuni giochi probabilmente sarai in grado di rendere il progetto iniziale abbastanza solido e ti ripagherà investendo ancora un po 'di tempo in questa fase.
Il mio motto: fare le cose in primo luogo, ma usare il buon senso per rilevare quali componenti sono più critici di altri e progettarli abbastanza bene, entro il limite di tempo. Ad esempio, se l'IA è fondamentale per il tuo gioco, assicurati di poterlo estendere / modificare facilmente in un secondo momento. Oppure, se hai intenzione di scrivere un componente che utilizzerai in ogni gioco, progettalo per la riusabilità. Tieni traccia del tuo tempo e non scatenarti nella progettazione. Stabilisci una scadenza per il design e, successivamente, inizia a modificare tutto per ottenere la scadenza per il rilascio. Ma assicurati di annotare quali punti necessitano di refactoring / riprogettazione in seguito e calcola in un po 'di tempo prima di iniziare il gioco successivo per migliorare quelle cose, in modo che non possano morderti!
Un buon consiglio: se devi scegliere tra due opzioni, non soffermarti troppo sui dettagli. Molto spesso, non esiste "buono" o "cattivo". In alcune situazioni, A sarà migliore, in alcune, B sarà, e nel complesso, la differenza tra entrambi potrebbe non valere sempre la pena.
C'è molta esperienza da guadagnare nella progettazione di software o giochi, quindi assicurati di dedicare un po 'del tuo tempo alla ricerca (ad esempio, leggere un libro sul design, leggere l'esperienza di altri, parlare con gli altri programmatori dei tuoi progetti, ecc ... ).