sábado, 12 de octubre de 2013

Evaluar la complejidad de nuestro próximo proyecto

Ahora que acabé Memory GCards, un juego completo, en este caso para Android, no hago más que dudar entre varias ideas para ponerme en marcha con el próximo. Dado que no tengo una empresa con un montón de grafistas, músicos, guionistas y programadores, tengo que pensar bien cuál será mi elección en función de lo que me costará desarrollarla, y hablo tanto a nivel de esfuerzo, como a nivel de tiempo. Así, un terminar un proyecto puede ser más o menos complejo dependiendo de muchos factores:

1. Según su género

A nivel general, unos géneros de videojuegos son más costosos o largos de desarrollar que otros, dependiendo eso si, de cuanto queramos complicarnos. Por ejemplo, es más fácil crear un juego de puzle que un RPG o un plataformas. Esto es debido a una serie de cosas que iremos viendo en otros puntos de este post.


2. 2D o 3D

Añadir una dimensión a la ecuación, alargará generalmente el tiempo que tardemos en terminar nuestro proyecto, y no me refiero necesariamente a dimensiones en las que se pueda mover el usuario dentro del juego, también lo digo para los casos en que la parte gráfica se elabore con un software 3D. El porqué de esto es bien sencillo. Un gráfico 2D, generalmente se realiza en menor tiempo (aunque dependerá de la técnica que usemos), que otro 3D, por algo evidente: El 3D implica un modelado y un texturizado, lo que se puede considerar prácticamente el doble de trabajo, o incluso más si vamos a añadir texturas avanzadas y shaders como Normal o Specular Mapping.

3. Animaciones

En el caso de las animaciones la interpolación que se usa en el 3D, puede facilitarnos las cosas, así que podemos ganar aquí el tiempo que perdimos al elegir usar un grafismo basado en modelado y texturizado. Aunque antes comentaba que es más rápido dibujar un gráfico que modelarlo y pintar su textura, esto puede darse la vuelta si pensamos en dibujar 400 fotogramas de una animación, los cuales la interpolación, cámaras o puntos de vista que se manejan fácilmente en un software 3D nos ayudará a obtener rapidamente si ya tenemos el modelo hecho. Por otro lado, el que no existan animaciones o sean muy pocas, es sin duda lo más corto de cara al proceso de nuestro desarrollo.

Como ejemplo de juego sin animaciones está mi reciente Memory GCards, donde cualquier movimiento se realiza por programación, consiguiendo reducir bastante el trabajo gráfico.

También se pueden pensar otro tipo de juegos que no lleven animaciones o si llevan, sean muy pocas como los puzles, juegos de cartas, novelas visuales, etc.


4. Historia

Por supuesto que un guión complicado y largo, hará más difícil nuestra producción. Necesitaremos buscar fórmulas para contar la historia a los usuarios, proporcionarle los caminos que podrá elegir e incluso las secuencias, interactivas o no, que puedan ser requeridas, para que todo sea narrado y entendido perfectamente.Y eso es un trabajo extra.

5. Localizaciones

Una acción que se desarrolla dentro de un tablero de juego de unos pocos centímetros cuadrados nos llevará menos trabajo que la que ocurra en el entorno de una gran isla desierta. Además, esto es así en todos los niveles, ya sea sonido, programación, grafismo, etc. Un entorno más grande necesita que se inviertan más horas en él.

6. Reutilización

Empezar de cero es más costoso, eso es lógico. Si tenemos músicas, scripts programados o gráficos de proyectos anteriores que podamos usar en el nuevo, terminaremos mucho antes su desarrollo y nos ahorraremos esfuerzos, aunque sea en algún área concreta.

7. Lenguaje de programación o motor

Será siempre más sencillo para nosotros trabajar del mismo modo que en nuestro anterior título, que tener que aprender la sintaxis de un nuevo lenguaje o tratar con un motor en el que no hemos tenido un periodo de aprendizaje.

8. Detalles

Todos los pequeños detalles que se nos ocurran para hacer nuestro juego más interesante y profesional nos van a llevar un tiempo precioso que muchas veces no tenemos en cuenta.

Se nos puede ocurrir que la nave de nuestro matamarcianos emita destellos de luz al disparar y que tiemble toda la pantalla cuando se tira una bomba; o que al pasar al modo francotirador en nuestro First Person Shooter, aparezcan unos números que nos indiquen la precisión, hacia donde estamos apuntando, la cantidad de luz, etc. Como es lógico estas pequeñas cosas añaden más líneas de código, gráficos extra o animaciones que hay que crear, e incluso sonidos.

9. Complejidad gráfica

Elegir unos personajes y escenarios muy detallados va a requerir más trabajo para vuestros grafistas (o para vosotros). Si pensamos por ejemplo, en un personaje humano sin animaciones, cada paso que añadimos lo hará más complejo, empezando por darle color, luego sombras, luces, añadirle detalles, texturas, etc. Por supuesto este sacrificio merecerá la pena si buscamos un acabado más trabajado, realista o artístico.


10. IA

¿Hay aliados controlados por la máquina? ¿Los enemigos deben detectarnos, encontrar el camino más corto a un punto, abrir y cerrar puertas? Una IA más complicada significa más trabajo para el programador y puede que también para el animador y el grafista, lo que se traduce en más tiempo de desarrollo. 

Y Para finalizar el post, solo comentar que, teniendo en cuenta estos y otros factores, podemos pensar en qué tipo de proyecto queremos, cuantas personas trabajaremos en él y que tiempo nos va a llevar terminarlo para decidir entre algunas ideas que hayamos tenido.

¿Cuál será vuestro próximo proyecto? ¿Un puzle en 2D? ¿Un Matamarcianos 3D? Yo, aun no me he decidido entre 2 o 3 opciones… ¡Y cambio de idea cada día! Tendré que centrarme o me quedaré atascado.

10 comentarios:

  1. Hola rathsodic, me encanta tu blog y lo llevo siguiendo menos tiempo del que me hubiese gustado por no haberlo encontrado antes. A través de tus posts estoy aprendiendo muchísimo. Hace poco más de dos años que comencé mis andaduras por el universo de los videojuegos y lo que estoy llevando a cabo es un MMORPG en 3D, pero estoy yo solo y aunque le dedico tres horas diarias, es mucho trabajo. La verdad que antes de ayer acabé la historia (86 páginas) y la he registrado en las oficinas de registro de la propiedad intelectual, y ahora tengo ante mí un nuevo reto, comenzar las bases del juego. El mapa lo tengo dibujado y sé qué quiero, será un mapa bastante extenso (7.000 km cuadrados) y quería saber si podías arrojarme algo de luz. Mi idea es crear el mapa a través de Unity 3D, el único motor al que tengo acceso y que he ido estudiando. ¿Crees que es viable o me recomiendas algo mejor? Muchas gracias y espero continuar leyendo material tan interesante.
    Un saludo.

    ResponderEliminar
    Respuestas
    1. Muchas gracias! En internet es que estamos bien escondidos algunos. Es dificil encontrarnos :P

      Ahora vamos con tu MMORPG. Es una mala idea que un grupo de desarrollo pequeño o una sola persona (y esto siempre se ha dicho) haga un MMOG. Especialmente si hablamos de 7000 Km, que hay que llenar de arboles, casas, piedras, agua, ramas, troncos y demás vegetación... Tardaras siglos en acabar semejante proyecto. Los juegos de este tipo los hacen equipos gigantescos de miles de personas que además llevan años en el mundillo y trabajan de forma profesional y rapida.

      Unity es un motor muy adecuado para todo tipo de juegos, incluido el que tu pretendes realizar. Pero debes pensar que si tu idea es esa, ya puedes invertir toda tu vida en ello, y aun asi seguramente no lo termines.

      Un saludo (y siento darte malas noticias)

      Eliminar
    2. Uf... agradezco tu sinceridad la verdad, prefiero eso a construir castillos en las nubes. Te detallaré un poco más, mi "planning" es el de dedicar los siguientes seis años a empezar desde ya en el mapa, sería entonces cuando tengo pensado (y limitado por mi presupuesto) contratar unas veinticinco personas durante unos dos años. ¿Sigue siendo un proyecto demasiado desorbitado?

      Eliminar
    3. Me temo que seguiria siendo algo muy poco viable. La tecnologia avanza y cuando lleves 6 años con el mapa ten por seguro que muchas formas de hacer las cosas, motores, aspectos y estilos habran cambiado, lo que significaria que tendrias que actualizarte, mudarte a otro motor o rehacer cosas.

      Contratar 25 personas durante 2 años es jodidamente caro (¿Eres millonario?) y tampoco te resolvería nada. Estamos hablando de un proyecto titánico, lleno de código, tanto de cliente como de servidor, elementos gráficos, texturas, animaciones, sonidos, etc. Para el que se necesita además, un equipo con mucha experiencia creando videojuegos.

      No se si tenemos en mente el mismo juego y tu quieres algo muy estático con menus y botones y poco más, pero si se trata de algo estilo World of Warcraft o similares, espero que tengas 3 vidas y consideres un éxito que cuando termines tendrás un juego obsoleto tecnologicamente hablando.

      Eliminar
    4. Pues sí... teníamos el mismo juego en mente, algo del estilo de World of Warcraft. No soy millonario pero dispongo de un poco más de 900.000€ para invertir en un gran proyecto. Bajaré mis pretensiones... Yo como te he dicho antes dispongo de mapeado en dibujo y una historia completamente desarrollada, con un guión y personajes definidos y en base a esto quería hacerte dos preguntas. Este material podría usarlo para hacer un RPG, crees que con un equipo de 17 personas durante dos años podría conseguirse un RPG con unos calidad gráfica al estilo de Dragon Age Origins (el de 2009). No busco un AAA pero sí algo decente. Y en caso de ser no, ¿de cuánta gente podríamos estar hablando? Quizá podría conseguir la financiación necesaria.

      Eliminar
    5. Hacer un juego como World of Warcraft cuesta millones de Euros, eso si mencionar que no te iba a ser facil encontrar programadores capaces de hacerlo. Necesitas pagar sueldos (si pagas 1000 Euros a cada uno de los 17, sin tener en cuenta impuestos, durante 2 años gastarías 408000 Euros), comprar servidores, publicidad... (porque supongo que si te vas a gastar ese dinero esperas recuperarlo vendiendo de alguna forma).

      No importa si tienes el guion y un mapa en papel. Necesitas un equipo grandísimo y muy bueno.

      Dragon Age no se cuanto costaria pero de 30 millones de Euros no baja, y seguro que me quedo corto. Empezar por un juego de tanto tamaño es un suicidio, hay que tener experiencia con cosas más pequeñas para no pegarsela. No digo que sea imposible y que salga bien, pero... las posibilidades son escasas si aspiras tan alto. Hacer un videojuego no es nada facil.

      Eliminar
    6. Muchísimas gracias rathsodic, ¡y malditas quimeras! El tema de los sueldos sería algo menor por deducciones fiscales y capitalizaciones pero sí, en dos años se te dispara al millón de euros contando hasta el mobiliario. No creo que diesen mucha financiación a un equipo nuevo y sin experiencia, así que te agradezco que me hayas plasmado la realidad. Pensaba que crear un videojuego era más sencillo y que lo más difícil de todo era encontrar al personal adecuado, pero la realidad es dura. Si de aquí a muchos años pudiese optar a un presupuesto del que hablas te buscaré para ofrecerte el puesto de CEO. Un abrazo enorme, estaré pululando por tu blog, ¡continúa así!

      Eliminar
    7. De nada, y gracias por tenerme en cuenta como CEO ;)

      Aun así con tus 900000 € se pueden hacer grandes cosas con un equipo pequeño, mucha ilusión y un buen diseño. Lo dificil en estos tiempos sería recuperar la inversión y ganar dinero.

      Un saludo, y gracias por pasar por mi humilde blog

      Eliminar
  2. Saludos!

    Creo que una de las cosas que se debe saber medir muy bien cuando comenzamos a escribir un videojuego es esto precisamente, cuanto tiempo nos va a llevar el terminarlo y publicarlo. ¿Y esto como se mide?...pues con la experiencia, creando juegos pequeños al comienzo.

    Creo que un MMORPG en 3D estilo WoW está arriba del todo en cuanto a dificultad y solo lo deberían llevar a cabo personas con una dilatada carrera (experiencia) en la industria.

    Dicho esto igualmente me gustaría decir que si hay una meta o sueño que se quiere alcanzar no hay que parar de buscarla por encima de todo, pero en el caso de Anónimo lo mejor sería plantear el proyecto creando pequeños juegos a modo de aprendizaje antes de afrontar el MMORPG final. Proyectos que estén basados en el guión por ejemplo pero que duren entre 3 y 6 meses aproximadamente en desarrollarlos. Es muy muy importante empezar y finalizar proyectos!!

    +Saludos y una alegría encontrar este blog rathsodic!

    ResponderEliminar
    Respuestas
    1. Gracias Sergio, y muy acertados tus comentarios. Hay que empezar por algo pequeño, incluso juegos de un mes si no tienes nada de experiencia.

      Por otro lado no creo que una persona sola ni tampoco 10 sean capaces de hacer un World of Warcraft ni en años. A no ser que sea algo muyyyyyy pequeñito de poco tiempo de juego (E incluso asi tengo mis dudas de que pudieran)

      Saludos

      Eliminar