Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1

Share

Download to read offline

Erick Zanardo - Desenvolvimento de Jogos em Flutter

Download to read offline

Palestra DevCamp 2019

Related Books

Free with a 30 day trial from Scribd

See all

Erick Zanardo - Desenvolvimento de Jogos em Flutter

  1. 1. Desenvolvimento de jogos em Flutter Erick Zanardo - DevCamp 2019
  2. 2. Quem sou eu? ● Desenvolvedor Full Stack desde 2007 ● Trabalha na Dextra ● Desenvolve jogos ao invés de dormir nas horas vagas
  3. 3. Meu início com Game dev
  4. 4. Fireslime
  5. 5. Fireslime Games
  6. 6. Mas antes… Flutter
  7. 7. Flutter "Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase." - https://flutter.dev
  8. 8. Flutter - Features ● Multiplataforma ● Hot reload ● Compilação nativa ● Possibilita código específico por plataforma
  9. 9. Flutter - Multiplataforma
  10. 10. Flutter - Hot Reload
  11. 11. Flutter - Linguagem
  12. 12. Flutter - Compilação nativa
  13. 13. Dart - Linguagem int fibonacci(int n) { if (n == 0 || n == 1) return n; return fibonacci(n - 1) + fibonacci(n - 2); } var result = fibonacci(20);
  14. 14. Flutter - Código específico por plataforma
  15. 15. Flutter - Como funciona realmente? Aplicação escrita em Dart Skia canvas Widgets escritos em Dart Plataforma nativa
  16. 16. E foi aí que vimos uma oportunidade em usar o flutter para desenvolver jogos....
  17. 17. O que precisamos para fazer um Jogo? - Tocar sons - Receber inputs do jogador - Desenhar coisas na tela
  18. 18. Flame ● Criado por Luan Nico ● Mantido pela Fireslime Um motor de jogos minimalista que provê um conjunto de soluções para resolver problemas comuns que todo desenvolvedor de jogos em Flutter compartilharão.
  19. 19. ● GameLoop ● Sistema de Componentes ● Sprites/SpriteSheets ● SVGs ● Spritesheet Animações ● Áudio ● Input (Provido por Flutter, mas Flame provê alguns helpers) ● Box2d Flame - Features
  20. 20. Flame Features: Spritesheet Animations
  21. 21. Flame Features: Flare
  22. 22. Flame Features: Flare Exemplo
  23. 23. Flame Features: Tiled
  24. 24. Um exemplo bem minimalista class BallComponent extends PositionComponent { // Variable initialization ommited BallComponent(this._screenSize) { y = width = height = 50; } @override void update(double dt) { x += 300 * dt * _direction; // 300 Pixels per second if ((x <= 0 && _direction == -1) || (x + width >= _screenSize.width && _direction ==1)) _direction = _direction * -1; } @override void render(Canvas canvas) { canvas.drawOval(toRect(), _paint); } } class BallGame extends BaseGame { BallGame(Size screenSize) { size = screenSize; add(BallComponent(size)); } }
  25. 25. Flutter Widgets + Flame == Win
  26. 26. Flutter Widgets + Flame == Win Flutter Widgets Flame Components
  27. 27. Vantagens de se usar Flutter + Flame ● Builds pequenos ● Hot Reload ajuda na produtividade ● Facilidade para construção de UIs ● Comunidade bem ativa ● Integrar jogos dentro de aplicativos de maneira fácil (para Gamificação por exemplo)
  28. 28. Desvantagens de se usar Flutter + Flame ● Apenas 2d ● Algumas coisas ainda são trabalhosas de se fazer ● Não possui um editor visual (como existe na Unity ou Godot por exemplo)
  29. 29. Desafios indiedev: Concorrência Lançamentos na Steam: 5068 jogos até agora (Agosto) 2019 8742 jogos em 2018 6685 jogos em 2017 - fonte: https://steamspy.com
  30. 30. Desafios indiedev: Escolha algo diferente
  31. 31. Desafios indiedev: Divulge
  32. 32. Desafios indiedev: Participe de comunidades e Game Jams.
  33. 33. Perguntas? Meus contatos: Fireslime Games:
  • JanielTertuliano

    May. 5, 2020

Palestra DevCamp 2019

Views

Total views

993

On Slideshare

0

From embeds

0

Number of embeds

2

Actions

Downloads

7

Shares

0

Comments

0

Likes

1

×