logo Fteam

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 multi plataformas (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) √© lan√ßado no Google I/O, foi constru√≠do em Flutter, voc√™ pode ler sobre o processo de constru√ß√£o dele 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 Flutter 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.

  1. Tutorial escrito: Siga este tutorial escrito passo a passo da google para criar seu primeiro jogo de vibração usando o Flame.
  2. Tutorial escrito: https://blog.codemagic.io/flutter-flame-game-development/
  3. Tutorial em vídeo: Siga este tutorial escrito passo a passo do 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!

Me siga para estar sempre por dentro dos pr√≥ximos artigos ūüöÄ

Referências:

https://bonfire-engine.github.io/#/

https://flame-engine.org/

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

Escrito por: Ian Oliveira

Fteam | Especialista em Flutter

Fteam | Especialista em Flutter

Compartilhe nas redes sociais

Assine a nossa newsletter

Lorem ipsum dolor sit amet consectetur. Nunc vestibulum purus est nec nunc erat.