Mi primera experiencia trabajando con A.R:
Construyendo experiencias interactivas para dispositivos móviles
En Pixela hemos creado la iniciativa “Re-Spawn”, una serie de proyectos donde buscamos trabajar con distintas tecnologías que tienen el potencial de cambiar la manera en que interactuamos con el mundo a nuestro alrededor. Así, desde un inicio, nos propusimos una meta: que nuestra primera aplicación hiciera uso de la Realidad Aumentada en alguna medida. En papel, esto podría sonar relativamente simple, pero el resultado final fue una aplicación que también necesitó de Inteligencia Artificial y tecnología de videojuegos para desarrollar un juego de fútbol completamente único. Debido a ello, haremos una serie de artículos en donde contaremos nuestra experiencia al trabajar con cada una de estas tecnologías, mostraremos el progreso de cada cual y explicando cómo fue que logramos unirlas todas. Así que, para empezar, nos enfocaremos en el uso de la Realidad Aumentada.
Al ser este mi primer proyecto dentro del equipo de Pixela, estaba preocupado de tener que trabajar con una tecnología que tiene reputación de ser futurista y con la que pocas personas trabajan día a día. ¿Acaso trabajar con A.R sería tan complicado como suena?
Herramientas que hacen de lo imposible algo posible:
El primer paso para desarrollar el proyecto fue investigar qué herramientas se pueden utilizar para trabajar con Realidad Aumentada. Al hacerlo nos topamos con muchas opciones diferentes ¿Pero cuál sería la ideal para llevar a cabo todo lo que nos habíamos propuesto? Muchas veces al desarrollar una aplicación hay programas específicos que parecen ser perfectos para crear lo que buscamos hacer, pero a la mitad del proyecto nos damos cuenta que no era el caso. Pueden haber características esenciales que hagan falta o que sean muy difíciles de utilizar, forzándonos a empezar de cero con otra herramienta.
Es aquí cuando debemos intentar reducir la incertidumbre todo lo posible, investigando a profundidad sobre las distintas opciones que tenemos, las ventajas de cada una, y las desventajas de ellas. Luego de ello nos tenemos que plantear la pregunta:
¿Qué herramienta considero que podría funcionar mejor para lo que buscamos hacer?
Cuando discutíamos esto, siempre venía a la mente ARCore. Un Kit de Desarrollo de Software creado por Google que hace posible trabajar con Realidad Aumentada en dispositivos móviles de forma sencilla y natural. Así que, como equipo, elegimos esta herramienta en base a lo que nuestra voz interna nos decía. Y aunque no había manera de saber que ARCore sería la elección ideal, a medida que fuimos avanzando con el proyecto nos pudimos dar cuenta de ello.
Pasos pequeños:
¿Cómo se trabaja con tecnologías como Realidad Aumentada o Inteligencia Artificial cuando no se tiene un gran conocimiento sobre ellas? Aunque no hay una respuesta exacta, como equipo tuvimos siempre presente que debíamos realizar pasos pequeños, y seguir construyendo sobre eso si queríamos completar nuestro proyecto. Así que empezamos con cosas simples, como colocar cubos virtuales cuando la cámara del celular enfocara una imagen en específico (en este caso, la portada de Mario Galaxy).
Luego empezamos a experimentar más con la tecnología para ver qué tanto podíamos empujar sus límites. ¿Y si en vez de detectar una imagen en específico, detectamos una superficie plana y colocamos el cubo ahí?
Aunque inicialmente hubieron conceptos difíciles de comprender, trabajar con Realidad Aumentada fue cada vez más sencillo. Así que cuando tuvimos conocimiento suficiente sobre ARCore y sus distintas funcionalidades, pudimos aprovechar esta herramienta para aplicarla específicamente a lo que buscábamos lograr en nuestro proyecto. Eso era colocar una portería sobre las manos de un jugador cuando este hiciera un gesto en específico. Y siguiendo con la filosofía de pasos pequeños, empezamos colocando únicamente un cubo.
Problemas de trabajar con Realidad Aumentada.
Aunque logramos hacer pruebas prometedoras e hicimos muchos progresos interesantes, se presentaron varios problemas a lo largo del camino. La Realidad Aumentada es una tecnología que va evolucionando y cambiando constantemente, y aunque esto suene emocionante y prometedor, también significa que un ejemplo de hace 6 meses sobre cómo usar A.R puede no funcionar el día de hoy. Tuvimos que leer mucha documentación que ya no es funcional hoy en día, y para aprender tuvimos que hacer pruebas constantes, muchas veces casi a ciegas. Esto fue parte de un proceso que tomó más tiempo del que hubiéramos pensado al inicio del proyecto.
Aún así el problema más grande que tuve fue que al inicio del proyecto mi celular no soportaba esta tecnología. Si bien cada vez va siendo más aceptado y común su uso, también es necesario contar con ciertos requisitos mínimos en dispositivos móviles para poder ver el mundo a través de la perspectiva que la Realidad Aumentada ofrece. ¿Cómo se puede solucionar un problema como este? Bueno, tuve que cambiar de celular. Al menos en este caso hubo una excusa válida para hacerlo.
Un Futuro Prometedor
Después de un tiempo de aprendizaje y de superar los problemas presentados, logramos cumplir con la meta. Colocamos la portería y la pelota de fútbol como elementos de Realidad Aumentada dentro de nuestra aplicación.
Para ello no fue necesario tener una supercomputadora ni tener conocimientos demasiado profundos sobre el tema. En lo personal, no tenía ninguna de las dos. Sin embargo, pudimos sacar provecho de herramientas desarrolladas por otras compañías para construir algo genial sin tener que empezar desde cero. En conclusión, trabajar con algo tan aparentemente “futurista” puede resultar ser completamente plausible con los recursos que tenemos hoy en día. A pesar de que habrá una curva de aprendizaje que toma tiempo y esfuerzo para superar, con pasos pequeños pero constantes se puede llegar muy lejos con estas tecnologías. Se pueden aprender con un gran nivel de profundidad, y sacar provecho de todo lo que ofrecen. Tan solo se necesita curiosidad, iniciativa, y una idea que llevar a la realidad.
Android, Mobile Development, Jetpack Compose
Creando una animación de sonido con Jetpack Compose
Crear animaciones en cualquier framework puede parecer una tarea complicada, pero Jetpack Compose lo hace fácil.
Android, Mobile Development
Jetpack Compose: enamorándote de Android otra vez
Android como SDK ha tenido muchos cambios que han sido para bien, pero realmente sentía que Android se estaba quedando atrás. Todo esto cambio con el lanzamiento de Jetpack Compose
AR, Videojuegos
Desarrollando videojuegos: no es lo que esperaba, pero eso es bueno.
Crear videojuegos puede ser al mismo tiempo una experiencia familiar y completamente distinta. ¿Cómo desarrollar tu primer videojuego si ya eres un desarrollador avanzado?
Nuevas Tecnologías, Inteligencia Artificial
Gran poder en la palma de tu mano: usando Inteligencia Artificial para construir experiencias de A.R en Android.
La inteligencia artificial juega un papel fundamental en la creación de aplicaciones de Realidad Aumentada.