Empieza el GDC de tu proyecto

¡Manos a la obra! La dificultas principal de aprender Game Design es que se puede quedar mucho en teoria, lo mejor es ir aplicando lo que vas aprendiendo y en este primer ejercicio de Game Design queremos observar cuál es la visión que tiene a la hora de plantear un videojuego.

El Game Design Concept es un documento vivo, es decir a medida que se vaya avanzando en el curso y se entiendan mejor los conceptos de Game Design, este documento se irá modificando y mejorando con el fin de describir el videojuego a desarrollar de la mejor manera posible.

¿Qué debes hacer?

Creo un documento en word o un Google Doc y empieza con lo siguiente:

  • Título
    Nombre de tu juego. Recuerda que esto puede cambiar mas adelante y NO es lo mas importante ahora mismo
  • Descripción de concepto de juego
    Máximo tres líneas
  • Género
    explicar por qué este juego estaría dentro del género planteado
  • Historia
    No te extiendas, recuerda que no estamos escribiendo una novela, vamos a hacer un juego)
  • Personaje principal
  • Mecánicas
    Dejar claro por qué son divertidas y que las diferencia de otros juegos similares. Mínimo 3 mecánicas
  • Audiencia objetivo
    Intenta describir tu audiencia de una manera especifica. De hecho entre mas especifico seas mejor. Podrias empezar con algo tan simple como “personas que le gustan los juegos de carrera” y llegar a algo mas complejo y especifico como “personas entre 18 y 235 años que disfrutan juego de adrenalina, deportes y son, generalmente, extrovertidos”.
  • Competidores y referencias
    Tu juego no es único y eso está bien, a veces una de las mejores maneras de describir un juego es utilizando otros como referencias. En qué se parecen? En qué NO se parecen? Qué piensas que debe hacer mejor tu juego?

Requerimientos:

  • Documento de no más de 10 paginas
  • Ser muy descriptivos con las mecánicas planteadas. Se pueden utilizar imágenes de otros juegos como referencia.
  • Es posible utilizar imágenes en todos los apartados del documento, pero se debe tener cuidado de que estas no ocupen la mayor parte de este.

Crea tu primer nivel

En este modulo conociste Unreal Engine y un poco sobre lo que puedes lograr con el motor así que ahora llegó la hora de pensar en tu proyecto del curso.

Durante el curso vamos a estar realizando un proyecto base que es un TPS (Third person shooter) con enemigos sencillos, coleccionables, un ataque especial y un objetivo para terminar el nivel. La idea es que puedas construir tu juego ENCIMA de lo que estás aprendiendo acá.

¡Por lo tanto este es mas un ejercicio de Game Design que otra cosa!

¿Qué debes hacer?

1) Realiza un doc de game design sobre tu videojuego. Tienes dos opciones: pensar en un videojuego completamente nuevo en tu cabeza o utilizar un videojuego existente como ejemplo.

El videojuego que definas aquí será el proyecto final que desarrollaras durante el curso; es por ello, que debes revisar el contenido de todo el curso en https://www.arkde.com/curso/videojuegos-unreal para enfocar el género de tu proyecto final.

Tu documento debe tener:

  1. Nombre del juego
  2. Características de tu proyecto (piensa en mecánicas)
  3. Version de Unreal que usarás.
  4. Género de tu proyecto
  5. Objetivo del jugador: ¿Qué lo mueve a seguir jugando? Cuál es el loop?
  6. Público objetivo: qué tipo de personas crees que les interesa tu juego?
  7. Propuesta de valor (qué hace al juego único? Arte? Alguna mecánicas? Alguna estética?)

2) Luego de definir tu juego, crea una escena/mapa en Unreal Engine con props básicos que provee el Starter Content del motor (Paredes, puertas, pisos). Piensa en que vamos a crear lo que seria el DEMO de tu juego.

El nivel debe tener un punto de partida (donde el jugador comenzará el demo) y un punto final al que el jugador debe llegar para considerar el demo terminado.

3) Sube tu proyecto a Github
De ahora en adelante piensa en Github como tu lugar de portafolio como programador de videojuegos, en casi cualquier proceso de selección te van a pedir link de tu usuario en Github ya que así es mas fácil descargar tus proyectos y evaluar tu código.

Poco a poco, iras modificando dependiendo a tus intereses del género, a los retos que quieres que existan en él y lo que vas aprendiendo en nuevas clases. Lo importante es pensar: ¿Cómo sería un nivel de mi juego? y representarlo.

Balancing de variables

En este ejercicio vas a practicar tu conocimiento del balancing. Debes realizar el balancing del juego que se está prototipando con el objetivo de:

  1. Balancear de manera adecuada cada mecánica ya descrita.
  2. Si se cuenta con un personaje principal, que éste se sienta cómodo para el jugador y cumpla con los requerimientos del nivel. (que pueda vencer a los enemigos, que pueda llegar al destino en el tiempo adecuado.)
  3. Balancear a los enemigos dependiendo del objetivo del juego.
  4. Definir de manera mucho más precisa, cual es el objetivo del juego (se espera que se un juego fácil o difícil?, lento o ágil?)

En base a todas las variables que se identifiquen y que necesiten ser balanceadas.

Debes listar cada una de esas variables y explicar por qué se balanceó de esa manera.

Crea un blockout del layout propuesto

Diseñar en Unreal Engine (o Unity, cualquier herramienta la verdad) el blockout propuesto definiendo claramente las métricas a utilizar y teniendo claro las mecánicas que se van a implementar.

Para este ejercicio no hace falta tener las mecánicas ya implementadas, pero si se requiere que este pueda ser navegado de principio a fin sin problemas y que elementos que vayan a ser usados como landmarks sean correctamente visualizados.

¡Acá es cuando vas a crear un entorno real de todo lo que diseñaste!

Si deseas enviar algo por la plataforma puede ser un pantallazo de tu nivel ya hecho.

Crea una mecánica de Dash

¡Llegó la hora de probar lo que has aprendido! Te tenemos una tarea, hacer una mecánica completa TU solo/sola. La idea es sencilla, que el personaje de Megaman X pueda hacer su famoso movimiento de Dash.

Para dicha mecánica de movimiento ya tienes los sprites en el spritesheet, por lo que debes hacer lo siguiente:

  • Crear las animaciones y agregarlo como estado a nuestros Animator
  • Hacer una función Dash() y llamarla en el update. Esa función se encarga de todo
  • El Dash funciona de la siguiente manera:
    • Haces dash y te mueves automaticamente mientras tengas presionada una tecla (tu decides)
    • El dash tiene un limite de tiempo. Después de ese tiempo aunque tengas la tecla presionada, el personaje deja de hacer el dash y se mueve normalmente
    • Si hay una caida y presionas saltar, el dash se debe cancelar

Te damos algunos consejos para desarrollar esto:

  1. Averigua el concepto de Time.time
  2. Usa una combinación de GetKey y GetKeyDown
  3. Usa variables para decidir el tiempo que dura el Dash
  4. Define Booleans correspondientes en el animator para ejecutar la animación

En el siguiente modulo encuentras una plantilla ya con una manera de solucionar el Dash, pero te recomendamos pasar un tiempo e intentarlo por tu cuenta.

¡Manos a la obra!