Autor Tema: [PM] Yo Humano  (Leído 3083 veces)

MiguelCriado

  • Socio
  • Jammer
  • **
  • Mensajes: 86
  • Molas: 24
    • Twitter
[PM] Yo Humano
« en: 15 de Julio de 2015, 04:04:24 pm »
En primer lugar, quiero que quede claro que lo que vais a leer es mi visión de la jam y nuestro juego, y todo lo que voy a escribir lo hago a título exclusivamente personal. Me gustaría que mis compañeros también se animasen a compartir su impresión desde su punto de vista. Seguro que sería divertido ver el desarrollo de un mismo proyecto desde prismas completamente diferentes.


Podéis descargar el juego en http://ananda.itch.io/yo-humano.

Momentos previos a la faena y la formación del grupo

Para ser sincero, tenía un poco de miedo el día anterior al evento. Fue mi primera jam y temía no encontrar un grupo en el que encajar ya que soy un poco introvertido y me cuesta romper el hielo. Me sentí abrumado en el momento de la formación de grupos al ver a tanta gente y no saber muy bien por dónde empezar a relacionarme con el resto de participantes que iban de un lado a otro formando corrillos y hablando entre ellos.

Por suerte, se encontraba por allí Lauren (al que ya conocía de la facultad) y le propuse unirme a él e intentar buscar un grupo que complementase nuestras habilidades. Éramos dos programadores en busca de alguien que pudiese modelar en 3D, aunque fuesen cosas bastante básicas. Pero, al parecer, en las jams, la gente le tiene bastante respeto al eje z (gente sensata, no como nosotros) y nos costó bastante convencer a Ananda para que se embarcase en lo que en ese momento parecía una locura a ojos de todos (incluidos los míos, para qué os voy a mentir…). Si me preguntáis a mí, me dio la sensación de que al final accedió un poco por compromiso sin estar muy segura de dónde se estaba metiendo :P. Por último, no sé muy bien cómo, apareció de la nada Juan Antonio para solucionarnos la papeleta del modelado de los personajes y sus respectivas animaciones.

Perfecto. Éramos cuatro integrantes en el grupo. Todo parecía indicar que ya estaba todo cubierto así que nos dirigimos corriendo a montar los equipos mientras el resto de grupos de terminaba se perfilar.

En este punto fue donde surgió el primer problema: no teníamos la misma versión de Unity y, para colmo, ni siquiera tenía unode los dos la última versión. Para rematar, una vez se había descargado e instalado, a Lauren no le tiraba por alguna razón que todavía no llego a entender. Menos mal que él trajo su disco duro con una carpeta repleta de instaladores que nos resolvió más de un marrón. Los dos pudimos instalar la versión 4.6 y empezar a picar código como si no hubiese un mañana.

Tras llevar un rato trabajando (no sabría decir cuánto fue en realidad; el tiempo parecía contraerse y expandirse durante este finde, aunque más lo primero que lo segundo), y cuando parecía que tendríamos que dedicar un tiempo valiosísimo a la faceta musical sin ser ninguno de nosotros un experto, apareció como caído del cielo Felipe, que venía con su pianaco bajo el brazo y rodeado de una música celestial que nos dio bastantes esperanzas y un respiro que no os podéis imaginar.

Vamos a empezar: el motor no arranca

Una vez nos sentamos todos sabiendo ya el tema (cualquier tema te parece el mejor del mundo si lo comparas con «Mariló Montero». Bien jugado :P), a todos parecía habérsenos frito el cerebro. Supongo que este es el peor momento de toda jam: tienes un tema que parece no sugerirte nada interesante, a un montón de compañeros a los que no conoces y no sabes por dónde te van a salir y un reloj que parece haberse olvidado de que los minutos no suelen ir al ritmo de los segundos.

Empezamos a lanzar ideas de una forma un poco atropellada y sin estar muy seguros de nosotros mismos y de la dirección que queríamos que tomase el proyecto, pero poco a poco, tras casi una hora de brainstorming (de nuevo, no tengo ni idea de si esta estimación es, siquiera, aproximada), la cosa parecía empezar a coger forma. Todos sabíamos cuáles eran nuestras tareas y teníamos claro qué es lo que teníamos que hacer para que todo funcionase correctamente. Daba comienzo un fin de semana muy intenso que tardaré bastante tiempo en olvidar.
 
Lo que fue bien

  • Organización: Bajo mi punto de vista, creo que este es el punto clave que nos permitió realizar todo el trabajo que tiene el juego. Mucha gente se sorprendió de que nos hubiese dado tiempo a hacer tantas cosas en tan poco tiempo. Lauren tomó un poco el rol de Project Manager casi desde que nos sentamos en la mesa dado que tenía bastante experiencia en jams y el resto de nosotros supimos aportar nuestras ideas y opiniones sin entorpecer mucho el proceso de desarrollo. Todo el mundo sabía muy bien qué tenía que hacer en cada momento y no tenía que andar preguntando qué tenía que hacer o cómo. Cada uno era responsable de su trabajo sin olvidarse de que estábamos haciendo algo en común.

  • Herramientas de gestión del proyecto: Antes de que la cosa se desmadrase mucho, decidimos usar Trello para organizar las tareas a las que se iba a dedicar cada uno. Partimos el juego en pequeñas tareas bien definidas de todos los aspectos que integran el producto final. Puede parecer una tontería o algo que se puede hacer perfectamente en un papel aprovechando que todos estábamos cerca, pero tener un panel en el que poder ver cómo avanza el proyecto da mucha soltura y motiva una barbaridad: cada vez que le echas un vistazo eres consciente de que el queda mucho menos trabajo que la última vez que miraste.

  • Grupo heterogéneo: Teníamos muy claro que necesitábamos un grupo con componentes especializados en las diferentes áreas y que se pudiesen dedicar casi exclusivamente a un tipo de tarea determinada sin tener aptitudes redundantes de una forma innecesaria. En la medida de lo posible, que nadie tuviese que meterse en el terreno de los demás si no era necesario.

Lo que fue mal

  • «Catástrofes» imprevisibles: A título personal, supongo que está más que claro que lo que peor que me pasó durante la jam fue que mi PC decidió que el domingo ya había tenido suficiente y se puso en huelga. Llegué al recinto y no había manera de que se encendiese. Para rematar la faena, la noche/madrugada del sábado había hecho varios cambios y programado bastantes cosas interesantes que, por desgracia no pude volver a programar en su totalidad el último día porque no disponía de un ordenador propio en el que poder trabajar con tranquilidad.

  • Audio sin pulir: Debido al punto anterior, no pude trabajar el audio todo lo que me habría gustado. Me dio mucha rabia que el excelente trabajo de Felipe con la música y los sonidos no brillase lo que se merecía por culpa de este imprevisto. Dejamos la mayoría del trabajo de programación relativo al sonido para el final y al final nos pilló el toro. Casi todo el código que perdí con el contratiempo del PC estaba dedicado a hacer que destacase la música y eso, unido a que sólo disponíamos de un equipo para dos programadores, hizo que no pudiésemos integrarla en condiciones con el gameplay.

  • Caos en la unificación de código: Caímos en el error de que, teniendo en cuenta que estábamos en una jam y no había tiempo que perder, no era necesario llevar un control de versiones con un repositorio centralizado. MUY MAL. Si bien es cierto que habríamos perdido un tiempo bastante valioso mientras configurábamos los equipos y el repositorio, el beneficio que este reporta habría sido extremadamente alto. Pasamos mucho tiempo seleccionando los scripts que teníamos que ir intercambiando e intentando recuperar información que se perdía de forma inevitable. Pero lo que es más importante, los cambios que se perdieron en el limbo de la noche del sábado habrían quedado guardados en el repositorio en el momento en que recogía todas mis cosas cerca de las dos de la madrugada, cuando no quedaba nadie de mi grupo al que pasarle este trabajo.

  • Falta de tiempo para cosas que creo que eran imprescindibles: A pesar de todo, no nos dio tiempo a terminar de pulir las cosas fundamentales del juego. Me habría gustado haber podido introducir algún tipo de panel explicativo con los controles, una pantalla de créditos digna y algo de trasfondo para introducir al jugador un poco en el universo y la historia que hay detrás de lo que se puede ver a simple vista (que la hay).

  • Usar cosas que no dominas del todo: Esto no estoy muy seguro de si iría en cosas que salieron bien o mal, porque es cierto que nunca había trabajado con NavMesh en Unity pero, al final, no acabó mal del todo. Me la jugué y creo que acerté. Es cierto que en algunas ocasiones tanto el personaje como los enemigos se quedan trabados en sitios que no deberían, pero de forma general, el comportamiento de los enemigos quedó bastante aceptable para el tiempo del que disponía. De nuevo, el origen del error estaba localizado y era relativamente fácil de solucionar, pero nos faltaron ese par de horas que todos habríamos agradecido tanto.

Otras consideraciones

  • Quizás no fue la mejor idea hacer un mapa tan grande. Como el objetivo del juego era terminar con todos los robots repartidos por el escenario, todo el mundo se picaba y algunas veces daba varias vueltas buscando los que les faltaban, dejando menos tiempo para que lo probasen los demás. Esto puede estar bien cuando lo juegas tranquilamente en tu casa, pero a lo mejor habría sido conveniente recortar un poco el mapa para el momento del playtesting en el lugar.

  • Todo el mundo lleva dentro un gamberro luchando por salir a la luz. No sé qué os dio a todos con las cajas que había por el escenario. Caja que veíais, a por ella que ibais con el garrote en alto. Cómo se nota que no pagáis vosotros el mobiliario urbano… :P


Conclusión

Ha sido una experiencia muy grata que me gustaría repetir pronto. Me encantó el ambiente que se generó de forma tan natural en tan poco tiempo. Sentía que estábamos todos disfrutando mientras hacíamos algo que nos apasiona. El pasearte y que mirases donde mirases vieses a gente que comparte tus «obsesiones» dejándose la piel para intentar hacer un videojuego en un tiempo límite era algo especial que no sabría describir.

He aprendido muchas cosas. Sobre todo de los campos que no son mi especialidad (modelado, animación, sonido). Me he dado cuenta de que programas como Blender no muerden y, dado que siempre me ha gustado dibujar, animar y ese tipo de cosas, es posible que me anime a dedicarle las horas que se merece cuando encuentre un hueco libre.

Si, por casualidad, estás leyendo esto para decidirte a participar en una jam próxima, no lo dudes: de cabeza.

¡Un saludo y gracias a todos por haber hecho esto posible!

LucasGZP

  • Socio
  • Super Jammer
  • ***
  • Mensajes: 135
  • Molas: 20
    • lucas-gonzalez.me
Re:[POSTMORTEM] Yo Humano
« Respuesta #1 en: 15 de Julio de 2015, 04:21:59 pm »
Un postmortem muy chulo y muy ameno, voy a comentarte mis opiniones.

Tuvisteis "mucha suerte" de contar con Juan como modelador/animador, yo lo conozco del máster y es un crack con ello, pero lo que mas me SORPRENDIÓ (con mayúsculas) es que se animó a hacer ese rol ya que normalmente es programador y sobre todo que decidiese prescindir de BennuGD, un pilar básico en su vida cotidiana. Un gran aplauso para él.

Estoy de acuerdo en casi todos los puntos que mencionas, creo que has dado en el clavo con la autocrítica aunque discrepo en que sea un error usar cosas que no dominas del todo (en este caso el Navmesh). Yo creo que precisamente es un acierto ya que las jams están para esto y fíjate que al final no os fue tan mal  :P

Fue muy bueno que aprendieseis lo de Trello y el control de versiones. Hay mucha gente que no suele usarlos en una jam (en mi equipo de hecho, si no me llego a poner pesado yo con eso no lo usamos xD) y es algo primordial

Y joder, es verdad lo de las cajas y no sé por qué xD. Si alguna vez hago un juego en 3d lo primero que voy a implementar son cajas destructibles  ;D ;D

DanielMoreno

  • New Jammer
  • *
  • Mensajes: 47
  • Molas: 22
    • Dazlog Studio
Re:[POSTMORTEM] Yo Humano
« Respuesta #2 en: 15 de Julio de 2015, 04:58:40 pm »
Vuestro juego lo seguí un poco más de cerca porque estábamos sentados casi al lado, jaja. Y uno no puede evitar echar una mirada de vez en cuando, a ver qué están haciendo los demás. Vuestro juego fue uno de los que más disfruté, era muy entretenido y que la gente se picara y se quedara sentada intentando pasarse el juego no es más que una buena señal de que lo habíais hecho bien.

Estoy de acuerdo con Lucas, lo de usar algo que no controlas del todo debería estar como punto positivo, no hay nada mejor que una Jam para aprender cosas nuevas. Personalmente el mapeado me encantó y para mí es uno de los puntos fuertes del juego. Está lleno de pequeños detalles y no se hace nada repetitivo. Quizás el problema esté en esos errores de colisiones, pero vamos, no era nada que destruyera la experiencia de juego.

¿Soy el único que no intentaba romper las cajas? ¿en serio? y mira que crecí con el Crash Bandicoot.

MiguelCriado

  • Socio
  • Jammer
  • **
  • Mensajes: 86
  • Molas: 24
    • Twitter
Re:[POSTMORTEM] Yo Humano
« Respuesta #3 en: 16 de Julio de 2015, 12:01:13 pm »
Tuvisteis "mucha suerte" de contar con Juan como modelador/animador, yo lo conozco del máster y es un crack con ello, pero lo que mas me SORPRENDIÓ (con mayúsculas) es que se animó a hacer ese rol ya que normalmente es programador y sobre todo que decidiese prescindir de BennuGD, un pilar básico en su vida cotidiana. Un gran aplauso para él.

Yo diría que tuvimos mucha suerte en general. Sí, Juan entendió desde el primer momento que el equipo le necesitaba con los modelos de los personajes y las animaciones. A mi también me sorprendió el gran trabajo que hizo. Me sonaba su cara de verlo por la facultad de Informática; no me imaginaba que supiese modelar y animar tan bien  :o

Estoy de acuerdo en casi todos los puntos que mencionas, creo que has dado en el clavo con la autocrítica aunque discrepo en que sea un error usar cosas que no dominas del todo (en este caso el Navmesh). Yo creo que precisamente es un acierto ya que las jams están para esto y fíjate que al final no os fue tan mal  :P
Estoy de acuerdo con Lucas, lo de usar algo que no controlas del todo debería estar como punto positivo, no hay nada mejor que una Jam para aprender cosas nuevas. Personalmente el mapeado me encantó y para mí es uno de los puntos fuertes del juego. Está lleno de pequeños detalles y no se hace nada repetitivo. Quizás el problema esté en esos errores de colisiones, pero vamos, no era nada que destruyera la experiencia de juego.

En realidad estoy muy contento de haber tirado por ahí. Los NavMesh eran una cosa que, por dejadez, pereza o simplemente porque nunca me habían hecho falta, no los había tocado y siempre se se agradece una oportunidad así para probar cosas nuevas. Me sorprendió lo fáciles que son de usar y, aunque se puede implementar una IA muy básica como la que introduje en el juego, creo que son lo suficientemente versátiles como para hacer cosas más elaboradas. Tendré que darle un par de vueltas más adelante, sin duda.

En próximas jams también intentaré meter mano a cosas que nunca antes hubiese probado. Aunque no os penséis que estuve en mi zona de confort en esta, que yo tampoco tengo mucha experiencia con el 3D. Soy más de juegos sencillitos en pixel art  :P

Y joder, es verdad lo de las cajas y no sé por qué xD. Si alguna vez hago un juego en 3d lo primero que voy a implementar son cajas destructibles  ;D ;D
¿Soy el único que no intentaba romper las cajas? ¿en serio? y mira que crecí con el Crash Bandicoot.

El tema de las cajas fue más por falta de tiempo que otra cosa. Las cajas (y otros elementos de decoración) las introdujo Ananda casi sobre la bocina y no caímos en hacer posible que se pudiesen destruír. Era simplemente añadirles un script que ya estaba implementado y poco más.

Para la próxima, tened por seguro que las cajas (si las hay) serán destructibles desde el minuto 1. Como me dijo mi mujer, «eso es de primero de psicología»  :P

¡Muchas gracias por vuestro feedback!



oldmith

  • New Jammer
  • *
  • Mensajes: 25
  • Molas: 7
Re:[PM] Yo Humano
« Respuesta #4 en: 17 de Julio de 2015, 10:52:40 am »
Interesante eso que dices de que el mundo abierto perjudica el playtesting aunque vienen bien cuando juegas en casa. Interesante porque te hace valorar qué quieres de tu juego: si quieres impresionar para ganar algún trofeo, o que quede un juego cerrado en una game jam, o si en cambio aspiras a que ese juego pueda ser algo más.

Desde casa me ha gustado mucho más la opción del mundo abierto :)

RicoAlbe

  • Socio
  • Super Jammer
  • ***
  • Mensajes: 221
  • Molas: 40
Re:[PM] Yo Humano
« Respuesta #5 en: 17 de Julio de 2015, 06:45:54 pm »
He abierto un hilo a raíz de lo que comentáis de los distintos tipos de juego y la impresión que crean en distintos ambientes, que es algo que me lleva rondando la cabeza bastante tiempo.

JuDelCo

  • En evolución
  • Socio
  • Super Jammer
  • ***
  • Mensajes: 240
  • Molas: 35
  • The Game
    • Twitter
Re:[PM] Yo Humano
« Respuesta #6 en: 30 de Julio de 2015, 06:07:48 pm »
Llego un poco tarde pero por fin me he leído el PostMortem  ;D , me confié con el foro pero ya tiene BASTANTE contenido como para digerirlo todo de golpe

Me sorprendió mucho la gran cantidad de contenido que hicisteis para el juego en tan poco tiempo. ¿Como es eso de un mapa tan enorme y detallado? Genial !