So che questa domanda potrebbe essere superata, ma devo rispondere. In realtà, ho iniziato a programmare un gioco a Lua (con LÖVE) e ho iniziato a programmare un MVC - Framework per esso. In un primo momento, utilizzare MVC dipende molto da ciò che si desidera. Conosco i miei problemi con la programmazione di giochi, quando il programma diventa più grande, e soprattutto la struttura diventa troppo complessa da mantenere. La prossima cosa è, so che cambierò tutta la grafica quando trovo un artista che è disposto a lavorare per questo. Ma fino ad allora, userò la mia stessa grafica fittizia. Voglio che l'artista si senta libero di fare ciò che vuole, senza dipendere da alcuna risoluzione o restrizione di colore. Ciò significa che potrebbe essere necessario modificare l'intero (!) Codice di presentazione. Forse anche il modo in cui gli oggetti interagiscono (rilevamento collisione, f.e.). La logica del gioco viene catturata nei modelli, quindi posso concentrarmi su questo. E penso che la logica di gioco sia la parte più importante del fare un gioco. Non è vero? Spero che tu veda il mio punto.
Ma, se avete tutto insieme: tutta la grafica, i suoni, il tutto; quindi puoi codificare direttamente.
My MVC è un assetto di configurazione-convenzione, che rallenta un po 'la prototipazione. MA (!) Le iterazioni di sviluppo possono essere fatte molto più facilmente. I test, in particolare i test unitari, vengono eseguiti molto più velocemente. Direi che MVC trasforma la curva di velocità di sviluppo (che normalmente è una curva antiesponenziale) in una curva esponenziale. Lento all'inizio, ma sempre più veloce alla fine.
ottima risposta: ci sono effettivamente vantaggi per MVC per i giochi? Puoi ancora avere più viste tramite componenti, quindi cosa aggiunge? – Iain
In teoria consentirebbe la divisione delle attività, lasciando che un altro sviluppatore lavori sulle viste, mentre un modello e un altro controlli. Il problema è che le attività di gioco tendono ad essere tagliate verticalmente (intelligenza artificiale, fisica, mappe, caratteri, ecc ...). Quindi è normalmente la responsabilità dello stesso dev per rendere lo stack MVC. Ma idealmente il designer dovrebbe modellare, controllare i programmatori, dare visibilità agli artisti. Quindi il guadagno potenziale è lì, se i livelli di modellazione e visualizzazione possono essere trasformati in strumenti facili da usare. –
Ma per un programmatore solitario, fa sì che l'overhead impari gli strumenti, quindi tende a diventare componente. Un'altra opzione è quella di guardare mixin, che può funzionare anche, almeno ho visto che funziona bene una volta. –