Desde que era pequeño me han fascinado los mundos virtuales y sus posibilidades. Pero ya siendo más mayor, me empezó a gustar la idea de ser yo quien da vida a mundos y personajes a través del código. Impulsado por el compromiso de crear experiencias significativas e inmersivas, estoy terminando mi grado en Diseño y Desarrollo de Videojuegos en la Universidad Rey Juan Carlos (2021, Madrid, España).
Durante mis estudios, he colaborado con un gran equipo, donde asumí roles que me permitieron conectar la comunicación entre diversos campos como programación, diseño de sonido y modelado 3D. Gracias a esto he mejorado mucho mis habilidades de programación y he construido una mentalidad adaptable esencial para el desarrollo de videojuegos.
A lo largo de la carrera, he profundizado en mi comprensión de lenguajes y herramientas de programación, incluyendo Unity (C#), Python, C++, HTML, CSS y JavaScript, desafiándome a diseñar mecánicas y sistemas más complejos. Mis proyectos también me han llevado a crear juegos de forma independiente, donde desarrollo la programación central mientras mi hermana contribuye con arte 2D.
A través de estas experiencias, he adquirido sólidas habilidades en arquitectura de código, redes multijugador y mecánicas interactivas. Mi objetivo es seguir mejorando mi experiencia y construir proyectos de mayor escala e impacto.
Proyecto individual, 2 años, 2023-2025
Deep Sea Dragon Dash es un proyecto que estoy llevando a cabo de manera extraescolar junto con mi hermana. Es un juego casual de móvil con un estilo parecido a juegos como Geometry Dash y Jetpack Joyride. En este juego de scroll lateral, el jugador debe avanzar lo máximo posible, esquivando obstáculos y derrotando enemigos con sus llamas. Además, el jugador puede recolectar monedas para adquirir aspectos para el dragón y completar misiones diarias para obtener monedas extra. Durante la partida, el jugador debe pulsar la pantalla para sumergir al dragón y soltar para que salga lanzado hacia arriba, permitiéndole saltar obstáculos y realizar un salto extra en el aire. También podrá recoger potenciadores que mejoran temporalmente las habilidades del dragón.
Deep Sea Dragon Dash es un juego PEGI 3, diseñado para atraer a un público joven o personas que hagan largos trayectos en transporte público. Por esta razón, el estilo visual es cartoon y desenfadado, con una interfaz fácilmente reconocible y diseños atractivos y coloridos.
Este proyecto comenzó como un juego web sencillo desarrollado en HTML y JavaScript. Mi objetivo inicial era crear una experiencia divertida y accesible en navegadores. Sin embargo, a medida que avanzaba en el desarrollo, decidí expandir su alcance y convertirlo en una aplicación móvil.
Para la versión en Android, usé Android Studio y un WebView, lo que me permitió adaptar el juego a dispositivos móviles sin reescribir todo el código. Esta versión inicial para Android me dio la oportunidad de explorar el proceso de distribución en la Play Store y conocer mejor las limitaciones y oportunidades en plataformas móviles.
Actualmente, estoy recreando el proyecto en Unity para implementar funciones avanzadas como anuncios y una base de datos para almacenar las puntuaciones de los jugadores. Este cambio también permitirá mejorar el rendimiento y la experiencia del usuario en dispositivos móviles, ofreciendo una experiencia más pulida y profesional.
Al comenzar el desarrollo de Deep Sea Dragon Dash, no había implementado patrones de diseño avanzados, ya que la primera versión del juego, en HTML y JavaScript, se creó con conocimientos básicos de Programación Orientada a Objetos. Esta versión inicial emplea un GameLoop en JavaScript para gestionar la lógica del juego y la actualización constante del renderizado, pero no implementa otros patrones.
En la versión actual, desarrollada en Unity, estoy integrando patrones de diseño adicionales para organizar mejor el código y facilitar el crecimiento del proyecto. Estos incluyen el patrón Observer para gestionar eventos como la recolección de monedas y la activación de boosters, permitiendo que estos elementos se actualicen automáticamente sin dependencias rígidas. También utilizo el patrón Entity-Component de Unity para dar flexibilidad a la gestión de componentes y el patrón Singleton para manejar opciones globales del jugador, garantizando una instancia central accesible en todo el proyecto.