Todo tiene unos inicios. Temet Nosce lo tiene, y la asignatura de Tecnología de juegos lo tuvo. En esta asignatura tuvimos de entrada un par de sesiones intensivas donde teníamos que desarrollar un prototipo de un juego. Se hacía en grupos, pero al igual que el resto del juego, porque iba a ser proyecto fin de máster, tuve que hacerlo solo.
En
la práctica tenía unas 6 horas de trabajo para presentar un
prototipo al resto de la clase. Lo de ir solo en este caso fue una
ventaja. Al tener el tiempo tan limitado, tener que ponerse de
acuerdo entre
varias personas en qué hacer, que hace cada uno y luego unirlo puede
suponer más tiempo que el ahorro de varias personas trabajando en
paralelo.
Mi
idea fue jugar con la gravedad, que el usuario pudiera cambiar la
gravedad de la escena para superar obstáculos. Comencé con una
cápsula como personaje moviéndose por el escenario. La mayor parte
del pequeño desarrollo se lo llevó lo que era en realidad la
prueba: cómo hacer el cambio de gravedad, dónde poner la cámara,
el movimiento del personaje... Es decir como encajaría esta mecánica
en un juego.
La
gravedad cambia en 4 direcciones, (en el prototipo con las teclas
wasd), que podría ser con una cruceta, o un segundo joystick. Pero
un mundo en 3D tiene 6 direcciones (bueno, tiene infinitas, pero me
refiero a los ejes cartesianos), y dejar libertad para cambiar la
gravedad en las 6 direcciones hacía el control complicado y el
diseño de niveles muy difícil. Por ejemplo, este pequeño prototipo
tiene un pasillo muy largo. Si pudiéramos poner la gravedad hacia
delante o detrás seguro que hay alguna zona desde la que podríamos
pasar el juego entero con solo cambiar la gravedad hacia delante. Y
no vemos lo que hay detrás, así que cambiarla hacia atrás sería
bastante temerario.
Hablo
de cambiar la gravedad en 4 o 6 direcciones, pero fijas, es decir en
coordenadas globales, o mejor dicho respecto a la cámara. Y la
cámara no gira detrás del personaje. Esto se debe a que sino
podríamos efectivamente poner la dirección en cualquier dirección.
Por ejemplo, el personaje gira 15 grados a la derecha, y cambiamos la
gravedad a la izquierda. Si la gravedad fuera a la izquierda del
personaje, la nueva gravedad sería hacia la izquierda y hacia
delante. Esto haría que fuera muy difícil de jugar y casi no me
imagino como hacer el diseño de la pantalla y de los retos o puzzles
a superar. Por eso la cámara no gira, y cuando cambiamos la gravedad
es respecto al ángulo de la cámara.
Aún
así podemos tener el problema de que si el escenario es muy grande y
no podemos girar la cámara, no veamos a donde vamos a caer haciendo,
haciendo que jugar sea probar suerte cambiando la gravedad en
direcciones al azar. Por eso la cámara tiene que estar a suficiente
distancia del personaje, y ser un escenario lo suficientemente
pequeño para que podamos ver donde caeríamos si cambiamos la
gravedad en cualquier dirección (algo que en el prototipo no
ocurre).
Es
una cierta restricción, pero tampoco vital, sobre todo porque para
Temet Nosce siempre he tomado como referencia la cámara del Crash
Bandicoot, que no giraba sobre el personaje como la del Mario 64.
Incluso
me parece que tiene cierta gracia, y un aire a la coreografía de
Bodas Reales, dejo el vídeo a continuación. Seguramente recuerde
más a la escena de Origen, pero a mi esta escena de Fred Astaire me
gustó mucho de pequeño.
La implementación de la gravedad la hice cambiando el vector de gravedad de Unity. Esto hace que no tenga que andar cambiando como afecta la gravedad a cada personaje o elementos, un cambio y todos usan la nueva gravedad por defecto. Pero a lo mejor eso no es lo que quiero. Por ejemplo en el puzzle de las cajas. Se me ocurrió que aparte de usar la gravedad para superar barreras arquitectónicas, meter un pequeño puzzle para hacer ver las posibilidades de la mecánica. Así que se me ocurrió poner una sección con un agujero en la pared y el camino bloqueado por cajas. La idea es que tenemos que poner la gravedad del lado del agujero para que caigan algunas cajas (si te esfuerzas todas) y puedas pasar. Esto solo es una muestra, de que podría hacer puzzles tipo hacer caer un objeto sobre otro, o en un agujero, o mecanismos, o poner el terreno favorable en alguna lucha... Pero lo malo es que al afectar la gravedad a todos los objetos, puede que por los cambios que hayas hecho para llegar hasta ahí, esas cajas ya hayan caído cuando llegues. Eso no lo puedo permitir. Hay que usar un truco muy habitual en videojuegos y cine: en realidad lo que haces solo afecta a lo que tienes a la vista. Por eso las cajas en realidad no se ven afectadas por la gravedad hasta que no entras en la sección de pasillo donde están, pero no deberían verse desde lejos para que no te des cuenta. Es una sistema que hay que perfeccionar para la versión final del juego, pero será algo en esa dirección para poder diseñar los desafíos de forma local y no volverme loco.
Por
lo demás, cambié la cápsula por un personaje bajado del Asset
Store, toqueteé algo la iluminación usando Lightmaps (nos lo habían
enseñado ese día), puse una pantalla de inicio y la gracia de mario
en el final y ya no dio tiempo a más, por eso el personaje no está
animado, no hay sonido... Aún así lo importante estaba hecho, hacer
ver por donde podían ir los tiros en una mecánica de cambio de
gravedad en 3D. Algo que se incorporará a Temet Nosce en su segunda pantalla.
No hay comentarios :
Publicar un comentario