Programación Específica > Programación de Videojuegos

 Importancia De Las Fases Anteriores Al Código

(1/4) > >>

jaal2000:
Hola a todos!

Hace unos meses comencé un proyecto que consiste en un Shoot'em all.
El proyecto pretende mostrar la importancia de las fases anteriores a la codificación (planificación, análisis y diseño) de un videojuego. Ya he terminado la fase de planificación (muy breve) y me encuentro en la fase de análisis, ya he creado varios documentos al respecto. Estoy realizando un análisis estructurado (diagramas entidad-relación, flujo de datos) y posteriormente comenzaré un análisis OO (UML). Quisiera saber que tan útil puede ser este material a quienes estén interezados en el tema (de todas formas pienso hacer un web site para publicar todo el material). El proyecto pretende ser un ejemplo práctico del proceso de desarrollo.

Ruben3d:
Hola.

Francamente, creo que es erróneo enfocar la planificación de un videojuego con una metodología clásica, del estilo Métrica 3 o Merise. Incluso no me acaba de gustar para esa aplicación concreta Unified Process. Demasiado trabajo antes de llegar a ver algo funcionar, que está muy bien para muchos casos, ya que ayuda a organizar todo de manera que se asegure el éxito de un proyecto. Sin embargo un videojuego es, claramente, una pieza software que se ha de ver funcionar desde el principio y hay que ir construyendo sobre prototipo inicial.

Prueba de esto es el desarrollo de los videojuegos de las grandes compañías: al poco de empezar ya hay screenshots del juego funcionando, aunque aún falten años para acabarlo.

Cierto es que se ha de tener claro el juego antes de empezar, definir una serie de requisitos funcionales. Pero no realizar todos los diagramas detallados en UML, o cualquier otra notación, módulo por módulo y clase por clase. En mi opinión esto le quita diversión a la realización del juego en sí, además de flexibilidad (si realizas algún cambio que se te ocurra a mitad de escribir el código tendrás que actualizar diagramas y, dependiendo de lo fielmente que sigas la metodología, hacer estudios de viabilidad del cambio, gestión de la configuración, etc. Esto se puede hacer muy pesado).

Lo esencial de un videojuego es su jugabilidad, el estilo de juego, que esté bien balanceado, que sea divertido. Y eso no lo vas a conseguir con diagramas de flujo de datos, de módulos, de clases, de colaboración, o del tipo que sean.

Te recomiendo que le eches un vistazo a esta página, con una cantidad enorme de recursos sobre el diseño de juegos (incluido un documento de diseño oficial de empresas del sector, bastante interesante ver cómo se centra en describir el juego y cómo funciona, en vez de cómo programarlo):
General Game Design

Un saludo.

Ruben3d

JuanK:
Bueno,
en mi experiencia personal si es muy necesario...
No utilizar una metodologia determinada puede llevar a un juego que aunque sirva seria solo un monton de codigo desordenado y tedioso..
si realmente la falta de diseño se veria reflejada en que el juego seria muy tedioso de depurar, y la falta de diseño va en detrimento de la modularidad e incrementa la dependencia entre componentes.

Es cierto que es muy aburrido el diseño, pero si uno va a hacer algo bien es mejor comenzar por alli..
he hecho dos juegos en toda mi vida.. de hecho el segundo recien inicie la implemenatcion..
el primero se veia bonito pero el codigo es un completo desastre, al punto que he querido cambiarle algunas cosas pero me ha dado pereza y tedio pues resulto muy complicado (tal como lo advirtieron los libros y mis maestros)...
en mi seundo juego (mi proyecto de grado en la universidad) somos tres personas y vamos desde febrero en la fase de diseño y recien la semana pasado iniciamos el desarrollo, aunque a travez del proceso de diseño paralelamente desarrollamos pruebitas para ir aprsndiendo a manejar el directX y el C#.

Todo el diseño n su primera etapa se derivo del documento que nuestro amigo Ruben3D a colocado el link y de otros que tambien se encuentran en GameDev,
sin embargo el documento o los documentos solo ayudan a crear una version conceptual general de lo que  sera el juego y resulta de utilidad para diseñar los personajes, los escenarios etc, en fin sirve para diseñar el juego y entiendo como juego lo que ve el usuario... MUY IMPORTANTE , NECESARIO!!!. pero solo de utilidad para el desarrollo en su etapa mas basica.. cual es la etapa más basica del desarrollo? pues el inicio del diseño...

Dentro del ciclo del diseño hemos utilizado UML con RUP... realmente no hay ninguna metodologia que se ajuste demasiado a lo del videojuego , pero UML es la mas general y es suficientemente amplia para cubrir todos los aspectos.

Nosotros (mis dos compañeros y yo) hemos utilizado aspectos importantes del UML pero no todo el UML porque seria una perdida de tiempo, utilizamos lo que sabemos que nos seria de utilidad en el futuro-...

definicion de requerimientos
calificacion de requerimientos
casos de uso pimarios y secundarios
integtracion de casos de uso
descripcion de iteraciones
Arquitectura
diagrama de clases
Colaborativo

por mencionar solo algunos y que realmente no llegan a ser la mitad de los que especifica el UML.

El ciclo de desarrollo que se deberia seguir es por iteraciones (modelo en espiral incremental)
Con una semana que llevo de desarrollo al 100% y veo la diferencia notable...
y gracias a estos 4 meses de diseño de videojuego y de diseño del desarrollo ya se ve que el proceso de desarrolo sera muy rapido y que la estructura del codigo sera de gran calidad.. un codigo claro, entendible, modular con bajo acoplamiento y alta cohesion..

Al dia de hoy llevamos más de 200 paginas solo en documentos relativos al diseño del videojuego y al diseño del desarrollo del mismo.

Yo apoyo el diseño sea como sea.

jaal2000:
Saludos Ruben3D!

Entiendo tu punto de vista (ya que al parecer te dedicas a la parte gráfica) pero
un buen análisis y un diseño robusto, si que puede ayudar a la hora de implementar el juego.

Los grandes desarrolladores generan "screenshots" rápidamente porque adoptan un modelo de proceso en "espiral", esto es, se van generando incrementos del proyecto por medio de iteraciones, pero cada iteración cuenta con su etapa de planificación, análisis, diseño y obiamente la implementación de un prototipo (desechable o no), es decir: codigo + imágenes.

La realización de un modelo (UML, estructurado, o los que sea) tiene como objetivo servir de guía a los programadores, no importa que posteriormente se realicen cambios en las clases o se agregen más elementos.

Con los diagramas (y no sólo estos, sino otros documentos "hablados" que también son parte del análisis y el diseño) no se pretende construir un juego, pero si puede aportar mucho a la hora de implementarlo.

Al contrario de una "aplicación de escritorio", un videojuego no requiere de unas etapas de analisis y diseño tan complejas, ya que por lo general el cliente es el mismo desarrollador y CLARO! nada mejor que ver funcionando algo en la pantalla.

Visité tu página y me gusto el trabajo de la <Nave de transporte>, felicitaciones.

jaal2000:
.....
¿Qué es RUP?

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa