23 de Septiembre, 2012

Más sobre la PyWeek

Así que he completado mi primera PyWeek, que ya es una hazaña en si misma ;), aunque el juego en cuestión no está acabado (de hecho es demasiado corto, es un juego de género y no engancha muy bien con el tema de la competición; así que no espero puntuaciones muy altas).

El motor podría mejorarse en varios aspectos (falta una animación cuando se impacta en un enemigo o en la nave del jugador, y al final me quedó tan bien el fondo que no implementé scroll parallax, como era la idea inicial), pero que el motor fuera más completo no significaría un juego más acabado, porque el motor no es el juego.

Me parece que ese es uno de los factores más importantes de desarrollar un juego en un tiempo limitado, creo que hay que buscar ideas en las que la mecánica del juego sea el propio juego, porque no vas a tener tiempo para implementar las reglas y además una serie de niveles que son en realidad lo que vamos a jugar.

Además hay que acotar bien el número de componentes del juego, porque no vas a poder dedicar tiempo a diseñar muchos gráficos y comportamientos diferentes.

Por eso mi elección de shot'em up es mala idea, sobretodo para una entrada individual (en un equipo quizás no sea tan grave si se reparte el trabajo adecuadamente).

Una vez tuve el motor listo (una nave controlada por el jugador que dispara y recoge power-ups que incrementan el escudo/potencia de disparo, detección de impactos, animar explosiones, etc), solo pude diseñar 4 enemigos distintos (contando los meteoritos :P), mostrando un total de 6 comportamientos diferentes.

Luego hay que disponer esos actores en un guión, que es el diseño del nivel por el que el jugador avanza, indicando dónde y cuándo aparecen los enemigos, qué enemigos proporcionan un power-up al ser destruidos, etc.

Resumiendo: no hay tiempo para todo. Además cometí algunos errores tontos, como tardar demasiado en decidir qué juego implementar (desperdicié 3 días pensando :S), o elegir una perspectiva horizontal, que es más complicada para el grafista incompetente (¡lo que sufrí para animar la nave que va rotando sobre su eje!), o no planear los niveles y sus necesidades antes de ponerme a diseñar enemigos sin valorar bien que dificultades implican (tuve muchos problemas para que las hordas circulares afinaran su puntería lo suficiente... tener claras las matemáticas de antemano tiene que ahorrar riempo :S).

Entonces, ¿qué tipo de juegos son más adecuados para este tipo de competiciones? Se me ocurren algunos ejemplos:

  • Puzzles: está claro si miramos a Tetris, aunque no todos los puzzles están exentos de tener que diseñar niveles como se ve en Sokoban o Deflektor, al menos el motor de juego puede ser lo suficientemente simple como para que compense.
  • Estrategia: hay muchos géneros, y dependiendo de la profundidad, puede ser un proyecto asequible siempre que la inteligencia artificial del juego sea fácil de implementar. Por ejemplo, el ajedrez sería mala idea, pero juegos tipo tower defense suelen dar buenos resultados.

Mirando las entradas de esta edición, las más entretenidas y mejor acabadas en mi opinión siguen precisamente uno de estos esquemas (incluso tratándose entradas de grupo y no individuales). Algunos ejemplos son: Shunned Survivor y All About the Monsters, ambos juegos de estrategia tipo tower defense, y Charon's Obol, Little Red Riding Hood y Walkway como diferentes tipos de puzzle.

Esto no quiere decir que no hayan excepciones (Last Train to Nowhere es una pasada, incluso para ser una entrada de equipo), pero en general creo que el objetivo es encontrar una idea que encaje en estas premisas y luego adaptarla al tema que salga elegido para ambientar el juego.

La verdad es que no tengo mucha idea de ninguno de estos temas (compré un libro sobre diseño de juegos hace tiempo, era muy aburrido y no pude acabarlo :S), pero por los resultados de ediciones anteriores, parece que mis conclusiones tienen algo de sentido. Intentaremos ponerlas en práctica en la próxima convocatoria ;).

Anotación por Juan J. Martínez, clasificada en: python, programming, pyweek.

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: