Sé que esta pregunta podría estar desactualizada, pero debo responderla. En realidad, comencé a programar un juego en Lua (con LÖVE) y comencé a programar un MVC - Framework para él. Al principio, usar MVC realmente depende de lo que quieras. Conozco mis problemas con la programación de juegos, cuando el programa se vuelve más grande y, en su mayoría, la estructura se vuelve demasiado compleja para mantener. Lo siguiente es que sé que cambiaré todos los gráficos cuando encuentre un artista que esté dispuesto a trabajar en ello. Pero hasta entonces, voy a usar mis propios gráficos falsos. Quiero que el artista se sienta libre de hacer lo que quiera, sin depender de ninguna resolución o restricción de color. Eso significa que podría tener que cambiar el código de presentación completo (!). Tal vez incluso la forma en que los objetos interactúan (detección de colisión, por ejemplo). La lógica del juego se captura en los modelos, por lo que puedo concentrarme en eso. Y creo que la lógica del juego es la parte más importante de hacer un juego. ¿No es así? Espero que veas mi punto.
Pero, si tiene todo junto: todos los gráficos, sonidos, todo; entonces puedes codificar directamente.
Mi MVC es una configuración por convención, que ralentiza la creación de prototipos un poco. PERO (!) Las iteraciones de desarrollo se pueden hacer mucho más fácilmente. Las pruebas, especialmente las Pruebas unitarias, se realizan mucho más rápido. Diría que MVC convierte su curva de velocidad de desarrollo (que normalmente es una curva anti-exponencial) en una curva exponencial. Lento al principio, pero cada vez más rápido al final.
excelente respuesta - ¿hay realmente alguna ventaja para MVC para juegos? Todavía puede tener múltiples vistas a través de componentes, entonces, ¿qué agrega? – Iain
Teóricamente, permitiría la división de tareas, permitiendo que otro desarrollador trabaje en vistas, mientras que un desarrollador funciona, y otro controla. El problema es que las tareas del juego tienden a ser cortadas verticalmente (AI, física, mapas, personajes, etc.). Por lo general, es la responsabilidad del mismo desarrollador hacer la pila de MVC. Pero, idealmente, el diseñador debe modelar, controlar el programador, visualizar el artista. Entonces, la ganancia potencial está ahí, si las capas de modelado y visualización pueden convertirse en herramientas fáciles de usar. –
Pero para un programador solitario, causa que los recursos generales aprendan las herramientas, por lo que tiende a tener componentes. Otra opción es mirar mixins, que también puede funcionar, al menos vi que funcionaba bien una vez. –