Flutter Flame: Desarrollo de juegos en 2D para Android, iOS, Web, MacOs y Windows

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 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.

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 un juego en 2D sencillo.

Para quién es este libro

  • Este libro 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.

Esta guía tiene la finalidad de dar los primeros pasos con Flame empleando Flutter; con esto, vamos a plantear dos cosas:

  1. No es un libro que tenga por objetivo conocer al 100% Flame, o de cero a experto, ya que, sería un objetivo demasiado grande para el alcance de esta guía, si no, conocer que nos ofrece, sus principales características y cómo aplicarlas al desarrollo de juegos en 2D; sprite, sistema de colisiones, tiled entradas y mucho más.
  2. Se da por hecho de que el lector tiene conocimientos al menos básicos en el desarrollo de Flutter y sus tecnologías básicas como Dart.
  3. Flame es un paquete muy interesante para crear nuestros primeros juegos en 2D multiplataforma, al estar implementado en Flutter, con un solo proyecto, podemos tener el mismo juego para móviles, escritorio y web sin mucho problema; Flame contiene todos los elementos básicos para crear juegos en 2D provistos por motores de juegos similares como el manejo de colisiones, eventos, carga de sprite, sprite sheet y por supuesto, interactuar con todos estos elementos.

Este libro 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.

Para seguir este libro necesitas tener una computadora con Windows, Linux o MacOS.

Este libro tiene un total de 9 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.

- Andrés Cruz

In english

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.