O Poder do Flutter no Desenvolvimento de Jogos Mobile
Como o Flutter pode ajudá-lo a transformar suas ideias de jogos em realidade
Quem nunca pensou em desenvolver um jogo 😮💨 ? Acredito que todo desenvolvedor no início de carreira já pensou também em ser um desenvolvedor de jogos, mas construir jogos não é tão fácil quanto pensamos.
Na construção de jogos é preciso considerar coisas como colisões, gravidade, animações, movimentos, física, mapa de pontuações, sons, efeitos etc. O que requer ferramentas especializadas em resolver isso pra gente na construção de um jogo.
O que é Flutter?
Flutter é um kit de ferramentas (SDK) de interface de usuário e de código aberto criado pela Google em 2015, sendo lançado oficialmente em 2018.
Com ele, é possível criar diferentes aplicativos bonitos e multiplataformas (Android, iOS, web e desktop) usando a linguagem de programação Dart e uma única base de código, ou seja, sem precisar escrever o código separadamente para cada sistema ou plataforma.
Desenvolvimento de Jogos com o Flutter Casual Game Toolkit 💙
Durante o Google I/O 2022, foi lançado o Flutter Casual Game Toolkit, um conjunto oficial de ferramentas para dar suporte aos criadores de jogos casuais em Flutter.
Jogos que são semelhantes a aplicativos como jogos de tabuleiro, jogos de cartas, quebra-cabeças e jogos de estratégia onde tendem a responder à entrada do usuário, como tocar em um cartão ou digitar um número ou letra.
O Flutter, que originalmente ganhou destaque no desenvolvimento de interfaces de usuário atraentes, agora oferece recursos para criação de jogos.
Benefícios no uso do Flutter para desenvolver jogos
Simplicidade: O Flutter é bem mais simples de se utilizar e aprender do que engines maiores como por exemplo Unity e Unreal para criação de jogos 2D casuais e se você já faz apps com ele já está a um passo de fazer jogos também pois pode aproveitar vários conceitos que você já sabe.
Ecossistema: No Flutter temos um rico ecossistema de ferramentas e libs como persistência de dados, reprodução de vídeo ou áudio e ferramentas de monetização como firebase admob.
Multiplataforma: Com o Flutter, você escreve o código uma vez e ele roda em todas as plataformas, o que pode economizar dinheiro pois não há custos adicionais para atingir novos públicos.
O Flutter é rápido: O Flutter compila o código de máquina nativo para aplicativos rápidos e animações bonitas. Ao contrário de outras bibliotecas de IU que dependem das bibliotecas de sistema, o Flutter usa seu próprio conjunto de widgets com código nativo compilado a partir do código Dart.
Isso resulta em alto desempenho, permitindo que você tenha controle total sobre os pixels na tela e alcance taxas de quadros de 60 a 120 por segundo (FPS), o que é impressionante
Suporte do Google: Possui suporte oficial do google, o que proporciona qualidade nos conteúdos e na ferramenta, documentação sempre atualizada e investimento constante na comunidade.
Flame Game Engine
O Flame é uma engine de jogo de código aberto feita por brasileiros sobre o Flutter, que fornece várias ferramentas de desenvolvimento de jogos, como detecção de colisão e animação de sprite para jogos 2D e Game Loops.
No ano passado, milhares de jogos Flutter foram publicados. Por exemplo, Lotum, a empresa de jogos por trás do popular jogo de quebra-cabeça de palavras 4 Pics 1 Word , reescreveu o jogo inteiro em Flutter utilizando o flame
Bonfire
Bonfire é um (RPG Maker) construído pelo brasileiro Rafael Barbosa em Flutter sobre a engine de jogos FLAME 🔥 mostrada acima para criar jogos 2D no estilo RPG.
O Bonfire implementa uma série de classes comumente necessárias para um jogo estilo RPG, incluindo Jogador, NPC, Inimigos, bem como recursos específicos do jogo, como câmeras, manipulação de entrada, iluminação e muito mais.
Ele é capaz de carregar mapas Tiled do popular editor de mapas Tiled de código aberto ( tutorial disponível aqui ), bem como criar mapas processualmente.
Confira essa live que eu fiz com o Rafael em 2021, onde ele mostra e explica como criou e utiliza o bonfire para criar um jogo de RPG em Flutter.
Exemplo de alguns jogos feitos com Flutter:
Kelimelik, tinha 4,4 estrelas no Google Play com mais de 370.000 avaliações e 5.000.000 de instalações no momento da redação deste artigo!
Chess Variants - Omnichess, tinha 4,0 estrelas no Google Play com mais de 300 avaliações e 10.000 de instalações no momento da redação deste artigo!
Air Hockey - Classic, tinha 4,7 estrelas no Google Play com mais de 900 avaliações e 100 mil de instalações no momento da redação deste artigo!
Pinball - escrito por Very Good Ventures (VGV) e lançado no Google I/O 2022, foi construído em Flutter, você pode ler sobre o processo de construção dele jogo nesse link 🔗.
I/O FLIP: um jogo de cartas projetado por IA desenvolvido pelo Google, criado para o Google I/O 2023. A lógica de jogo e a interface do usuário do I/O FLIP são construídas sobre uma base fornecida pelos recursos do Flutter Casual Games Toolkit. Você pode ler um pouco mais sobre como ele funciona aqui nesse link no blog de desenvolvedores da Google.
Se você quiser mais exemplos pode consultar aqui uma lista de jogos da Flutter Awesome.
Como Iniciar no desenvolvimento de jogos com Flutter?
Domine o básico do Flutter:
Antes de se aventurar no desenvolvimento de jogos, certifique-se de entender os conceitos básicos do Flutter, como widgets, layouts, gerenciamento de estado e navegação. Há muitos recursos e tutoriais disponíveis online para ajudá-lo a aprender esses conceitos.
Escolha uma biblioteca ou framework de jogos:
Para criar jogos com Flutter, você precisará de uma biblioteca ou engine de jogos que facilite o processo. Minha indicação é o Flame/Bonfire pois a google tem apoiado bastante.
Aprenda sobre a lógica de jogos:
É importante entender os conceitos fundamentais da lógica de jogos, como loop de jogo, colisões, física básica e gerenciamento de objetos no jogo**.**
Comece com um projeto simples:
Comece com um jogo simples para ganhar experiência. Pode ser algo como um jogo de quebra-cabeça ou um jogo de memória. Comece pequeno e, à medida que ganha mais confiança, você pode se aventurar em projetos mais complexos.
E pra finalizar vou listar abaixo alguns bons tutoriais para lhe ajudar a desenvolver seu primeiro jogo.
Tutorial escrito: Siga este tutorial escrito passo a passo da google para criar seu primeiro jogo de vibração usando o Flame.
Tutorial escrito: https://blog.codemagic.io/flutter-flame-game-development/
Tutorial em vídeo: Siga este tutorial escrito passo a passo no canal do Flutter para criar seu primeiro jogo.
Conclusão
O desenvolvimento de jogos em Flutter é algo relativamente novo mas muito promissor e usar-lo é uma maneira emocionante de aproveitar todas as vantagens da ferramenta.
Agora, você tem todas as ferramentas necessárias para colocar aquela sua ideia de jogo em prática! 😅 Não deixe o tempo passar e comece ainda hoje. O cenário está pronto para receber suas criações.
A Google tem feito constantes investimentos no Flutter e inclusive estão fazendo diversos conteúdos sobre o tema no canal oficial deles para incentivar a comunidade a desenvolver seus próprios jogos.
Confira a página oficial dedicada ao desenvolvimento de jogos em Flutter, onde você pode aprender mais sobre o assunto.
Obrigado por ler até aqui.😁
Espero que você tenha percebido o grande potencial do Flutter. Estou realmente animado com o futuro do Flutter e suas possibilidades.
Espero que você tenha gostado! Se tiver alguma dúvida ou contribuição, deixe nos comentários!
Referências:
https://bonfire-engine.github.io/#/
https://medium.com/flutter/announcing-the-flutter-casual-games-toolkit-c22e401d8fee
https://developers.googleblog.com/2023/05/how-its-made-io-flip-adds-twist-to.html
Me siga para estar sempre por dentro dos próximos artigos ou assine a neswletter no meu blog 🚀