Solo quiero un consejo profesional sobre cómo debo comenzar el diseño de mi juego.
El diseño del juego es la especificación de la jugabilidad, los activos, los sistemas de puntuación, etc., estos no son específicos del software. Como tal, UML es la herramienta incorrecta para esa tarea.
Cuando se trata de diseñar el código para implementar estos sistemas, UML es una buena herramienta para la tarea, ya que su equipo lo sabe y se adhiere a los tipos de diagramas más comunes. Normalmente, cuando intente diseñar una característica, sabrá si necesita usar una descripción o un diagrama. Si necesita usar un diagrama, UML le ofrece una forma estándar de dibujarlo, lo cual es algo bueno.
Después de codificar por un tiempo, las cosas comienzan a desmoronarse debido a una mala planificación (cuando agrego una nueva función, tiende a hacer que tenga que volver a codificar todo el programa).
Eso generalmente es un problema con la forma en que programa, en lugar de cómo planea. Un buen software generalmente es fácil de extender y reutilizar. Si se apega a las buenas prácticas de programación, este problema disminuirá. Pero una mejor planificación también ayudará, y no necesita diagramas complejos para esto. Solo tener una lista de características significará que cuando codifica una cosa, tiene las otras características en mente y puede considerarlas a medida que codifica.
Por lo tanto, ¿algún consejo sobre cómo debo planificar mi juego? ¿Cómo debo ponerlo en imágenes visibles, para que mis amigos y yo podamos ver los diseños?
Parece que estás mezclando 2 problemas aquí, el diseño del juego y el diseño del código.
Sugiero escribir primero un diseño de juego básico, especificando las características que necesita, los gráficos y los sonidos que necesita, cómo se gana y se pierde el juego, etc. Busque 'documentos de diseño' si necesita ayuda.
A partir de ahí, tendrá una idea de las características que necesita para codificar. Puede mirar cada característica a su vez e intentar pensar en cómo implementarlas. Los diagramas pueden ayudar a mostrar las relaciones entre diferentes clases y objetos en su juego, pero la habilidad de saber qué objetos necesitan existir es algo que debe aprender a través de la práctica y / o la lectura adicional.
Además, intente trabajar en proyectos más pequeños y menos ambiciosos. Eso lo acostumbrará a escribir un buen código de trabajo, sin necesidad de una extensa planificación o reescrituras.