Proyectos Profesionales

Rosie AR (Unity, C#)

Rosie AR es un juego muliplataforma en realidad aumentada actualmente en desarrollo. Emplea los frameworks de Apple ARKit y Google ARCore sobre Unity ARFoundation para crear experiencia en realidad aumentada compartida entre ambas plataformas.

La motivación principal del juego es enseñar conceptos básicos de programación a los niños. El objetivo es guiar al entrañable robot Rosie hasta la meta utilizando ciertas órdenes que se colocan sobre el tablero para que Rosie las ejecute de forma secuencial.

 


 

 

Plataforma Silverwall (C#, Unity)

Se trata de una base de código para cualquier aplicación móvil o web que sigue un patrón de arquitectura modelo-vista-controlador-adaptador (MVCA) separando así los datos y la lógica de negocio de la gestión de la interfaz de usuario y la propia interfaz gráfica. Su cometido principal es disponer de una base de código mantenible, escalable y de la mayor limpieza posible no dependiente del tipo de proyectos a realizar. Implementa el patrón SOLID de diseño de clases, facilitando así la extensión de comportamientos y flexibilidad de uso.

Otras entidades presentes en la plataforma son los servicios, que aglutinan la lógica de un controlador y un modelo para exponerse en una entidad única y empleables de forma independiente; y los módulos, que son entidades que contienen un MVCA con un comportamiento específico pero son reutilizables en diferentes contextos.

 


 

 

Pirate Match Adventure (Unity, C#, Javascript, HTML5)

Pirate Match Adventure es un juego F2P de puzzle multiplataforma hecho en Unity y publicado en Google Play, Apple Store y Facebook. Ambientado en la temática pirata y con estilo cartoon, se trata de un juego con progresión basada en niveles con dificultad creciente. De forma progresiva, se introducen nuevas mecánicas a la hora de interactuar con el tablero tratando de conseguir los diferentes objetivos que se van proponiendo.

Mi labor en el desarrollo fue la siguiente:

  • Desarrollo de la arquitectura de la aplicación, máquina de estados, servicios e integración con un motor de inyección de dependencias de código (Unity y C#)
  • Selección, integración y desarrollo sobre servicios externos: IAP, Facebook, PlayFab, CDN, Ads (Unity Ads y AdMob), Google Play Games, Game Center…
  • Integración de gráficos desarrollados por los artistas en el proyecto con gráficos estáticos y animaciones realizadas en Spine
  • Desarrollo de la interfaz principal, interacción y programación de la animación de los personajes, así como algunos efectos gráficos como las transiciones de amanecer y anochecer
  • Integración de servicio y herramientas para soporte de múltiples idiomas
  • Integración de un gestor de servicios de métricas: de desarrollo propio, Flurry y Unity Analytics
  • Desarrollo e integración de un gestor de errores en tiempo de ejecución de la aplicación
  • Gestión de credenciales y publicación en Google Play, Apple Store, Facebook canvas y Facebook Gameroom
  • Implementación de servicios de autenticación de usuario, encriptación y sincronización de datos cliente-servidor
  • Programación y gestión del servidor en PlayFab con Javascript

 

 


 

 

The Great Whale Road (Unity, C#, Javascript)

The Great Whale Road es un juego para PC publicado en la plataforma Steam (recientemente retirado, Gameplay visible en vídeos de análisis en youtube) que mezcla RPG con bastante narrativa, gestión de recursos y combate por turnos. Está ambientado en la edad media de países nórdicos y tiene una progresión de la historia basada en eventos y campañas seleccionables por el usuario que, dependiendo de las decisiones que se tomen, modifican el transcurso del juego. Está diseñado para crecer en profundidad mediante ficheros JSON que componen cada una de las campañas de los personajes y la propia historia.

Colaboré en el desarrollo en los siguientes aspectos:

  • Gestión de eventos dinámicos y bajo demanda de usuario
  • Mejora e implementación de usabilidad de las cámaras y la interfaz en el combate
  • Solución de bugs y condiciones de carrera para completar el ciclo de juego
  • Documentación del proyecto mediante análisis de dependencias y de flujo
  • Herramienta realizada sobre Google Spreadsheet que permitía exportar los datos que se disponían en columnas en una tabla a un formato JSON en función de una sintaxis (Javascript)

 

 


 

 

Our Bingo-Video Bingo (AS3, AIR, Java, PHP)

Our Bingo-Video Bingo es un juego F2P de simulación de casino multijugador y multiplataforma publicado en Google Play, Apple Store, Amazon AppStore y Facebook. Está dividido en 3 subjuegos: bingo clásico (multijugador), videobingo o salas temáticas (multijugador) y un módulo de bingo más rápido con características más similares a las tragaperras (para un sólo jugador). Está integrado dentro del portal de juegos Our.com y, por tanto, tiene unos datos de usuarios y economía compartida entre todos los juegos.

Mi trabajo en este proyecto fue:

  • Implementación y desarrollo de un framework horizontal para reutilizarlo en todas las aplicaciones móviles que se iban a desarrollar en la empresa (AS3)
  • Integración de servicios de terceros para plataformas móviles: IAP, Facebook, Notificaciones push… (AS3, Java, PHP)
  • Soporte y validación de compras y recibos de IAP (AS3, Java y PHP)
  • Integración de gráficos con Starling y generación de atlas en tiempo real en los dispositivos partiendo de gráficos vectoriales (AS3, AIR)
  • Integración de subjuego (VideoBingo) con código compartido web y móvil con integración de motor de inyección de dependencias de código (AS3, RobotLegs)
  • Integración de servicios internos ya disponibles previamente en la empresa: autenticación, métricas, gestión de errores…
  • Integración de animaciones con Dragon Bones
  • Análisis de dependencias y de flujo de módulos del proyecto
  • Gestión de credenciales y publicación para Google Play, Apple AppStore, Amazon AppStore y Facebook

 

 


 

 

Our Vegas-Casino Slots y Our Slots-Tragaperras Casino (AS3)

Our Vegas y Our Slots son ambos juegos F2P de simulación de casino basados en tragaperras y publicados en Google Play, Apple Store, Amazon AppStore y Facebook. Tienen muchísimas temáticas y mecánicas distintas que los hacen atractivos para los usuarios. Our Slots está integrado y comparte datos con el portal de juegos Our.com mientras que Our Vegas es independiente.

  • Soporte para uso del framework multiplataforma de la empresa
  • Uso de herramientas, servicios y módulos horizontales a los proyectos de la empresa

 

 


 

 

Proyecto Integra2 UPV (Unity, C#, PHP, MySQL)

Titular de un proyecto para el desarrollo de un Sistema Tutor Inteligente (STI) que ayude a la selección de estudios y vinculación del mismo en el sistema de realidad virtual UPV 3D (modelado y mapeado 3d de todas las dependencias de la UPV: Universidad Politécnica de Valencia). El proyecto se compone de una parte cliente realizada en C# y Unity; mientras que la base de datos del servidor está gestionada en MySQL y PHP. El proyecto se divide en varias fases:

  1. Autenticación del usuario en el servidor
  2. Representación de forma visual y atractiva para el usuario de un cuestionario en el que, dependiendo de las opciones elegidas, se le define un perfil, se ponderan y ordenan las carreras universitarias afines a dichos valores
  3. Integración de las carreras seleccionadas en el mapa 3d de la universidad para que, mediante algoritmos A* y búsqueda de caminos, se optimicen su recorrido en la universidad para visitar las instalaciones de dichas carreras
  4. Navegación libre del usuario en el mapa 3d de la universidad tutorizada por el recorrido a seguir

 

 


 

 

IBV: Instituto de Biomecánica de Valencia (C++, Blender, Ogre3d)

En este instituto de investigación realicé proyectos de diversa índole como parte del equipo de desarrolo de sofware.
Desarrollé las siguientes características en algunos proyectos:

  • Kinescan IBV 2011
    • Animación 3d para el proceso de asignación y visualización de marcadores para procesos de fotogrametría
    • Visualización 3d de plataformas de fuerza
    • Representación 3d de movimientos humanos mediante la información de marcadores para el sistema de captura de movimiento
  • NedCervical, NedLumbar y NedRodilla
    • Representación 3d de movimientos humanos en base a la información aportada por marcadores
    • Simulación de movimiento humano realista por cinemática inversa
    • Integración de cámaras IP en el sistema de captura de movimiento
  • Ensayo de conflicto visual
    • Modelado, composición, programación y gestión de pruebas para medir la alteración del equilibrio a través de una simulación de realidad virtual
    • Programación de unas gafas de visión estereoscópica (gafas de realidad virtual VUZIX)