lunes, 19 de enero de 2009

Planificación de un videojuego

El desarrollo de un videojuego siempre comienza antes de la fase de codificación. Debemos tener una buena planificación sobre nuestro juego. No basta con tener una idea sino que hay que ordenarla.

Seguramente ésta parte es la más infravalorada para la gente que, como yo, no hace juegos profesionales. Al leer documentos sobre planificación de videojuegos me he dicho en más de una ocasión: "va, para que voy a hacer ésto, menuda pérdida de tiempo", pero realmente ayuda y mucho. Te permite aclarar y pulir tus propias ideas y muchas veces al volver a leerlos se te ocurren más cosas que introducir o cambiar. Al final todo depende de que queremos hacer con nuestro juego y para que y quien/es fue creado.

Lo primero que tenemos que tener claro es a que destino del mercado vamos a dirigirnos. El destino de un videojuego siempre son sus jugadores. En el mercado actualmente existen dos grandes categorías de jugadores.

  • Jugadores infrecuentes: Más comunmente llamados "Casual gamers" (jugadores ocasionales), buscan juegos donde la mecánica del mismo sea fácil de entender y que en general requiera de poco esfuerzo avanzar en él. Juegan poco y cuando lo hacen no buscan una excesiva complejidad.
  • Grandes jugadores :También denominados "Hardcore gamers". Invierten varias horas en jugar, usualmente buscan juegos largos con una buena historia y buenos detalles gráficos, con controles de jugador avanzados y complejos, diversas opciones de dificultad que les supongan retos para poner a prueba su habilidad, etc..


Dentro de estos dos grandes grupos existen subgrupos, como podrían ser los jugadores de consola, dispositivos portatiles, etc..

Una vez sabemos a que tipo de jugadores va a estar destinado nuestro juego, debemos elegir un género para él : estrategia, shooter, aventura, acción, deportes, conducción, lucha, juego de rol, naves, etc...

Cuando tengamos el destino y el género para nuestro videojuego, debemos planificarlo para que se convierta en un buen juego y no algo abstracto que vamos creando mientras lo desarrollamos.

Toda planificación de un juego debería tener, en la medida de lo posible, los siguientes puntos claves:

Breve descripción:
Una pequeña descripción del juego en unas 25 o 30 palabras. Por ejemplo: "un juego de estrategia espacial con diferentes razas (humanos y extraterrestes) donde las batallas trancurrirán en diversos planetas luchando por la conquista.". o "un juego de futbol con diversos campeonados donde los jugadores serán animales" y cosas por el estilo, no hace falta ser un lumbreras.

Objetivo:
Todo juego debe tener un objetivo, ya sea el de salvar el mundo de los extraterrestres, derrotar al demonio, ganar la copa de europa, etc... El objetivo del juego define un principio del cual partir para crear la historia, por lo que será la guía para crearla.

La historia:
Esta ligada claramente al objetivo del juego, explicando y justificando el objetivo del mismo. Es crucial para mantener al jugador inmerso en él. Podemos crear historias no lineales dentro de la misma historia con el objetivo de que el jugador crea o tenga la sensación de contribuir en ella.
Además debemos fijar todos los detalles que la afectan o la arruinaremos. Por ejemplo, no vamos a introducir una música de Metalcore plagada de adrenalina en una escena romántica o triste, o colocar un ferrari, si nuestro juego relata las aventuras en el año 920 DC. La historia es una parte muy importante en los juegos y no queremos que pequeños detalles nos la arruinen.

Criterios de finalización y otros estados:
El juego debe tener unos criterios de finalización, los de finalización de juego probablemente serán el propio objetivo del videojuego, pero hay que definir también muchos otros. Criterios de no victoria, por ejemplo, cuando el jugador muere, pongamos por caso definiendo que es cuando su vida llega a 0, o cuando no ha cumplido los objetivos de la fase(destruir 4 bombas nucleares), etc... Además, cuando el personaje muere ¿que influira en ello?, ¿no habrá penalización?, ¿reaparecerá con la vida al 50%? o ¿existirá otro tipo de penalización?, ¿tal vez el número de proyectiles que tenga en su poder?

Dentro de los diferentes tipos de criterios de finalización hay que definir también y es algo vital, como el jugador volverá al juego, puntos donde se permitirá guardar y luego volver a ese punto(o cercano) al comenzar nuevamente. Tambien están los criterios de final de nivel, etc.

Existen otros criterios que abordar a parte de los de finalización, ¿Que tiene que hacer el jugador para curar a su personaje?, y ¿cuanto le curará esa acción? o no menos importante, ¿cuando sube de nivel?, ¿o cuando consigue mejores armas o municiones?, etc.. Hay muchísimos criterios que deben ser definidos para el correcto funcionamiento de nuestro juego.

Jugabilidad:
Definiéndola vulgarmente sería lo divertido que puede llegar a ser jugar a nuestro juego. En unos 20 o 30 minutos de juego debemos demostrarlo, de lo contrario ese tiempo puede marcar que un jugador no vuelva a probar nuestro querido videojuego.

La jugabilidad está relacionada con el tipo de jugadores que anteriormente seleccionamos. No es lo mismo una jugabilidad para un casual gamer que para un hardcore. La jugabilidad nada tiene que ver con la calidad gráfica que posea el juego.

Un juego con una buena jugabilidad será aquel que muestra una interactividad óptima para el tipo de juego que es y el tipo de jugadores para el cual fue creado.

El diseñador del juego debe crear una serie de reglas que serán las que marquen la interactividad del jugador con lo que ocurre en su pantalla. Para ello, debe plantear una serie de decisiones equilibradas, ni demasiado fáciles ni demasiado dificiles, que muestren que abordar según que retos es difícil, al mismo tiempo debe hacer ver que no son imposibles, creando de esta manera una satisfacción al superarlo.

Hay muchísimas cosas que influyen en la jugabilidad y para todas ellas debemos crear esas pequeñas reglas. Un control intuitivo del personaje, una interaccion fluida de las acciones que toma el jugador respecto a la historia o el mundo en el juego, etc, El conjunto de estas reglas definirán la mecánica de tu videojuego.

No basta con que tengamos una jugabilidad apabullante en el inicio, sino que debemos mantenerla, un juego repetitivo está abocado al aburrimiento y al fracaso.

Programación:
Como no, la programación. Debemos planear estados, tanto de personajes como de objetos, tipos de colisiones y que impacto tendrán en el juego, las clases base, las propiedades e incluso si crearemos o utilizaremos frameworks o motores externos. Aqui puede ir todo lo que se te ocurra y que necesite ser escrito.

Otros:
Además de estos puntos existen muchos otros, aunque varios de estos seguramente pueden ser introducidos en la jugabilidad del juego. Pero por ejemplo podemos pensar en tener una comunidad online, con foros y artículos, o podemos tener en mente grabar un registro de records online que pueda ser consultado para ver las puntuaciones frente a otros jugadores, incluso subir capturas de pantalla o videos desde el propio juego a la comunidad, etc. También y no menos importante, planear algo para que el jugador vuelva a querer jugar a nuestro juego, esto podría ser desbloqueando niveles de dificultad, o añadiendo algun que otro cambio. Y no hay que olvidar los premios, debemos definirlos. ¿Que conseguirán los jugadores por pasar los retos a los que les hemos puesto a prueba?.



Nota: Yo tengo la creencia que un juego hecho con ganas e ilusión por parte de los desarrolladores se nota más tarde al jugarlo. No empieces algo que no te gusta, porque seguramente afectará al resultado final. Además nunca te pongas como objetivo realizar juegos que superen tus conocimientos, jamás los terminarás, creeme, lo sé por propia experiencia. :D

Hay cosas que uno comprende que no las sabe hacer, pero tiene la convicción que aprenderlas no será muy dificil, de éstas no hablo. Pero intentar hacer un MMO sin haber realizado ningún juego o haber hecho 1 o 2 pequeños, no entra en algo que definamos como fácil.

Es más importante acabar un juego que tener uno enorme pero incompleto. Haz juegos fáciles y pequeños al principio y luego ya irás subiendo de nivel.

3 comentarios:

  1. Un detalle a hacer notar.

    Toda esta parrafada que has puesto, es desde una perspectiva muy comercial, incluso hablas del "mercado al que vamos a dirigirnos".

    Por supuesto todo eso esta muy bien, pero no crees que tambien deberias plantear la vertiente no comercial?

    Es decir, el planteamiento de crear un juego para divertir sin pensar en nada mas, partiendo de la base de que crees que puede ser divertido.

    por ponerte un ejemplo, pones que todo juego ha de tener un objetivo, historia etc... No es necesario, los juegos mas sencillos a menudo carecen de ella. Aunque luego (despues de ser programados) se les ponga una. El Tetris, el pong y muchos otros.

    A modo de resumen, tu texto indica un tipo planteamiento de juego muy concreto como "objeto que funcione". No creo que sean las premisas ideales para empezar

    ResponderEliminar
  2. Hola Alex,

    Me alegra verte por aquí.

    Yo creo que todo juego tiene un objetivo. Quizás no todos tengan una historia, pero si un objetivo. Te pondré un ejemplo:

    Un juego de tenis, el típico de los dos palos, uno a cada lado de la pantalla. Puedes hacer este juego sin objetivo alguno, más que hacer rebotar la pelota y ya está. Pero le pones un marcador y el objetivo es llegar a un número fijado de puntos. El que hace más puntos y rondas (previamente definidas) gana la partida.

    Tal vez son cosas muy obvias, pero ¿que hace ganar un punto en tu juego?, por ejemplo que la pelota sobrepase al jugador(o palo :D). Luego puedes definir mil cosas más, como que los usuarios pongan a cuantas rondas y puntos quieren jugar, pelotas explosivas, diversas pantallas con velocidades variables o más de una pelota. Para hacer esto deberás definir unos criterios, etc...


    Tu juego no tiene que ser comercial, de hecho nadie comienza a hacer juegos comerciales, yo no he hecho ninguno, pero si puede tener los componentes de los que hablo, creo que una mínima guía o puntos a seguir para definir tus videojuegos, pueden ayudar a mejorarlos sin dejar de divertirte su desarrollo. Incluso aunque tus primeros juegos no tengán todo lo expuesto aquí. De hecho tengo algunos donde simplemente he puesto. "Historia: No tiene." :D

    Para finalizar, me gustaría dejar claro que hacer un juego comercial no es fácil y desde luego no es el objetivo de este blog. Sin embargo, si lo es el conocer el desarrollo de videojuegos, e intentar hacerlos lo mejor que uno pueda. Por ello creo que era oportuno en este post abarcar un poco más, pues considero que es útil como ejercicio a la hora de crearlos.

    También adelanto que está escrito como guía, ya que en futuros post, donde se crearán juegos sencillos, pretendo poner lo que vamos a programar antes de codificarlo.

    ResponderEliminar