Videojuegos

Historia de los Videojuegos WebGL

Los videojuegos han evolucionado de formas sorprendentes a lo largo de las décadas. Desde los simples juegos de píxeles de los años 70 hasta los impresionantes mundos virtuales en 3D y el metaverso de hoy en día. Todo este maravilloso mundo del entretenimiento ha tenido un avance significativo y muchos de nosotros hemos visto esos cambios. Uno de los sucesos más relevantes en esta evolución gamer es la llegada de WebGL. Es la tecnología que ha permitido llevar los diferentes juegos que conocemos a los navegadores web conservando la calidad y la jugabilidad.

En la actualidad, hay una amplia gama de bibliotecas disponibles para la creación de gráficos por ordenador, dependiendo del propósito y la plataforma deseada. Entre ellas se encuentran DirectX de Microsoft; WebGL, utilizado comúnmente en la web; Metal de Apple; OpenGL y Vulkan (de Khronos Group). Son los estándares de código libre más utilizados.

El inicio de WebGL

En el año 2009 y luego de varios experimentos realizados con Canvas 3D entre Mozilla y Opera surge la iniciativa del proyecto WebGL. En cabeza de Khronos Group nombrando el proyeto como WebGL Working Group y empezando así a desarrollar lo que sería una de las tecnologías mas revolucionarias para el desarrollo web. ¿Quieres ver un timeline?, hazlo pulsando este enlace.

WebGL (Web Graphics Library) es una tecnología basada en OpenGL ES (Open Graphics Library). Introducida por primera vez en el navegador Mozilla Firefox en 2011 ya que fueron los principales precursores de esta tecnología y quienes hicieron en mayor parte este desarrollo. No faltó mucho para que también se implementara como un estándar en Opera, Chrome, Safari e Internet Explorer (El anterior nombre de Microsoft Edge). WebGL permite a los desarrolladores aprovechar el poder de la GPU del dispositivo del usuario que está accediendo al sitio web y así poder renderizar gráficos 3D de alta calidad en tiempo real directamente en el navegador y sin necesidad de tener instalados complementos o acceder a servicios de plugins externos.

A continuación podrás ver un video informativo y más interactivo acerca del tema.

WebGL en dispositivos moviles

El uso de WebGL en dispositivos móviles ha generado un interés significativo en los últimos años debido a la creciente potencia que incorporan los diferentes tipos de los dispositivos móviles y la demanda de experiencias web interactivas.

Uno de los principales desafíos de WebGL en dispositivos móviles es el rendimiento. La potencia de procesamiento limitada y los recursos gráficos restringidos de los dispositivos móviles pueden afectar negativamente el rendimiento de las aplicaciones WebGL. La optimización del rendimiento es crucial para garantizar una experiencia de usuario fluida en cualquier dispositivo pero con más énfasis en los dispositivos móviles con WebGL. Además del rendimiento, los desafíos de interacción y experiencia del usuario también deben abordarse al implementar WebGL en dispositivos móviles. La pantalla táctil y los sensores de movimiento ofrecen nuevas formas de interacción, pero también requieren un diseño cuidadoso para garantizar una experiencia de usuario intuitiva y satisfactoria.

Varias soluciones han sido propuestas en la literatura para abordar todos esos desafíos de rendimiento WebGL en dispositivos móviles. Estas incluyen técnicas de optimización de rendimiento, como la reducción de polígonos y el uso eficiente de texturas, así como enfoques innovadores para la interacción móvil, como la detección de gestos y la realidad aumentada que está ahora muy de moda.

Aplicaciones WebGL

  1. Educación y Aprendizaje: Los aplicativos WebGL se han utilizado como herramientas de aprendizaje efectivas en entornos educativos. Estos juegos pueden proporcionar simulaciones interactivas y entornos inmersivos que facilitan la comprensión de conceptos complejos en áreas como la física, la biología o la historia. Una empresa dedicada al software educativo se llama JClic que permite desarrollar aplicativos tanto web como de escritorio a través de su JClic Applet.
  • Salud mental: Se ha investigado el uso de plataformas web en las que se hace seguimiento de terapias para tratar trastornos de salud mental. Incluyendo la ansiedad, la depresión o el trastorno de estrés postraumático.
  • Arquitectura y Diseño Urbano: Hay diferentes web que han utilizado los elementos de diseño como unity combinado con WebGL para la visualización arquitectónica y el diseño urbano (recorridos virtuales). Lo que actualmente nos permite conocer un apartamento, una construcción, un proyecto o un parque sin tener que ir hasta el sitio sino de manera remota.
  • Investigación científica: En campos como la biología, la química y la física, se utilizan plataformas web para la visualización y simulación de diferentes fenómenos o de diferentes características del cuerpo humano o animal. Por ejemplo, tenemos un aplicativo web que nos permite ver los diferentes componentes de la vista humana.
Realidad Aumentada para educación

Desarrollo de videojuegos WebGL

Para empezar con la historia de los videojuegos WebGL. Mucho antes de la llegada de esta tecnología, los videojuegos en la web solían depender de tecnologías como Flash, Java Applets o solo HTML incluyendo muchas líneas de código con Javascript y CSS para poder brindar una buena experiencia al usuario que accedía a estos sitios web para divertirse. El problema es que estas tecnologías tenían limitaciones significativas en términos de rendimiento, seguridad y accesibilidad. Con la creciente demanda de experiencias de juego más sofisticadas y compatibles con una amplia gama de dispositivos (web, móviles) se vio la necesidad de una solución más moderna y con mejor calidad gráfica.

Banana Bread

Uno de los aspectos importantes en la historia de los videojuegos WebGL fue el lanzamiento de BananaBread en 2012. Desarrollado por Mozilla, este juego de disparos en primera persona demostró el potencial de WebGL para crear experiencias de juego inmersivas directamente en el navegador. A partir de ahí, el número y la calidad de los juegos WebGL comenzaron a crecer rápidamente. Los desarrolladores se interesaron por la plataforma ya que permite hacer todo mucho mas fácil a la hora de ejecutar los videojuegos sin necesidad de ejecutables o de descargas de contenidos, sin la necesidad de llenar nuestro disco duro de archivos podemos ver un entorno web el cual no consume tanto recurso de disco o de procesador.

Unity y WebGL

Unity y WebGL

Unity lo conocemos por su versatilidad y capacidad para crear juegos de alta calidad en diversas plataformas. Con una amplia gama de herramientas y una comunidad activa, Unity facilita a los desarrolladores la creación de experiencias interactivas envolventes. Desde juegos móviles hasta realidad virtual, demostrando el poder ser una opción confiable para proyectos de desarrollo de juegos de todos los tamaños y géneros.

La combinación de Unity y WebGL es una muy buena opción para el desarrollo de juegos web en cualquier plataforma. Unity proporciona un entorno familiar para los desarrolladores, permitiéndoles crear juegos con todas las características que esperarían en un entorno de desarrollo de juegos tradicional. Por su lado WebGL proporciona la librería de integración amplia para poder combinar sus gráficas. Al compilar proyectos en WebGL, los juegos creados en Unity pueden ejecutarse directamente en navegadores web modernos. Esto está siendo utilizado actualmente en la industria para realizar recorridos virtuales, claramente como habla el articulo videojuegos también e inclusive como métodos de enseñanza en simuladores.

A pesar de sus ventajas. No todo es tan bonito como parece y el desarrollo de juegos web con Unity y WebGL también nos representa algunos desafíos. Como ya hablamos anteriormente, acerca de la optimización del rendimiento ya que es un elemento crucial a la hora de garantizar al usuario una experiencia de juego fluida en una variedad de dispositivos y navegadores (teniendo en cuenta la amplia gama que existe con la gran cantidad de arquitecturas existentes). Además, los desarrolladores deben tener en cuenta las limitaciones de hardware y las restricciones de seguridad al diseñar juegos web para un público amplio.

Características de los videojuegos WebGL

  1. Rendimiento y Optimización: Los dispositivos móviles suelen tener recursos limitados en comparación con los equipos de escritorio (PC), lo que puede afectar el rendimiento de los videojuegos WebGL. La optimización es clave para garantizar una experiencia de juego fluida en todos estos dispositivos.
  2. Experiencia del Usuario: La experiencia del usuario en dispositivos móviles puede ser muy diferente entre los equipos de cómputo y los móviles debido a diferencias en la interfaz de usuario, la pantalla táctil y otros factores. Los desarrolladores deben considerar estas diferencias al diseñar juegos WebGL para dispositivos móviles.
  3. Distribución y monetización: La distribución y la monetización de los juegos en plataformas web o móviles con WebGL incluyen lo mismo que en otro tipo de juegos, con pautas publicitarias y lo que ya conocemos como el Pay-to-Win.

Futuro de los videojuegos WebGL

Los videojuegos actuales han evolucionado desde los gráficos planos y lineales desde los 8 bits al 2D pasando al efecto 3D. En los entornos de realidad virtual, los jugadores pueden vivir experiencias más cercanas al mundo real, donde los usuarios escuchan y ven. En un futuro cercano, tocarán y olerán el mundo digital.

Los videojuegos del futuro, impulsados por las mejoras en inteligencia artificial, gráficos de alta definición, procesamiento de imágenes digitales, sensores, diseño 3D. Si nos fijamos en la increíble potencia que tienen hoy en día los dispositivos que van saliendo al mercado se integran nuevas formas de interacción entre el usuario y el equipo. Finalmente los videojuegos evolucionarán para ser cada vez más inmersivos y realistas. Se ha visto el caso de muchos videos generados por computadora que realmente parecen una grabación en vivo con la cámara de un teléfono.

Realidad Aumentada

NFT

Que es un NFT

Con la creación y diseños de NFT, muchos videojuegos han pasado de lo que conocemos como play-to-win hacia el play-to-earn permitiendo al usuario entrar en el mundo del blockchain y los cryptos. Esta modalidad permite a los jugadores ganar dinero comprando y vendiendo activos digitales, ya sean terrenos o casas virtuales, avatares, complementos del juego. Incluso tenemos imágenes cifradas que permiten tener la clave de un blockchain con una cierta cantidad de dólares.

Axie Infinity, es un metaverso play-to-earn dónde su moneda principal son los Ethereum. Los jugadores crían y entrenan a unos monstruos digitales llamados Axies los cuales son monetizados y permiten al usuario tener una mascota . Dependiendo de las diferentes combinaciones, cada mascota presenta unas características propias, las cuales se pueden probar en combates.

Siguiendo esta línea de tratamiento de los videojuegos actuales. Podríamos imaginarnos el crecimiento increíble que habría en un futuro (no muy lejano). En el cual podamos simplemente con acceder a nuestro navegador de preferencia (Chrome, Mozilla, Opera, Edge). Podamos solamente colocarnos unas gafas de realidad virtual y empezar a navegar por la web con nuestros ojos. Visualizando todos los contenidos que generan los diferentes desarrolladores dentro de la web, visualizando gráficos 3D sintiéndonos en un mundo totalmente real a la hora de estar navegando por la web. O tal vez si nos vamos un poco más allá e imaginamos algo más interesante podríamos pensar en un dispositivo físico que nos permita manejar una web solo con nuestros ojos desde cualquier lugar que nos encontremos puede ser nuestra casa, el colegio o la calle, aunque falten muchos años para lograrlo y muchísimo desarrollo tecnológico.

Créditos

Autor: Santiago Corzo Forero

Editor: Carlos Pinzón

Código: UCCG-9

Universidad: Universidad Central, facultad de ingeniería y ciencia básicas

Fuentes

Brown, A. (2019). Mobile Interaction Design. John Wiley & Sons.
Chen, C., Wang, Y., & Wu, J. (2017). "Design and implementation of mobile games based on WebGL technology". En 2017 IEEE International Conference on Mechatronics and Automation (ICMA) (págs. 1639-1643).
Johnson, M., et al. (2017). Mobile Augmented Reality. O'Reilly Media.
Jones, P., & Smith, L. (2018). WebGL Performance Optimization. Packt Publishing.
Matsuda, K., & Lea, R. (2013). WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL. Addison-Wesley Professional.
Smith, J. (2020). WebGL Graphics Programming. Manning Publications.
Unity Technologies. (2018, 4 de diciembre). Empezar con el desarrollo de WebGL. Manual de Unity. https://docs.unity3d.com/es/2018.4/Manual/webgl-gettingstarted.html
Zhang, Z., Li, K., & Zhang, M. (2018). "Real-time rendering for mobile WebGL". En Proceedings of the 12th International Conference on Ubiquitous Information Management and Communication (págs. 1-5). ACM.