Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Analisis para engines actuales

Iniciado por Zeioth, 03 de Febrero de 2011, 08:41:00 PM

« anterior - próximo »

Zeioth

Buenas, os escribo porque estoy estudiando desarrolo de aplicaciones informaticas, y nos hacen mucho enfasis en el tema de analisis. Diagramas generales como los de casos de uso, diagramas de secuencia, de maquinas de estado, diagramas de clases... y otros mas especificos como los diagramas orientados a bases de datos.

Mi pregunta es: De que manera se aplican estos conocimientos a la programacion de videojuegos en motores graficos recientes? Actualmente estoy programando con unity engine y este maneja el codigo de forma bastante particular, centrandose en la programacion de scripts para acciones concretas. Cualquier comentario que se os ocurra al respecto, o links a documentacion relacionada, os lo agradeceri mucho.

Mars Attacks

Pues en orden cronológico inverso: los de bases de datos te vendrán bien si necesitas almacenar información en un juego multiplayer o algo mínimamente complicado; los diagramas de clases son imprescindibles para hacerse una idea de las jerarquías y complejidad del sistema que vas a montar (te permite ver si te estás dejando algo que, a la hora de pasar a machacar teclas, puede fastidiarte letalmente un proyecto), las máquinas de estado van a ayudarte a evitar un código de espaguetti a la hora de programar la lógica de juego, y de diagramas de secuencia y casos de uso no me respondo porque tuve al peor profesor de la historia en esa asignatura y a duras penas sé qué son :P

En general, toda la metodología del tipo "piensa primero y programa después" suele hacerte ganar mucho tiempo en limpieza, estabilidad y mantenimiento de la aplicación, además de una distribución más adecuada de tareas en grupos y proyectos medianos/grandes.

reduzio

#2
Cita de: Zeioth en 03 de Febrero de 2011, 08:41:00 PM
Mi pregunta es: De que manera se aplican estos conocimientos a la programacion de videojuegos en motores graficos recientes? Actualmente estoy programando con unity engine y este maneja el codigo de forma bastante particular, centrandose en la programacion de scripts para acciones concretas. Cualquier comentario que se os ocurra al respecto, o links a documentacion relacionada, os lo agradeceri mucho.

UML (casos de uso, diagramas, etc) es extremadamente util para plasmar en formal visual el comportamiento de un programa, su manejo de datos y su interaccion con el usuario. Tambien provee una nomenclatura muy comoda para debatir conceptos con otros programadores.

El problema es que estas herramientas se quedan cortas en la mayoria de los videojuegos, dado que la interaccion del usuario (jugador) con el sistema (juego) es mas compleja e intrincada. Algunos aspectos de UML siguen siendo utiles para planear areas como inteligencia artificial, networking o bases de datos, pero creo que no existe ninguna empresa de desarrollo de VJ que utilice UML en su totalidad.

En videojuegos, hasta donde vi,  se suele utilizar mas patrones (design patterns) que otra cosa, pero creo que la realidad es que dado la naturaleza descartable de los mismos (y la dificultad de estipular plazos de entrega coherentes con algunos clientes), es mas productivo crear codigo deshechable que funcione que perder tiempo en perfeccionar una arquitectura.  
Esto lo pude corroborar charlando con ingenieros en sistemas que trabajaron en EA (y con otros en japon), donde la directiva es reusar lo minimo indispensable entre cada proyecto (partiendo de una base solida de middleware) y comenzar de eso, dado que esto facilita al planeamiento y estimacion de tiempos.. aun si es mas costoso.











Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.