paint-brush
O Flutter é a panacéia no desenvolvimento de jogos multiplataforma?por@oliveremeka
2,496 leituras
2,496 leituras

O Flutter é a panacéia no desenvolvimento de jogos multiplataforma?

por Oliver Ifediorah2022/06/14
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Com essas limitações, surge a necessidade de uma ferramenta de desenvolvimento de jogos multiplataforma que combine as vantagens dos mecanismos de jogos e das estruturas de desenvolvimento de jogos, embora seja prejudicada pelo mínimo possível de suas desvantagens. Ou seja, uma ferramenta de desenvolvimento de jogos multiplataforma acessível, rápida, fácil de usar, performática, independente e versátil. É aqui que o flutter – uma nova entrada vibrante no setor de desenvolvimento de software multiplataforma – entra em consideração.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - O Flutter é a panacéia no desenvolvimento de jogos multiplataforma?
Oliver Ifediorah HackerNoon profile picture


Introdução

A indústria de jogos está sempre mudando e os desenvolvedores de jogos precisam se adaptar constantemente às últimas tendências. Uma dessas tendências é que os jogos criados para dispositivos específicos estão ficando rapidamente desatualizados, pois os jogadores agora querem jogar em uma variedade de hardware. A imagem abaixo mostra que o número de jogadores que usam dispositivos de jogos mais novos, como smartphones (2,6 bilhões), excede o número de jogadores que usam dispositivos de jogos mais tradicionais, como consoles (730 milhões) e computadores pessoais (1,5 bilhão).


De acordo com a Inovecs games (uma empresa de desenvolvimento de jogos), o sucesso comercial de um jogo depende de vários motivos, como o quão envolvente é o título, a jogabilidade e a disponibilidade do jogo em vários dispositivos. Mas a disponibilidade provou ser um dos fatores mais importantes da popularidade e do sucesso do jogo. Suas estatísticas mostram que 87% dos jogadores multiplayer estão constantemente buscando mais títulos de plataforma cruzada e fazer um jogo de plataforma cruzada pode causar um aumento de 20% a 40% na receita. Alguns dos jogos de plataforma cruzada de maior sucesso incluem:


Halo Infinite : Xbox One, Xbox Series X/S, Xbox Cloud Gaming

Fortnite : PS4, PS5, Xbox One, Xbox Series X, Switch, PC

Entre nós : Android, iOS, PC, Switch

Call of Duty: Vanguard : PS5, PS4, Xbox One, PC, Xbox Series X/S


Portanto, para alcançar jogadores mais engajados e ter sucesso na indústria de jogos obtendo mais lucros, o desenvolvimento de jogos multiplataforma é muito importante.


Importância do desenvolvimento de jogos multiplataforma

O desenvolvimento de jogos multiplataforma significa criar jogos que possam operar em várias plataformas ao mesmo tempo. Ele permite que uma equipe de desenvolvedores codifique uma vez e libere em qualquer lugar. O desenvolvimento de jogos multiplataforma é bastante complicado. Ao contrário do desenvolvimento de jogos nativos, que usa ferramentas oficiais fornecidas pelos desenvolvedores do sistema para o qual um jogo é feito, o desenvolvimento de plataforma cruzada requer outro software para ajudar a adaptar uma única base de código a vários sistemas. Os desenvolvedores trabalham com a base de código única, enquanto mecanismos de jogos, bibliotecas, linguagens de script e kits de desenvolvimento de software (SDKs) criam os elementos necessários específicos da plataforma.


Os jogos de plataforma cruzada geralmente são projetados usando o desenvolvimento de ciclo completo, em que o jogo é criado para várias plataformas ao mesmo tempo antes do lançamento. Isso é diferente de portar um jogo já lançado em uma plataforma para outras plataformas de jogos. Criar um jogo multiplataforma geralmente leva mais tempo, mas evita o gasto de tempo e esforço para disponibilizar um jogo já lançado em outras plataformas.


Abaixo estão alguns benefícios do desenvolvimento de jogos multiplataforma.


Manutenção fácil: não há necessidade de manter bases de código separadas para cada plataforma e isso também ajuda nas atualizações. As equipes podem simplesmente fazer uma alteração na base de código e implantá-la em todas as plataformas de uma só vez, economizando tempo e dinheiro.


Acessibilidade aprimorada: o desenvolvimento de plataforma cruzada ajuda um desenvolvedor de jogos a alcançar o máximo possível ou o público-alvo, tornando o jogo disponível em diferentes tipos de dispositivos que o público pode estar usando.


Processo de desenvolvimento mais rápido: é mais rápido criar um jogo de plataforma cruzada imediatamente do que criar um jogo separado para um PC e depois adaptar o produto final para dispositivos móveis.


Tempo mais rápido para o mercado: Trazer um jogo de plataforma cruzada para o mercado é muito mais fácil do que jogos de plataforma única, porque o jogo atrai o interesse de vários segmentos de jogadores ao mesmo tempo, espalhando-se muito mais rapidamente.


Melhor experiência de jogo . Os jogos de plataforma cruzada unem as comunidades, permitindo que todos joguem, independentemente da localização geográfica ou da plataforma. Isso facilita os jogos online.


Economia de custos: a criação de um jogo multiplataforma permite cobrir todos os custos de lançamento em um único ciclo de desenvolvimento, pois não há custos adicionais para atingir novos públicos. O custo de manutenção também é reduzido pelo gerenciamento de apenas uma base de código para todas as plataformas.


Marketing eficaz . Os jogos de plataforma cruzada minimizam a concorrência de vendas entre as plataformas. Assim, os esforços de publicidade são focados no jogo sem limitação de plataforma.


De acordo com os jogos da Nexon, o futuro dos jogos aponta para uma experiência multiplataforma, onde os jogadores podem aproveitar o mesmo jogo em diferentes plataformas, por um preço único.


Problemas de desenvolvimento de jogos multiplataforma

O desenvolvimento de plataforma cruzada também apresenta muitos desafios, alguns dos quais são discutidos abaixo.

  • Requer mais habilidade para manusear

  • Pode haver dificuldade de exibição em adaptar o jogo para vários dispositivos.

  • Os controles do jogo serão completamente diferentes para PCs, consoles e smartphones.

  • Preservar a atmosfera pessoal do jogo e os recursos do jogo em vários dispositivos é um desafio.


A imagem abaixo mostra algumas das inúmeras considerações a serem feitas durante o desenvolvimento de jogos multiplataforma.


No entanto, os benefícios do desenvolvimento de jogos multiplataforma superam as dificuldades.

Como desenvolver um jogo multiplataforma

Criar um jogo em várias plataformas ao mesmo tempo requer certas habilidades, conhecimentos, ferramentas especiais e linguagens de programação. Em primeiro lugar, a(s) plataforma(s) visada(s) precisa(m) ser compreendida(s). Se for o trio popular de PC, console e celular, o desenvolvimento pode ser feito com segurança em C++. No entanto, o custo do desenvolvimento de jogos multiplataforma em C++ será maior, pois é mais difícil trabalhar com ele do que com outras linguagens. Mas a linguagem é bastante eficiente e popular entre os desenvolvedores de jogos. Com base nas ferramentas utilizadas, o desenvolvimento de jogos multiplataforma pode ser separado em desenvolvimento com um mecanismo de jogo e desenvolvimento sem um mecanismo de jogo.


1. Desenvolvimento com um Game Engine

Um mecanismo de jogo é um programa de desenvolvimento de software usado para simplificar o desenvolvimento de videogames, estabelecendo a estrutura que permite ao usuário criar componentes de jogos com mais facilidade. Todo o trabalho pesado, como renderização 2D e 3D, animação, inteligência artificial, mecanismos de física e colisão, mecanismos de áudio etc. Motores de jogos populares usados para desenvolvimento de jogos multiplataforma incluem;


Unity: O Unity é um popular mecanismo de jogo multiplataforma baseado em C++ que funciona muito bem com PCs, consoles e celulares. Ele usa C#, Boo ou UnityScript para scripts e apresenta uma interface intuitiva e fácil configuração para desenvolvimento de jogos multiplataforma. O Unity é frequentemente usado por pequenas empresas de jogos que não se concentram em gráficos avançados.

Unreal Engine: Unreal é um dos mecanismos de jogo multiplataforma mais poderosos e avançados atualmente disponíveis. Ele possui uma ferramenta de script visual integrada chamada Blueprint, para criar visuais de jogos para diferentes hardwares. Também é baseado em C++, mas ao usar o software, pode-se evitar ter que codificar C++ instalando SDKs separados para cada plataforma de destino. No entanto, também é possível modificar o código-fonte, se necessário. Assim como o Unity, o Unreal oferece suporte ao desenvolvimento de jogos para PCs, celulares e consoles.


Outros mecanismos de jogos multiplataforma em uso incluem o mecanismo Cry, o GameMaker Studio e o mecanismo Godot.


2. Desenvolvimento sem Game Engine

Isso envolve o uso de linguagens de programação e geralmente bibliotecas e estruturas leves, algumas das quais são;


HTML 5: De acordo com a Vision Mobile, mais de cinquenta por cento dos jogos e aplicativos para celular são criados usando HTML5 junto com JavaScript e CSS. Isso produz um jogo responsivo que é exibido em qualquer navegador em qualquer dispositivo. Também envolve um orçamento muito modesto.


LibGDX: às vezes também referido como um mecanismo de jogo, o LibGDX é uma popular biblioteca de desenvolvimento de jogos multiplataforma e de código aberto na linguagem de programação Java.


Cocos2d-x: Cocos2d-x é uma estrutura de código aberto multiplataforma simples e rápida para jogos e outros aplicativos gráficos. É ideal para plataformas móveis com apenas pequenas adaptações necessárias para plataformas específicas. Cocos2D-x está disponível em C++, JavaScript e Lua e às vezes também é chamado de mecanismo de jogo.


Limitações das ferramentas de desenvolvimento de jogos multiplataforma disponíveis


As ferramentas de desenvolvimento de jogos multiplataforma discutidas acima são todas ferramentas de desenvolvimento de software rápidas, duráveis e versáteis. No entanto, cada um deles tem suas próprias limitações. Os dois primeiros mecanismos de jogo (Unity e Unreal engine) são amplamente referidos como as melhores ferramentas para o desenvolvimento de jogos multiplataforma.


No entanto, os mecanismos de jogos são softwares pesados e geralmente criam grandes arquivos binários, o que os torna caros de usar, pois é necessário hardware caro com especificações avançadas e pagamento de assinaturas ou royalties em outros para criar jogos com eles.


Portanto, eles não são facilmente acessíveis. Por outro lado, as linguagens de programação são difíceis e demoradas para usar no desenvolvimento do jogo, enquanto outros softwares não pertencentes ao jogo (HTML5 e bibliotecas/frameworks de desenvolvimento de jogos) são totalmente dependentes de navegadores da Web ou bastante limitados no número de dispositivos eles apoiam.


Com essas limitações, surge a necessidade de uma ferramenta de desenvolvimento de jogos multiplataforma que combine as vantagens dos mecanismos de jogos e das estruturas de desenvolvimento de jogos, embora seja prejudicada pelo menor número possível de desvantagens. Ou seja, uma ferramenta de desenvolvimento de jogos multiplataforma acessível, rápida, fácil de usar, performática, independente e versátil. É aqui que o Flutter – uma nova entrada vibrante no setor de desenvolvimento de software multiplataforma – entra em consideração.

Flutter Desenvolvimento de jogos


O Flutter é uma estrutura de interface do usuário móvel gratuita e de código aberto lançada pelo Google em 2017, que permite criar aplicativos móveis nativos de plataforma cruzada com apenas um co-debase. Isso significa que uma linguagem de programação e codebase é usada para criar dois aplicativos diferentes (para iOS e Android).


O Flutter usa o Dart, uma linguagem de programação que se concentra no desenvolvimento front-end e pode ser usado para criar aplicativos móveis e da web. Flutter consiste em duas partes importantes que são;


  • Um SDK: Uma coleção de ferramentas que vão ajudar no desenvolvimento de aplicativos e na compilação de código em código de máquina nativo.
  • Um User Interface Framework (UI): Uma coleção de elementos de interface do usuário reutilizáveis que podem ser personalizados.


O objetivo do Flutter, conforme citado por Tim Sneath - Diretor de Produto da Flutter & Dart em março de 2020 - é “mudar fundamentalmente a forma como os desenvolvedores pensam sobre a criação de aplicativos, começando não com a plataforma que visam, mas com a experiência que desejam criar”.


Esse objetivo é constantemente perseguido com o Flutter atualmente tendo suporte estável para aplicativos nativos em dispositivos móveis, web, desktop e incorporados a partir de um único codebase (a Toyota adotou o Flutter como a ferramenta para criar software de sistema incorporado em seus carros). Portanto, a estrutura foi descrita como a primeira plataforma de interface do usuário projetada para um mundo de computação ambiental. Isso o torna desejável no desenvolvimento de jogos multiplataforma.



O desenvolvimento de jogos usando Flutter é relativamente novo, mas promissor. O Flutter oferece suporte a dois tipos de desenvolvimento de jogos relacionados aos dois métodos de desenvolvimento de jogos já descritos.

O primeiro é o desenvolvimento de jogos casuais para criar jogos semelhantes a aplicativos de plataforma cruzada (por exemplo, super TicTacToe, 4 fotos 1 palavra, variantes de xadrez – Omnichess etc., todos construídos com flutter) usando o kit de ferramentas de desenvolvimento de jogos casuais flutter. Isso representa o desenvolvimento de jogos sem mecanismos de jogo.


O segundo é o desenvolvimento de videogames, que envolve a criação de jogos de plataforma cruzada mais avançados, como flappy bird, usando o mecanismo de jogo Flutter Flame.


Portanto, ao contrário das ferramentas de desenvolvimento de jogos descritas anteriormente, que geralmente são mecanismos de jogo ou não, o Flutter oferece suporte ao desenvolvimento de jogos multiplataforma de mecanismo de jogo e mecanismo de não-jogo.

O desenvolvimento de jogos no Flutter ainda é bastante limitado no momento. O mecanismo de chama bastante juvenil só é implantado em dispositivos móveis por enquanto, e o kit de ferramentas de jogos casuais atualmente suporta apenas Android, iOS e web. Mas as grandes vantagens do Flutter – foco no suporte em todos os dispositivos, compilação para código nativo, velocidade e facilidade de uso, fácil acessibilidade etc. como uma ferramenta promissora que pode resolver a maioria dos problemas de desenvolvimento de jogos multiplataforma em um futuro próximo.

Conclusão

Em conclusão, o Flutter é uma estrutura de desenvolvimento de interface do usuário versátil com grandes vantagens de desempenho nativo e suporte para quase todos os dispositivos. No entanto, ainda é bastante limitado no desenvolvimento de jogos multiplataforma, pois seu mecanismo de jogo ainda está em um estágio inicial e, atualmente, só pode implantar jogos em dispositivos móveis e na web. Portanto, não pode ser chamado de panaceia no desenvolvimento de jogos multiplataforma por enquanto. Mas é uma boa promessa para o desenvolvimento de jogos multiplataforma no futuro, pelo menos do ponto de vista da criação da interface do usuário.

O mecanismo de jogo Unity e o mecanismo de jogo Unreal continuam sendo as melhores ferramentas de desenvolvimento de jogos multiplataforma disponíveis atualmente.