APRENDE LOS PATRONES DE DISEÑO MÁS UTILIZADOS EN LA INDUSTRIA CON ESTE CURSO DE PATRONES DE DISEÑO PARA VIDEOJUEGOS

DIME SI ESTO TE SUENA FAMILIAR...

  • ​Conoces los patrones de diseño pero no sabes cuándo aplicarlos o peor: no conoces los patrones de diseño.
  • ​Tu código es difícil de leer y modificar.
  • No consigues destacar en las entrevistas de trabajo.
  • ​Sabes que se puede escribir un código más flexible y mantenible pero no sabes cómo.
  • ​No tienes un mentor del que puedas aprender y seguir creciendo como desarrollador de videojuegos.

SI TE HAS VISTO REFLEJADO EN ALGUNO DE ESTOS CASOS NECESITAS APRENDER A APLICAR PATRONES DE DISEÑO

¿Cuales son las ventajas de utilizar patrones de diseño?

Nos aportan un lenguaje común con el que comunicarnos con el resto de programadores, además obtendremos un código homogéneo.
Son soluciones contrastadas a problemas comunes que se repiten en todos los proyectos. Estas soluciones suelen cumplir los principios SOLID y eso es una gran ventaja.
Te ayudarán a destacar en las entrevistas de trabajo ya que una pregunta que siempre se repite es que explique los patrones de diseño que conozcas o hayas aplicado.
El código resultante de aplicar un patrón será mucho más mantenible que el código de no aplicarlo. Además cualquiera que conozca estos patrones será capaz de entenderlo y modificarlo.
Cuando aprendes a utilizar patrones de diseño te puedes centrar en la lógica de tu algoritmo y no preocuparte por los detalles de la implementación ya que esto vendrá dado por el patrón.
Este conocimiento te acompañará durante toda tu carrera como desarrollador de videojuegos y marcará una diferencia.

Todo lo que necesitas saber para aplicar los patrones de diseño en tus videojuegos

MÓDULO 1

BIENVENIDA. CONFIGURACIÓN INICIAL

  • Presentación del curso.
  • ​Presentación del grupo y canal de Discord privado.
  • ​Creación del proyecto inicial.
  • ​Ponte cómodo: crea un espacio de trabajo a tu medida.
  • Introducción a los patrones de diseño.

MOVIMIENTO DE LA NAVE

  • Veremos el diagrama inicial del movimiento.
  • ​Crearemos la nave y la lógica de movimiento en la propia nave.
  • ​Veremos la problemática de tener el input en la propia nave cuando necesitamos hacer un juego multiplataforma, o cuándo queremos cambiar el input por la IA de un bot.
  • Diagrama añadiendo más tipos de controles.
  • ​Explicación del patrón Adapter y veremos el diagrama de la solución aplicando este patrón.
  • ​Explicación del patrón Strategy.
  • Añadiremos nuevos tipos de input aplicando el patrón Adapter y Strategy.
  • ​Al final del módulo tendremos la nave moviéndose con un control para teclado o joystick, y otro control para dispositivos móviles.

MÓDULO 2

MÓDULO 3

¡QUÉ EMPIECE EL FUEGO! DISPAROS DE LA NAVE

  • Veremos el diagrama inicial para los disparos de la nave.
  • ​Explicación del patrón Mediator y veremos el diagrama aplicando este patrón sobre la nave para extraer la responsabilidad de disparar.
  • ​Añadiremos la funcionalidad necesaria en el Input para conectar con la creación de proyectiles.
  • Explicación del patrón Factory Method y diagrama aplicando este patrón para la creación de proyectiles.
  • ​Implementaremos la creación de proyectiles con el patrón Factory Method, el cuál nos permitirá añadir más tipos de proyectiles.

AMPLIANDO LOS DISPAROS DE LA NAVE

  • Añadiremos otro comportamiento del proyectil distinto.
  • ​Explicación del patrón Template Method y diagrama aplicando este patrón para la lógica de proyectiles.
  • Añadiremos más proyectiles aplicando el patrón Template Method, cada proyectil tendrá un tipo de movimiento distinto.

MÓDULO 4

MÓDULO 5

CREACIÓN DE LAS NAVES ENEMIGAS

  • ​Veremos la problemática de no abstraer la construcción de naves del spawner de enemigos.
  • ​Explicación del patrón Builder y diagrama aplicando este patrón sobre la creación de naves.
  • ​Abstraeremos la creación compleja de las naves con el patrón builder y lo combinaremos con el patrón Factory Method para abstraer la elección del prefab a utilizar por la nave.
  • ​Añadiremos la lógica para empezar y terminar las batallas.
  • ​Explicación del patrón Facade.
  • ​Aplicaremos el patrón Facade para la lógica de empezar y terminar la batalla.

¡QUÉ EMPIECE LA BATALLA! DESTRUCCIÓN DE NAVES Y PUNTOS

  • Veremos el diagrama añadiendo la lógica de destrucción de naves y acumulación de puntos.
  • Analizaremos la problemática de hacerlo directamente en la nave al colisionar.
  • ​Explicación de los patrones Singleton.
  • ​Aplicaremos el patrón Singleton para contar los puntos y mostrar la pantalla de GameOver.
  • ​​Explicaremos los patrones Observer Y Event Queue para luego combinarlos.
  • ​​Refactorizaremos el código anterior para desacoplarnos gracias al Obsever y Event Queue.

MÓDULO 6

MÓDULO 7

MENÚ Y FLOW DEL JUEGO

  • Estados del juego, victoria y derrota.
  • ​Explicaremos el patrón State y lo aplicaremos a los estados del juego.
  • ​Primera versión del flow inicial y el patrón Service Locator.
  • ​Primera versión del flujo del menú.
  • ​Explicación del Command y CommandQueue.
  • ​Aplicaremos el patrón Command y CommandQueue para terminar el flujo del juego.

ALMACENADO DE PUNTOS Y LEADERBOARD

  • Crearemos el sistema para almacenar los puntos de las batallas.
  • ​Explicación del patrón Composite.
  • ​Combinaremos el patrón Composite con el Command para hacer comandos más complejos.
  • ​Desarrollaremos el menú de leaderboard y lo conectaremos con el menú aplicando el patrón Mediator.

MÓDULO 8

MÓDULO 9

TOCA PONERLO BONITO

  • Es momento de hacer que nuestro juego luzca bonito, añadiremos el arte para mejorar nuestro juego visualmente.
  • ​Añadiremos el arte para toda la UI.
  • ​Crearemos varias naves y proyectiles distintos.
  • ​Haremos que el background se mueva con un offset para que de la sensación de movimiento.
  • ​Configuraremos nuestro nivel para que el juego sea divertido.

SOBRE EL CURSO

El curso está totalmente orientado a aprender practicando, por eso iremos desarrollando un videojuego desde 0 aplicando los patrones de diseño.

Uno de los principales problemas a la hora de aplicar los patrones, es que al principio resulta confuso saber qué patrones aplicar y es fácil cae en el "patronitis".

Que conozcamos los patrones de diseño y sepamos aplicarlos, no quiere decir que todo deba de ser un patrón, con este curso aprenderemos a identificar cuándo es necesario aplicar un patrón y cual de ellos.

Los patrones están divididos en 3 grupos según el problema que intentan resolver, tenemos: patrones de creación, patrones de comportamiento y patrones de estructura. En el curso veremos en detalle estos 3 grupos.
Para el curso utilizaremos Unity 3D por su versatilidad y por ser uno de los motores más utilizados en la industria, pero los conocimientos que adquieras los podrás aplicar con cualquier motor que elijas.

Una vez aprendas a trabajar con patrones de diseño, podrás trasladar este conocimiento a cualquier tecnología y lenguaje de programación.

Una vez accedas al curso, se irán desbloqueando los módulos de forma automática según avances en el curso. Esto es así porque no quiero abrumarte con toda la información desde un inicio y quiero que te tomes tu tiempo para practicar e interiorizarlo.

PATRONES QUE UTILIZAREMOS

Patrones de creación

  • Factory Method: Abstrae cómo creamos los objetos.
  • Builder: Permite crear objetos complejos por partes.
  • Singleton: Se asegura de que solo exista una instancia.

Patrones estructurales

  • Adapter: Nos abstrae de la clase concreta permitiendo más flexibilidad.
  • Facade: Hace de intermediario entre los consumidores y varios sistemas.
  • Composite: El consumidor no sabrá si hay 1 o 100 objetos detrás de este.

Patrones de comportamiento

  • Template Method: Define un esqueleto del algoritmo.
  • Command y Command Queue: Encapsula una orden y la encola.
  • Mediator: Encapsula cómo interactúan varios objetos entre sí.
  • ​Strategy: Permite intercambiar una familia de algoritmos.
  • State: Permite cambiar el comportamiento de un objeto en función de su estado.

Patrones de desacoplamiento

  • Service Locator: Proporciona un acceso global a los servicios sin acoplarte a la clase concreta.
  • Event Queue: Desacopla cuando un evento se envía y cuando se ejecuta.

Patrones de optimización

  • Object Pool: Nos permite reciclar los objetos y optimizar el rendimiento y la memoria.

GRUPO PARA LOS ALUMNOS

El curso cuenta con unos canales privados para los alumnos del curso. El objetivo de estos canales es que los alumnos puedan plantear sus dudas y resolverlas.

Todos los alumnos tienen acceso a estos canales, por lo que coincidirás con alumnos que acaban de empezar, o alumnos que ya llevan más tiempo haciendo el curso.

Esto es genial porque nos ayudará a crear una sinergia entre todos los alumnos y que entre todos nos ayudemos.

No te preocupes porque yo también estaré en estos canales e intentaremos que ninguna duda se quede sin su respuesta 🙂.

CURSO PATRONES DE DISEÑO
PARA VIDEOJUEGOS

267 €

IVA incluido
  • Acceso de por vida al curso.
  • ​Descarga el código y diagramas para practicar.
  • Acceso a todas las actualizaciones.
  • ​Acceso al grupo de Discord exclusivo para los alumnos.
  • ​Soporte técnico incluido.
  • ​Garantía incondicional de 30 días.
Pago en 2 cuotas también disponible.

CURSO COMPLETO PARA POTENCIAR TU CARRERA COMO DESARROLLADOR

ELLOS YA HAN DADO EL PASO...

Francisco Javier Pascual, game developer

<< Pese a que hay muchos lugares en los que aprender patrones, el enfoque práctico de este curso ayuda a interiorizarlos con un enfoque completamente práctico aplicado en el desarrollo de un videojuego desde cero.

Cada paso, cada patrón, y cada ejercicio se ven plasmados en el desarrollo, al igual que las relaciones entre distintos patrones y su utilidad. Totalmente recomendable. >>

Javier Hidalgo, analista programador

<< Los conceptos del curso están muy bien explicados, se acompañan de ejemplos que ayudan a entender mejor los patrones. Primero vamos programando como haríamos sin usar patrones y vemos los problemas que nos surgen y cómo utilizar el patrón adecuado a cada problema.

Curso 100% recomendable si quieres hacer videojuegos. >>

Francisco Reyes, game developer

<< El curso vale completamente la pena. Dani es un excelente profesor que se empeña en dejar lo más claros los temas y se sale de los típicos patrones que todo el mundo enseña: "Singleton".

En este curso aprendí nuevos patrones que resuelven problemas que te topas al desarrollar un videojuego y así poder enfocarte más en las mecánicas principales del juego. >>

Y POR SUPUESTO MI GARANTÍA INCONDICIONAL DE DEVOLUCIÓN

Si cuando entres en el curso no es lo que esperabas, tienes hasta 30 días para solicitar que te devuelva el 100% de tu dinero. Sin trampas ni cartón, solo quiero que pagues por aquello que te vaya a servir, y si sigues el curso dalo por hecho.

DESCUBRE COMO LOS PATRONES DE DISEÑO TE PUEDEN AYUDAR EN TU DÍA A DÍA COMO DESARROLLADOR DE VIDEOJUEGOS

¡HOLA!

Soy Daniel Parra, desarrollador de videojuegos desde hace 10 años y un apasionado de la programación.

Llevo toda mi carrera profesional desarrollando videojuegos para distintas plataformas y con distintos motores. He desarrollado juegos para WiiWare, PS4, Steam/PC y dispositivos móviles, y he trabajado con Unity, Unreal y motores propios de la empresa desarrollados en C++.

He preparado este curso práctico para enseñarte la importancia de conocer los patrones de diseño, los beneficios que nos aportan y que aprendas a aplicarlos en tu día a día como desarrollador.

¿Te animas?  😁

IVA incluido

PRUEBA LOS 2 PRIMEROS MÓDULOS DE FORMA TOTALMENTE GRATUITA

He abierto los primeros módulos del curso para que todo el que quiera ver el contenido y cómo es el formato del curso lo pueda ver.

El primer módulo es la presentación del curso y del proyecto que haremos, un juego de naves. En el segundo vamos a desarrollar el movimiento de la nave y veremos los primeros patrones.

Estos módulos también incluyen el código inicial y la solución a cada una de las lecciones, aunque la idea es que el alumno pueda llegar por sí mismo a la solución, practicando es como se aprende.

Para acceder a la parte gratuita solo tienes que registrarte en la plataforma desde el botón que encontrarás abajo.
Sin letra pequeña, puedes hacer estos dos módulos de forma gratuita y luego si quieres puedes adquirir el curso, o puedes no adquirirlo. La decisión es toda tuya.

POR SI AÚN TIENES DUDAS, AQUÍ VAN LAS PREGUNTAS MÁS FRECUENTES

¿El curso es para todos los niveles?

Para poder hacer el curso con soltura y aprovecharlo al máximo necesitarás unos conocimientos mínimos de programación y de Unity.

Este no es un curso donde te enseñaremos a hacer videojuegos desde 0, aquí te enseñaremos a aplicar patrones de diseño para desarrollar videojuegos.

¿Durante cuánto tiempo tendré acceso al curso?

Una vez accedas al curso tendrás acceso de por vida, lo que significa que podrás hacer el curso a tu ritmo y verlo tantas veces como necesites.

¿Qué programas utilizáremos para el curso?

Utilizaremos Unity 2019.4 LTS, pero puedes utilizar cualquier versión de Unity. Además los conocimientos aprendidos los podrás aplicar a cualquier motor.
Como editor de código utilizaré Rider, el cual cuenta con una versión de prueba de 30 días y te ánimo a probarlo, pero podrás utilizar tu editor de código preferido.

¿Qué resultados me garantizas si sigo las lecciones?

Los resultados obtenidos dependerán mucho de tu implicación en el curso ya que se trata de un curso práctico donde el alumno debe practicar la lección y escribir su propio código (aunque yo también proporcionaré el código resultado).
Lo que te puedo garantizar es que yo pondré todo por mi parte para enseñarte los patrones de diseño y que los puedas exprimir al máximo en tus juegos.

¿En qué idioma está el curso?

Todos los vídeos y artículos del curso están en español, pero el código del proyecto está en inglés ya que es el estándar de la industria.

¿Qué diferencia a este curso de cualquier otro curso de patrones?

Este curso está totalmente orientado a videojuegos y se focaliza en los patrones más utilizados para desarrollar videojuegos.

¿Qué métodos de pago acepta el curso?

Puedes pagar con tarjeta de crédito/débito y con PayPal.

¿Cómo resuelvo las dudas que me puedan surgir?

El curso cuenta con un grupo privado solo para los alumnos del curso pensado para hacer networking y que los propios alumnos se puedan ayudar unos a otros. Además yo también estaré en este grupo y podré proporcionarte mi ayuda.

FORMULARIO DE CONTACTO