Para un desarrollador de software sólido de propósito general, ¿qué es específicamente diferente del desarrollo del juego, ya sea fundamentalmente o simplemente diferencias de grado?
He hecho juegos de juguete como Tic-tac-toe, Tetris y un solucionador de sudoku de fuerza bruta (con interfaz de usuario) y ahora me estoy embarcando en un proyecto de tamaño mediano (de tamaño mediano por ser un desarrollador único y no tener hecho muchos juegos) y una cosa que he encontrado con este proyecto en particular es que la separación de las preocupaciones es mucho más difícil ya que todo afecta el estado y cada objeto puede interactuar con todos los demás de una infinidad de formas.
Hasta ahora he logrado mantener el código razonablemente limpio para mi satisfacción, pero encuentro que mantener el código limpio en juegos no triviales es mucho más difícil de lo que es para mi trabajo diario.
El juego en el que estoy trabajando es por turnos y los gráficos serán bastante simples (basados en la web, principalmente a través de la manipulación DOM), por lo que el tiempo real y el trabajo en 3D no son realmente aplicables para mí, pero aún así sería interesado en respuestas con respecto a aquellos si son interesantes. Aunque principalmente interesado en la lógica general del juego.
PD Siéntase libre de volver a etiquetar esto, no estoy realmente seguro de qué etiquetas son aplicables.