Curso y Libro Flame: Desarrollo de juegos en 2D con Flutter y Dart
Índice de contenido
- ¿Qué es Flame y por qué usarlo con Flutter?
- Sobre el Curso y Libro
- Flame, para el desarrollo de videojuegos en 2D
- Flame trae todo lo necesario para crear nuestros primeros juegos
- Curso para aprender a desarrollar en Flame desde cero
- Para quién es este curso y libro
- Qué aprenderás paso a paso
- Tecnologías y plataformas compatibles
- Prólogo
- Para quien es este curso
- Temario del curso y libro
- Ejemplos reales creados durante el curso
- Introducción
- Crear un proyecto
- Bases - Primeros pasos - Flame 1.7V
- Juego 1, Lluvia de meteoros - Flame 1.7V
- Background en color e imagen - Flame 1.7V
- Background tiled - Flame 1.7V
- Juego 2, Saltar entre tiles - Flame 1.7V
- Opcional: Juego 2, experimentos varios - Flame 1.7V
- Juego 2, Updates Flame - Flame 1.7V - 1.8.1V
- Juego 3, desplazar XY
- Juego 3, Enemigos
- Juego 4, Plantas vs Zombies
- Juego 4, experimentos varios
- Fondos parallax
- Juego 5, Hud: Joystick y botón entre otros
- Audio: Todos los proyectos
Flame potencia Flutter, ya no solo podemos emplear el mismo código para móvil, escritorio y web… además podemos usarlo para crear juegos 2D?”.
Flame es la pieza clave que lo hace posible. Si buscas un curso Flutter Flame completo, práctico y pensado para que entiendas el motor desde cero, aquí te cuento exactamente cómo lo enfoco y qué puedes esperar.
¿Qué es Flame y por qué usarlo con Flutter?
Flame es un motor de juegos 2D construido sobre Flutter, y lo mejor de todo es su simplicidad. Literalmente, instalar Flame es tan fácil como agregar un paquete pub, y voilà: ya tienes un motor de juegos listo para correr en Android, iOS, Linux, Windows, macOS y web.
Lo que me encanta de Flame es que está diseñado para que un desarrollador de Flutter se sienta como en casa. En mi caso, lo primero que noté fue que sus elementos principales, los Components, funcionan igual que los widgets: cada uno representa una parte de tu juego (jugador, enemigo, fondo, consumible…), cada uno con su lógica propia. Esa familiaridad hace que la curva de aprendizaje sea increíblemente suave.
Además, con Flame tienes:
- Manejo de sprites y sprites animados
- Detección de colisiones
- Audio integrado
- Render loop estable a 60 FPS
- Integración perfecta con widgets de Flutter
- Plugins para físicas, SVG, Tiled y más
Con esto puedes pasar de una idea a un prototipo funcional en menos tiempo del que toma arrancar un proyecto Unity.
También tengo recursos gratuitos para el Curso y Libro en el Blog y el curso y libro comunitario/GRATIS en la web de Academia.
Es importante mencionar, que el curso también tiene el formato en libro con el 100% del contenido del mismo, es decir, el curso es equivalente al libro.
Sobre el Curso y Libro
Flame es IDEAL si quieres eres desarrollador con Flutter y quieres APRENDER a crear juegos
Con Flutter, podemos realizar todo tipo de aplicaciones sobre todo enfocadas al ámbito móvil, pero, también podemos utilizar el mismo proyecto para desarrollar no solamente en Android e iOS, si no, de escritorio para Linux, MacOS y Windows, y también para desarrollo web realizando cambios sutiles en el proyecto a nivel de código, aunque, Flutter va mucho más allá con Flame.
Flame, es un motor para crear juegos en 2D con Flutter; su instalación es extremadamente sencilla ya que, Flame no es más que un paquete pub; por lo tanto, con esto, podemos crear juegos en 2D con Flame para móvil, escritorio y web.
Con Flame, podemos crear componentes, que vienen siendo los equivalentes a los widgets en Flutter y en donde los componentes no son más que un elemento de nuestro juego, como un jugador, un enemigo, el fondo, un consumible, etc; y cada componente, contiene la implementación para el funcionamiento del mismo; por ejemplo, en el caso de un player o jugador, contiene la lógica para moverlo, cambio de animaciones, control de las vidas, consumibles, etc; y mediante una clase maestra, podemos organizar toda la lógica de estos componentes.
Este curso y libro es mayoritariamente práctico, iremos conociendo los fundamentos de Flame en base a pequeños ejemplos hasta lograr conocer lo suficiente de la librería para crear un juego en 2D sencillo.
Flame, para el desarrollo de videojuegos en 2D
Flame es un motor de juego 2D de código abierto construido en el lenguaje de programación Dart y se utiliza junto con el framework de Flutter como un plugin más; por lo tanto, podemos usarlo para crear juegos en dispositivos móviles, de escritorio y web.
Flame trae todo lo necesario para crear nuestros primeros juegos
Este motor de juego proporciona herramientas y componentes para manejar la lógica del juego, la animación de sprites, la detección de colisiones, la entrada del usuario mediante eventos taps, teclado, joystick y la física del juego; como la gravedad, saltos, caidas, etc.
Con Flame, se pueden crear juegos 2D con gráficos impresionantes y un alto rendimiento en dispositivos móviles y de escritorio; por lo tanto, con un solo proyecto, podemos usarlo para llevar nuestro juego para las distintas plataformas soportadas por Flutter.
Flame también dispone de una serie de plugins que podemos usar para manejar el audio entre otros:
- flame_audio Es utilizado para manejar la reproductores de audio.
- flame_forge2d Es utilizado para manejar manejar las capacidades físicas utilizando nuestro propio puerto Box2D llamado Forge2D.
- flame_tiled Es utilizado para manejar la integración con los tiles.
- flame_svg Que proporciona integración con flutter_svg.
En resumen, se puede utilizar Flame con Flutter para crear y desarrollar juegos 2D con gráficos atractivos y un alto rendimiento en dispositivos móviles y de escritorio, dándoles a los desarrolladores una herramienta valiosa para crear una amplia variedad de juegos y aplicaciones.
Con Flame, podemos crear componentes, que vienen siendo los equivalentes a los widgets en Flutter y en donde los componentes no son más que un elemento de nuestro juego, como un jugador, un enemigo, el fondo, un consumible, etc; y cada componente, contiene la implementación para el funcionamiento del mismos; por ejemplo, en el caso de un player o jugador, contiene la lógica para moverlo, cambio de animaciones, control de las vidas, consumibles, etc; y mediante una clase maestra, podemos organizar toda la lógica de estos componentes.
Curso para aprender a desarrollar en Flame desde cero
Este libro es mayoritariamente práctico, iremos conociendo los fundamentos de Flame en base a pequeños ejemplos hasta lograr conocer lo suficiente de la librería para crear juegos sencillos en 2D; como puedes ver en cada una de las secciones que componen el curso y libro, creamos diversas aplicaciones que tienen características en comunes como el uso de los sprites, sprites animados, sprites sheet, animaciones, colisiones, entrada… pero, viéndolo desde enfoques distinto, lo cual es crucial para entender de una manera práctica cada una de las funcionalidades de Flame y obtener un mejor entendimiento de todo el potencial de Flame.
Para quién es este curso y libro
- Este curso está dirigido a cualquier persona que quiera aprender a desarrollar en Flame y crear sus primeros juegos en 2D con Flutter multiplataforma.
- Para cualquier persona que quiera iniciar en el desarrollo de videojuegos para Android, iOS, Linux, Windows, MacOS o web.
- Para aquellas personas que conozcan cómo programar en Flutter.
- Para aquellas personas que quieran aprender algo nuevo.
- Para las personas que quieran mejorar una habilidad y que quieran crecer como desarrollador y que quiera seguir escalando su camino en el desarrollo de aplicaciones con Flutter.
Este curso tiene un enfoque práctico, conociendo los aspectos claves de la tecnología y pasando a la práctica, implementando de a poco pequeñas características y funcionalidades que pueden ser adaptadas a un juego real; por lo tanto, puedes ver el curso como un conjunto de guías o tutoriales en las cuales aprenderemos a manejar poco a poco Flame.
Qué aprenderás paso a paso
A lo largo del curso verás:
- Cómo iniciar un proyecto Flame desde cero
- Cómo usar GameWidget
- Cómo crear componentes interactivos
- Cómo manejar animaciones complejas
- Cómo implementar colisiones
- Cómo usar overlays para menús y HUDs
- Cómo integrar Flame con Flutter nativo
- Cómo añadir audio y física
- Cómo exportar tu juego para móvil, escritorio y web
Tecnologías y plataformas compatibles
Con Flutter y Flame trabajas sobre un único proyecto que corre en:
- Android
- iOS
- Linux
- Windows
- macOS
- Web
Prólogo
Con Flutter, podemos realizar todo tipo de aplicaciones sobre todo enfocadas al ámbito móvil, pero, también podemos utilizar el mismo proyecto para desarrollar no solamente en Android e iOS, si no, de escritorio para Linux, MacOS y Windows, y también para desarrollo web realizando cambios sutiles en el proyecto a nivel de código, aunque, Flutter va mucho más allá con Flame.
Flame, es un motor para crear juegos en 2D con Flutter; su instalación es extremadamente sencilla ya que, Flame no es más que un paquete pub; por lo tanto, con esto, podemos crear juegos en 2D con Flame para móvil, escritorio y web.
Con Flame, podemos crear componentes, que vienen siendo los equivalentes a los widgets en Flutter y en donde los componentes no son más que un elemento de nuestro juego, como un jugador, un enemigo, el fondo, un consumible, etc; y cada componente, contiene la implementación para el funcionamiento del mismo; por ejemplo, en el caso de un player o jugador, contiene la lógica para moverlo, cambio de animaciones, control de las vidas, consumibles, etc; y mediante una clase maestra, podemos organizar toda la lógica de estos componentes.
Este curso es mayoritariamente práctico, iremos conociendo los fundamentos de Flame en base a pequeños ejemplos hasta lograr conocer lo suficiente de la librería para crear un juego en 2D sencillo.
Para quien es este curso
Este curso está dirigido a cualquier persona que quiera aprender a desarrollar en Flame y crear sus primeros juegos en 2D con Flutter multiplataforma.
- Para cualquier persona que quiera iniciar en el desarrollo de videojuegos en 2D para Android, iOS, Linux, Windows, MacOS o web.
- Para aquellas personas que conozcan cómo programar en Flutter y que buscan aplicar sus habilidades de programación en el desarrollo de videojuegos en 2D.
- Para aquellas personas que quieran aprender a desarrollar sus primeros juegos en 2D.
- Para aquellas personas que quieran aprender algo nuevo.
- Para las personas que quieran mejorar una habilidad y que quieran crecer como desarrollador y que quiera seguir escalando su camino en el desarrollo de aplicaciones con Flutter.
Temario del curso y libro
Este libro y curso tiene un total de 12 capítulos, se recomienda que leas en el orden en el cual están dispuestos y a medida que vayamos explicando los fundamentos de Flame en base a ejemplos; una vez domines la librería, puedes consultar las secciones en el orden que desees.
- Capítulo 1: Crearemos un proyecto en Flutter con las dependencias básicas necesarias para crear juegos con Flame en Flutter.
- Capítulo 2: Este capítulo es mayoritariamente teórico y conoceremos la estructura de Flame, la cual, está basada principalmente en las clases tipo Flame, componentes y métodos del ciclo de vida.
- Capítulo 3: Este capítulo veremos un enfoque práctico a las características de Flame, como las clases tipo Game, componentes principales de Flame, entrada de teclado, tap y colisiones.
- Capítulo 4: Este capítulo empezaremos creando la estructura de un sencillo juego en 2D de colisiones utilizando como base parte del código visto en el capítulo anterior.
- Capítulo 5: Este capítulo presenta el uso de los background para definir el mismo mediante un color sólido o una imagen.
- Capítulo 6: Este capítulo presenta el uso de los background tipo tile, usando un software para editar los mapas y utilizándolos en el proyecto en Flutter con Flame.
- Capítulo 7: Este capítulo empezaremos creando la estructura de un sencillo juego en 2D de saltos utilizando el sistema de tile presentado anteriormente.
- Capítulo 8: Este capítulo realizaremos algunos cambios adicionales sobre el juego anterior como variar el salto, limitar los movimientos del player y definir un fondo.
- Capítulo 9: Este capítulo crearemos un nuevo juego cambiando la perspectiva de visualización del mismo y con esto, la jubabilidad.
- Capítulo 10: En este capítulo incorporaremos un sprite de tipo enemigo para el juego anterior, crearemos distintos tipos de enemigos variando el movimiento entre un patrón bien definido y movimientos aleatorios.
- Capítulo 11: En este capítulo crearemos un nuevo proyecto al estilo de Plantas vs Zombies.
- Capítulo 12: Aprenderemos a introducir sonidos o audios para los juegos, los cuales pueden ser de dos tipos, por acciones o de fondo.
Ejemplos reales creados durante el curso
- Dino Jump
- Un clon sencillo pero completo estilo runner. Aquí se aprende:
- animaciones
- detección de colisiones
- control del jugador
- spawns de obstáculos
- Un clon sencillo pero completo estilo runner. Aquí se aprende:
- Parallax Effect
- Uno de mis favoritos porque demuestra lo fácil que es crear profundidad visual con Flame. Aquí trabajamos con:
- fondos en capas
- movimientos independientes
- efectos visuales dinámicos
- Uno de mis favoritos porque demuestra lo fácil que es crear profundidad visual con Flame. Aquí trabajamos con:
- Plant vs Zombie (versión simplificada)
- Aquí combinamos componentes, colisiones, sprites animados y lógica de ataque. Es perfecto para entender cómo coordinar múltiples elementos.
- World XY
- Un mapa con desplazamiento, animaciones y entidades múltiples. Ideal para entender cómo diseñar mundos más amplios.
Puedes ver demos de las apps creadas en:
Acepto recibir anuncios de interes sobre este Blog.
Aprende a crear juegos 2D multiplataforma con Flutter y Flame. Curso práctico desde cero con ejemplos reales, sprites, colisiones, animaciones y más. Domina Flutter Flame y crea juegos 2D multiplataforma desde cero. Curso práctico con ejemplos reales, sprites, animaciones, colisiones y todo lo esencial para desarrollar tu primer videojuego profesional.
Algunas recomendaciones:
Benjamin Huizar Barajas
Laravel Legacy - Ya había tomado este curso pero era cuando estaba la versión 7 u 8. Ahora con la ac...
Andrés Rolán Torres
Laravel Legacy - Cumple de sobras con su propósito. Se nota el grandísimo esfuerzo puesto en este cu...
Cristian Semeria Cortes
Laravel Legacy - El curso la verdad esta muy bueno, por error compre este cuando ya estaba la versi...
Bryan Montes
Laravel Legacy - Hasta el momento el profesor es muy claro en cuanto al proceso de enseñanza y se pu...
José Nephtali Frías Cortés
Fllask 3 - Hasta el momento, están muy claras las expectativas del curso
| 👤 Andrés Cruz
Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso: