5/11/20

Por que cuando creamos multimedia debemos apelar a las emociones?


 

Emociones humanas

Todo el contenido que podemos observar desde internet, que proviene de la industria creativa tiene una finalidad, llegar al usuario de una u otra forma, es por ello que como parte de los procesos del diseño, la sección que apela a las emociones es fundamental ya que lo que buscamos es conmover a los lectores, usuarios, jugadores, o espectadores y hacerlos participes de nuestra visión.


Es en este punto donde podemos toparnos con algunos términos en la industria de los videojuegos por ejemplo que hace alusión a cuanto podemos hacer que nuestros usuarios sean participes o estén al pendiente de nuestro juego / producto.
Engageability : prácticamente seria la característica particular de un producto interactivo / multimedia de mantener atrapada nuestra atención.

Sabemos de antemano que nuestras emociones son capaces de guiar nuestro comportamiento, por lo que transgredir estos limites pueden provocar que nuestros usuarios pasen de ser fans a ser la primera línea que provoque la caída de nuestro producto.
es por ello que dentro del proceso creativo de diseño grafico, modelado 3d, animación, diseño de interfaces, programación y efectos especiales, se toman muy en serio la tarea de crear estéticas que solidifiquen la visión que se pretende conseguir cuando se tiene un concepto que desea apuntar hacia lo emocional.



pero diseccionemos un poco este tema comenzando por ejemplo por las recompensas.

Dentro de un videojuego invitar a los usuarios a descubrirlo por dentro, implica una sutileza para evitar el castigo emocional que implica un tutorial, 


COCO | New emotional trailer for Disney Pixar animation ...
https://www.cinemablend.com/news/1729139/why-coco-is-pixars-most-emotional-film-according-to-benjamin-bratt




Es por ello que debemos preguntarnos cuando diseñamos un producto multimedia que es lo que queremos sentir, y que buscamos hacer sentir a nuestros usuarios / jugadores / fans / espectadores cuando interactúen con nuestro producto.



DISEÑO EMOCIONAL

Dentro de nuestro videojuego, encontraremos que por diseño tendremos, retos, recompensas, castigos, boosters, power ups, mecánicas, retroalimentacion, logros, transacciones turnos y un largo etcétera que hace que un videojuego bien construido sea un producto complejo.



Me estas diciendo que soy un tonto o que?


 El "uso" del juego, debe trascender al  "domino" del mismo y para esto tomar decisiones importantes en la etapa de pre producción pueden darnos como resultado:

    • Exposición al peligro: básicamente la forma en la que funcionan muchos juegos donde por diseño tu como jugador debes salir al mundo y conocer de que van las reglas y como jugar con ellas.
    • El cuarto de sandbox: un punto de partida para personas que no son tan asiduas a los videojuegos y se sienten seguras comenzando por saber como jugar, es prácticamente el espacio dentro del juego donde perder no implica perder realmente, donde por diseño las emociones que podemos capturar son neutras.
    • Lecciones contextuales: uno de mis favoritos ya que básicamente el tutorial se ha divido en múltiples partes y se ha esparcido por todos los niveles dando como resultado una serie de lecciones de como proceder ante las diferentes mecánicas, reglas y castigos.

Enfoquémonos en este ultimo método, en el que podemos utilizar y dependiendo el tipo de juego, por ejemplo <<mecánicas de búsqueda y/ logro>> en las que por medio de una serie de retos la recompensa emocional sea el incentivo, aunque si esto únicamente forma parte del tutorial para enseñar como se juega, el jugador puede perder toda motivación de hacer otra clase de tareas que no generen esta clase de incentivos y provean de sentido a dicha actividad.

uno de los aspectos que aprovechan y rectificaran el rumbo del producto hacia la meta emocional de los jugadores viene a ser la interfaz de usuario, la cual puede ser un aliado para crear ese sentido de construcción, descubrimiento o creación dentro del juego ya que si todo esta desbloqueado o visible estas tareas de búsqueda/logro pueden tornarse monótonas.

por otro lado ese sentido de linealidad en el que todo debe ser hecho, logrado, descubierto o encontrado 1 detrás de otro puede resultar monótono también si no se recompensa con un reto mas grande en el siguiente nivel.

la siguiente pareja de palabras que define esto es:
Proposito y direccion

Es decir por un lado los objetivos dentro de un juego pueden llegar a ser finitos, pero los tableros de score pueden representar una forma de empujar al jugador un poco mas allá retándolos a competir contra ellos mismos y/o contra otros competidores.

Una de las formas mas comunes de echar a perder un juego que apunta a ofrecer recompensas emocionales es que estas se vuelvan monótonas, redundantes o sin propósito, provocando que los jugadores se vuelvan menos creativos, poco motivados a participar, o que busquen alternativas para hacer trampa.


Estas características pueden o no describir a todos los jugadores, ya que mientras un jugador de minecraft crea sus propias mecánicas y su motivación intrínseca es alimentada, otro podría estar perdiendo justamente el interés en seguir participando.


En resumen:

Metas opcionales, retos que el jugador pueda completar cuando lo desee, en lugar de pasos restrictivos y subsecuentes,  histogramas, tablas de score o resultados puede ser mas motivadores para el siguiente intento,  así como recompensas sorpresa que el usuario no espera ni tiene conocimiento de que existan.

 Te imaginas recibir una recompensa al final de un par de tareas completadas solo por que si?

ok pero este post era sobre emociones, por lo que debo mencionar que esta parte de las mecánicas que implican las recompensas también poseen su implicación emocional, aunque existen evidentemente otros aspectos que recompensan al jugar como las graficas, la música, la jugabilidad, etc.



si leíste hasta aquí y te gusto el post regálame un "like" en la pagina de facebook y sigue pendiente de  nuestro trabajo.








30/9/20

Unity tutorial: introduccion a Unity, interfaz de usuario para newbies: 101


 

Imagen de: https://docs.unity3d.com/Manual/UsingTheEditor.html


(A) La barra de herramientas:

Proporciona acceso a las funciones de trabajo más esenciales. 

En la parte izquierda, contiene las herramientas básicas para manipular la vista de escena y el GameObject dentro de ella.

En el centro, están los controles de reproducción, pausa y pasos.

A la derecha,  tienes el  acceso a Unity Collaborate, Unity Cloud Services y a tu cuenta de Unity, seguido de un menú de visibilidad de capa y, finalmente, el menú de diseño del editor (que proporciona algunos diseños alternativos para las ventanas del editor y le permite guardar su propios diseños personalizados).


(B) La ventana de jerarquía:

 Es una representación de texto jerárquica de cada GameObject en la escena. Cada elemento de la escena tiene una entrada en la jerarquía, por lo que las dos ventanas están intrínsecamente vinculadas. La jerarquía revela la estructura de cómo los GameObjects se unen entre sí.




(C) La vista de juego :

Simula cómo se verá el juego renderizado final a través de sus cámaras de escena.

 Al hacer clic en el botón Reproducir, comienza la simulación.



(D) La vista de escena :

 Te permite navegar y editar visualmente su escena. La vista de escena

 puede mostrar una perspectiva 3D o 2D, según el tipo de proyecto en el que esté trabajando.



(E) La ventana del inspector :

Te permite ver y editar todas las propiedades de los GameObject seleccionados actualmente. Debido a que los diferentes tipos de GameObjects poseen conjuntos distintos de propiedades, el diseño y el contenido del Inspector cambia cada vez que selecciona un GameObject diferente.

Además de poder agregar nuevos componentes por medio del botón que se ubica al final este es el medio por el cual estableceremos las configuraciones de cada uno de los elementos que se encuentran en la jerarquía.



(F) La ventana Proyecto:

 Muestra la biblioteca de Assets que están disponibles para usar en el Proyecto. 

Cuando importas Assets al proyecto, aparecen aquí.

estos puede ser modelos 3D, efectos de sonido, scripts, texturas, entre otros tipos especiales.


Estas son de las ventanas mas importantes dentro de Unity existen otras ventanas no tan secundarias pero que solo comenzaras a utilizar cuando vayas a editar objetos mas especializados como animaciones,  arboles de estado, sprites, editar audios o programar un shader o diseñar un efecto especial.














si has leído hasta acá, y aprendiste sobre la interfaz de Unity,  te agradezco,  visítanos en nuestras redes y comparte.








Unity tutorial: Delegados y eventos, una forma inalambrica de comunicar componentes (lógica desacoplada)


 

Introducción

En muchas ocasiones la comunicación entre clases y componentes dentro de un videojuego hecho con Unity, es vital para poder desencadenar eventos en el momento adecuado y enriquecer las experiencias así como optimizar el funcionamiento del interactivo. 

En esta ocasión y para efectos de este tutorial hare uso de un caso especifico donde el uso de esta herramienta de programación le permitirá a los componentes a interactuar y realizar sus acciones en el momento en el que se necesita.


Caso de uso

[VR TAXI Stories]:

En el juego del taxi, es necesario notificar a los pasajeros cuando el vehículo ha llegado por ellos y para esto existen múltiples formas como vinculando clases en el inspector y generando instancias, para desacoplar esta lógica y poder reutilizar el componente de notificación hemos hecho uso de EVENT y DELEGATE


Solución

Esta solución constara de 2 partes una clase que implemente estos tipos y  una clase que se suscriba y este al pendiente de estos eventos cuando ocurran.



Para ello hemos creado la clase, la cual contendrá la lógica para notificar cuando ocurren los eventos.


esta lógica de notificación incluye un método con un nombre similar al de las variables Event y Delegate, este método se encarga de validad si existe alguien suscrito por medio de un simple condicional IF y si esto es así dispara el evento.


En este caso una parte del  signature del método especial,  define como parámetro una variable booleana


[recordando que el signature de un método esta dado por: nivel de acceso, el valor de retorno y cualquier parámetro].


por diseño hemos incluido únicamente un evento relacionado con el taxi en esta ocasión para notificar cuando el taxi ha llegado a su ubicación.

Para ello hemos hecho uso de un componente muy conocido Trigger, el cual servirá en esta ocasión para validar que efectivamente el vehículo ha llegado a la posición correcta para recoger al pasajero.



Lógica de la mecánica hasta este punto:

Llega el vehículo al lugar->
         Entra al collider/Trigger -> 
        Valida que ha llegado(con un booleano)->
        Notificador dispara el evento-> 
Componentes suscritos al evento son notificados.


Clase suscriptora:

Para ello hemos creado una clase Passenger la cual es la definicion de lo que nuestro pasajero puede hacer ...


La forma en la que esta clase se suscribirá a los eventos será utilizando el operador += y la forma en la que esta se des-suscribirá de los eventos será con el operador -= estas dos operaciones son supe importantes para que funcionen correctamente los eventos.

y para que esto funcione haremos uso de dos métodos importantes OnEnable y OnDisable,  para que básicamente sirven para preguntar cuando un objeto esta disponible y activo.


ahora es muy importante notar

 QUIEN DEBE SUSCRIBIRSE?

Bueno pues recordemos que el signature del método especial que creamos, recibía un booleano, y que el delegado que creamos también tenia esta forma...

 por lo que la pregunta de quien debe suscribirse, encuentra su respuesta en. . .

Un método que posea la misma forma es decir devuelva un tipo vacío y reciba como parámetro un booleano específicamente para este caso.










Si has leído hasta acá y este tutorial te ha servido para entender el uso de eventos y delegados déjanos tus comentarios en nuestras redes sociales y comparte.









25/9/20

Unity Tutorial: Como crear un minimapa utilizando RenderTextures


 


Como crear un minimapa? ...



En esta ocasion y mas a modo de tutorial que como parte del Dev log, les traigo este tutorial de como hacer cosas dentro de Unity, el cual te permitira desde como crear un minimapa hasta como crear como en mi caso un sistema de GPS para navegar dentro del juego...

Comenzamos


Que necesitaremos?



Para este sistema vas a necesitar básicamente la imagen representativa de tu mapa en mi caso utilice una toma aérea que luego edite en un programa de edición para estilizarlo un poco, ya que esta no será mi imagen final, pero para efectos de este tutorial basta para que te des una idea.

Imagen aerea del mapa del juego.

Posteriormente dentro de unity necesitaras crear un canvas

el cual por configuracion se debe encontrar en World space como lo indica la siguiente imagen.


 Una vez que hayas configurado tu UI en este caso el canvas con todos sus elementos necesarios además de posicionarlo en el espacio 3D como finalmente quieres que se vea, en mi caso lucirá así ...


(*Lo he sacado de su posición para que mostrarles.)

Vamos a crear una segunda cámara la cual funcionara como la parte encargada de recuperar y proyectarnos en el UI la sección que corresponderá al mini mapa...


    
 Dicha cámara deberá estar apuntando hacia abajo por lo tanto habrá que girarla 90° te comparto mi configuración


Aunado a esto he creado un script que te compartiré mas abajo para que la cámara siga al personaje en este caso es un vehículo  ...



Como habrás notado en la configuración de la cámara en la imagen superior, este contiene un Target Texture el cual crearemos haciendo lo siguiente...



En mi caso esta es mi configuración del RenderTexture ... puedes jugar con los valores y ver tu resultado


Vaya pues añade este RenderTexture a la cámara (la segunda cámara que hemos creado).

Bien ahora viene la magia en mi caso yo he creado un plano que coincide con el tamaño de mi mapa de escenario.


Por lo que he necesitado crear 2 materiales 1 que será utilizado para colocar el mapa en dicho plano



y en mi segundo material, he colocado nuevamente el render texture


Esto significa que lo que esta viendo la cámara que hemos colocado a 90° por encima del plano  será lo que por medio del render textura se proyecte en nuestra UI que les mostrare básicamente como la he configurado para que esto suceda...

Dentro del canvas cuento con un panel al cual le he agregado un material el cual contiene  contiene el renderTexture, recuerda el que creaste anteriormente y esto basicamente hace la magia de proyectar un mapa de GPS o en tu caso un MINIMAPA para tu juego...




Gracias por llegas hasta aquí.



























23/9/20

DevLog : VR TAXI STORIES


 

Introducción.

En esta cuarentena he decidido iniciar este proyecto utilizando el motor de videojuegos Unity y mi visor de Oculus Go, este proyecto comenzó con la visión de hacer un juego de carreras y probar que es funcional tener un Oculus Go corriendo gráficos de cierta manera similares a los de PS One por lo que me di a la tarea de hacer las pertinentes investigaciones... derivado de ello resulto en este proyecto que espero sea de su agrado y así como yo al leer esta entrada puedan aprender cosas interesantes y útiles de Unity, modelado 3d, un poco de animación, Rigging y programación.


Planteamiento del desarrollo del juego:


Logo tentativo.
Logo.


 VR Taxi Stories.


 Es un juego, de espectador en el que una serie de historias se entrelazan durante un evento fortuito que sucede en la ciudad de San Romero Valley en donde la vida de un grupo de personas se ve envuelta en misterio, intriga drama y mucho humor negro.

En Taxi Stories eres el chófer de un taxi de la compañía ComfortTaxi, durante los viajes atestiguaras múltiples conversaciones entre los lugareños, mientras este los conduce por la ciudad o se encuentra estacionado en algún punto de la calle.

Durante el juego es posible que escuches pistas o elementos que te ayuden a entender la vida entrelazada y problemática de estos curiosos personajes.

Taxi Stories ofrece una experiencia de manejo en VR utilizando el mando de Xbox o algún mando que pueda conectarse, este juego esta diseñado para Oculus Go.

Taxi Stories tiene como particular elemento poder escuchar las diferentes historias de estos curiosos personajes, con la finalidad de desentrañar el fallecimiento misterioso del benefactor de la ciudad.



 MODO DE JUEGO (EJEMPLO:)


La inteligencia del juego se encargara de secuenciar la llegada de cada uno de los personajes, por lo que llevarlos a su destino será tu misión…

p.ejm.

Aborda el taxi, Aura Bella, una chica linda de cabello negro largo, piernas torneadas y altura envidiable, con el rímel corrido y sollozando.

Opciones :

voz del conductor 

            A) --adonde la llevo

            B) --esperar a que ella hable.

            C) --pregunta si esta bien?

Dependiendo la elección

            el taxista dice :

                    Dialogo_1

            La chica responde.

                    Dialogo₁


PERSONAJES:

para complementar esta historia se crearan varias fichas de personaje esto para facilitar la redacción de la historia

pero quienes son estos personajes?

Nuestra historia principal se centra al rededor de Thadeus Remington el benefactor del pueblo quien es el magnate y genio de la construcción que ha traído prosperidad al valle, y aunque su acenso y carrera no han sido fácil, y un grupo de personajes al rededor de el han generado con los años una serie de rencillas y diferencias que saldrán a la luz con la muerte misteriosa de nuestro personaje principal.


Personajes
En el diseño principal Thadeous es caucásico pero he decidido cambiarlo por un personaje mas Afroamericano.

Una vez llenada las fichas de personajes, pues procedo a crear esta historia ya que se conocen las motivaciones y trasfondo de cada personaje es un poco mas sencillo sin minimizar esta tarea ya que aun hay que hacerla interesante... 
Cabe mencionar que escribir un guion no es tarea fácil o sencilla ya que del tema conocía poco... para ello les recomiendo leer a "Syd Field" con su libro "Screenplay: the foundations of screenwriting".

Habiendo entendido y elegido la estructura de 3 actos para esta historia pues procederé a crearla de a poco. misma que iré posteando en entradas futuras.

Otra de las cosas que impactara el como se redacte esta historia es la animación de los personajes, tengo recursos limitados con mis habilidades como animador pero eso no me va a detener.


Cosas novedosas a implementar

Manos VR con gestos
Una de las cosas a implementar dentro del juego es el hecho de tener manos con gestos,  aunque por las limitaciones del visor no corresponderán con las del jugador  (tal vez en una actualización hacia el oculus Quest quedara implementadas a full),  pero estas podrán reaccionar a la posición de la cabeza, ya por ejemplo al voltear a ver hacia el espejo o hacia el estéreo y presionar el botón de acción correspondiente estas manos podrán cambiar la estación de radio o ajustar el espejo, asi como cambiar las velocidades del vehículo e interactuar con la palanca y el volante.



Conclusión parte 1

Estas han sido algunas de las cosas que se incluyen dentro del juego, y un poco del proceso de concept llevado a cabo en la siguiente entrada quiero hablarles de como se concibió la ciudad y las zonas importantes de esta para llevar a cabo las historias.

si has leído hasta aquí te agradezco tu tiempo y te pido me regales un like en el la fan page de Realform Studio.