Programación Específica > Programación de Videojuegos
Estamos Creando Un Proyecto
Ruben3d:
Hola a todos,
La verdad es que me alegra ver que la gente tenga iniciativa y ganas de emprender un proyecto común. Me gustaría poder contribuir desde un punto de vista más bien activo pero, francamente, estoy más bien limitado de tiempo. Aún así, intentaré contribuir con mi humilde opinión y experiencia.
Como ya han mencionado muchos otros antes que yo el llevar a término una empresa de semejante envergadura no es tarea fácil y muchos son los escollos que pueden aparecer en el camino que impidan que el barco llegue a puerto. Es por éllo que sugeriría dedicar un tiempo inicialmente a intentar preveer algunos de estos escollos para poder, dado el caso, salvarlos hábilmente. Ésto no nos preparará para todas las posibles eventualidades, pues siempre hay un abanico de posibles problemas no predecibles, pero al menos ayudará a reducir su número.
Pero, ¿qué problemas pueden surgir que podamos predecir? Tal vez al principio no sea fácil identificarlos, pero tras la experiencia de varios proyectos, o bien el haber seguido el desarrollo de otros, se puede estar en posición para tener una visión más amplia de a qué nos podríamos tener que enfrentar.
No voy a extenderme más, y vamos a ver qué nos encontramos.
El primer problema que puede aparecer es el de no definir qué se quiere hacer en primer lugar, o bien definirlo de manera demasiado ambiciosa o amplia, de manera que se obtienen una infinidad de frentes de desarrollo que dan lugar a una gran cantidad de trabajo invertido sin llegar a tener nada que mostrar y que, probablemente, haya que desechar en función de cómo se desarrollen las cosas. Para evitarlo hay que invertir un tiempo inicial, más o menos largo, en definir con bastante detalle lo que se va a hacer. Qué se quiere. Cuando esté definido el qué, ya se pensará, en primer lugar, en la viabilidad de su ejecución y, si está dentro de los márgenes realistas, en el cómo. He visto ya bastantes respuestas que discuten la conveniencia de utilizar unas herramientas sobre otras, en diveross campos, pero todavía no he visto una visión clara de lo que se quiere llevar a cabo.
Uno de los primeros problemas que surgen también en los inicios, que suele manifestarse sin ser detectado durante la mayor parte de la duración del proyecto, hasta su final trágico, es la pérdida del rumbo. Suele aparecer cuando no se tiene claro a dónde se quiere ir o, más bien, no se sabe cómo llegar (no porque no se definiera en primer lugar, sino porque hay dificultades para medir la distancia al objetivo y la desviación). El objetivo a alcanzar suele estar en movimiento, y cada vez más alejado, pues siempre se le añaden nuevos y vistosos requisitos. ¿Cómo prevenir ésto? Mediante la imposición de hitos intermedios bien definidos. Si en la versión 0.3 han de estar las características A, B y C no se ha de empezar a implementar la característica D de la 0.4 hasta que no se hayan acabado, probado y validado, además de haber liberado la versión 0.3. Ésto es muy útil, pues se va contando con versiones intermedias estables más o menos funcionales que permiten ver el progreso, de manera que el propio equipo se sienta motivado al verlo (éste es un punto que trataré más adelante).
También está el problema de la falta de coordinación y organización. En muchas ocasiones se puede tender a un modelo 'todos echan una mano en todas partes' y no se organiza correctamente el trabajo. Es vital definir bien desde un principio el papel que cada miembro del grupo de desarrollo juega, y que haya una o más personas dedicadas exclusivamente a gestión y coordinación para minimizar al máximo las pérdidas de tiempo por comunicación de los desarrolladores (ya sean analistas, programadores, grafistas, compositores, etc). En caso de no seguir este mínimo de organización es muy probable que el equipo completo acabe enfrascado en discusiones monumentales sobre el diseño, nuevas características y cambios de rumbo que no llevan a ningún lado y lo único que se obtenga como resultado sea que los miembros acaben quemados.
Se puede hablar también de un problema menor: la estimación de tiempo optimista. Es muy común encontrar diálogos del tipo "¿Un sistema para gestionar dinámicamente bajo demanda todos los recursos? En una semana lo tengo". No he conseguido aún alcanzar a ver el porqué de esta tendencia, pero los desarrolladores de este tipo de proyectos suelen confiar mucho en sus capacidades: son demasiado optimistas, no son capaces de realizar estimaciones realistas. Consejo: Como norma general, cuando preguntéis por una estimación de tiempo, tomad la respuesta, multiplicadla por dos y sumadle dos semanas. Tal vez lo consiga tener en ese nuevo marco de tiempo recién calculado, pero irá muy justo.
Existen muchos más posibles problemas, pero ya sólo me pararé a advertir de uno más, el más peligroso y común, ya mencionado anteriormente: el desinterés. Más del 80% de las personas que inicialmente emprendieron el proyecto conjuntamente desaparecerán, algunos de éllos como tragados por la tierra. Y ésto es una realidad, y hay que tenerlo en cuenta desde el principio. Se ha de buscar un modelo de desarrollo poco centralizado en torno a personas concretas, en el que las tareas más importantes no dependan de un sólo desarrollador cuya marcha implicara dejar a la deriva el proyecto, o bien documentar más o menos exhaustivamente todo lo desarrollado. Frases como "Se fue y era el único que sabía cómo funcionaba nuestro motor 3D" no son nada deseables. De aqui se extrae que es importante tener un equipo bien balanceado, para evitar situaciones al estilo "Era el único programador, el resto hacíamos mapas y gráficos, pero desapareció y nos quedamos sin nada". Es por todo ésto que hay que mantener un interés alto en el proyecto, y qué mejor para mantenerlo que empezar a poder mostrar progresos que funcionen correctamente, para lo cual ayudan los puntos anteriores.
A lo largo de esta réplica en la discusión he querido contribuir a este joven proyecto de la mejor manera que se me ha ocurrido: intentando dar soluciones a los problemas más comunes que es probable que aparezcan. Es cierto que se podría hablar largo y tendido sobre todo ésto, pero creo que con una leve reflexión sobre estos puntos no es difícil ver problemas derivados de éstos.
Para cualquier cosa que necesitéis estaré por aqui, espero (si mi vida me deja tiempo).
Un saludo,
Ruben3d
Max_D:
Hay alguna novedad de este tema?
JuanK:
--- Cita de: "JuanK" --- muchas cosas
1- el 0% de todos los proyectos web que han pasado por aca han terminado o hecho algo
2- lo primero que deben hacer es comenzarce a organizar , en serio sino terminaran haciendo parte del 0%
3- off topic-- muchos se han burlado de mi cuando decia que el futuro de los videojuegos no era C++ sino C#.NET...
Los quiero retar a que hagan algo asi no sea muy bueno en un principio pero hagan algo!!!
Para mi seria una grata sorpresa. ;) :)
--- Fin de la cita ---
Por lo mismo de siempre...
todo el mundo quiere hacer videojuegos y hacen escandalo y ruido...
y a la final nunca salen con nada... una perdedera de tiempo...
con este son mas de 20 que han pasado por aca.... :whistling:
Max_D:
Una cosa es que un proyecto se quede en el camino o en el inicio, aunque la gente que lo proponga tenga las ganas de llevarlo a cabo y otra, como he podido comprobar al hablar con el que inicio todo eso, que el proyecto sea una excusa para proponer ciertas actividades poco honestas.
Angel38:
Hola señores.
Puessssss, siiiii, la verdad es que la persona que inició este post no lo veo muy comprometido ya con esto.
Esta metido en otras cosas y eso fue como una pequeñá fiebre para el, parece que se le está pasando. Lastima.
O tal vez me equivoco pero por lo que veo no es asi.
Yo sí estoy terminando un tutorial basado en Blitz 3D, y estoy por el fasciculo 11, espero no tener problemas para terminarlo y compilar todo.
Si llegó a terminarlo y a entenderlo, y creo que este mes lo haré entonces propondré un pequeño juego en 3D que yá tengo en mente.
No se preocupen no quiero que ustedes lo hagan solo que me den ideas y luego que cada uno me pase su modelo 3D (Mesh) y colocarlo en el juego.
Si estan interesados y quieren saber mi propuesta, entonces diganme y les contare lo que tengo pensado para que me den su opinion sobre esto.
Saludos caballeros. :comp:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa