A Unity publicou esta semana o 2021 Game Report contendo informações e muitos dados sobre a indústria de jogos em 2020, apontando tendências para 2021. Os dados analisados no relatório são de desenvolvedores que utilizam a engine e, apesar de representar apenas quem publicou jogos utilizando a Unity, ainda assim é bem relevante como mostram os dados.
Já escrevi algumas vezes sobre cursos e tutoriais para aprender a programar jogos, porém é sempre bom relembrar este assunto com novas referências para quem está começando hoje. Então, decidi escrever um post bem simples e direto com recomendações, para diferentes níveis de conhecimento, combinando aprendizado em programação, inglês e desenvolvimento de jogos.
Sempre recomendo o livro Game Programming Patterns, que possui versões física e digital à venda, além de uma online gratuita disponibilizada pelo autor, Robert Nystrom. Este livro revisita os design patterns definidos na década de 1990 pela "Gangue dos Quatro", focando no seu uso para o desenvolvimento de jogos.
Neste post quero compartilhar algumas dicas e boas práticas para uso do Debug.Log() na Unity. Pode parecer intuitivo utilizar a API da Unity para registrar todo tipo de ação que o jogador fizer, mas existem algumas maneiras de fazer isso que podem tornar o processo de debug e teste mais fácil, além de registrar logs apenas do que realmente é necessário.
Raspberry Pi é um computador muito simples e com hardware limitado e, por esse motivo é muito barato e usado para as mais diversas coisas, desde um simples desktop até robôs e máquinas de jogos retrô. Esses são alguns exemplos, mas basta procurar pra ver a quantidade de projetos feitos utilizando esse simples pedaço de hardware.
A utilização de Asset Bundles na Unity é uma boa solução da própria engine para download de recursos. É comum utilizar esta forma de distribuição de assets para poder atualizar ou adicionar conteúdo ao jogo após o lançamento, não sendo necessário publicar um novo binário do jogo. Desta forma, jogos podem adicionar personagens, níveis, ou fazer correções em modelos e imagens sem precisar de uma versão nova do jogo. A única limitação é não poder adicionar novos scripts ou utilizar scripts em versões diferentes dos que estão no binário, o que faz os desenvolvedores pensarem em formas de tornar seus jogos mais flexíveis e extrair o máximo dos asset bundles.
Pouco mais de 2 anos se passaram desde o último postmortem que publiquei aqui no blog. Desta vez, recebi um texto do Luiz Felipe da Silva Marian, que criou sozinho o jogo Call of Coronga. Inspirado na pandemia do COVID-19, o jogo está disponível no Steam para PC. Confira abaixo o que deu certo e o que deu errado em seu desenvolvimento, e leia também os outros postmortems postados aqui no blog.
Este tutorial chamado Making A Flappy Bird Style Game feito pela Unity esta disponível no site Unity Learn e é dividido em 10 partes. Não é um tutorial novo, foi publicado em 2006, porém existem muitas coisas interessantes nestes vídeos que ainda são bem atuais para desenvolvimento de jogos 2D na Unity, além de muitas dicas de como ser mais produtivo no editor.
Uma forma comum de compartilhar código, modulos e até plugins nativos sempre foi criar um package - exportar um arquivo .unitypackage para ser importado em outro projeto. É uma forma prática de distribuir conteúdo para Unity, porém tem problemas como falta de versionamento, não ter um canal de distribuição centralizado, não avisar de atualizações, permitir que seu conteúdo seja modificado ou removido, entre outros. Isso tudo, quando existia, dependia do desenvolvedor criar uma ferramenta para controlar a integridade e o versionamento do pacote.
Hoje apresentei uma palestra sobre o uso de design patterns no desenvolvimento de jogos na The Developer's Conference (TDC) 2019 em Porto Alegre, na trilha de Games e Realidade Aumentada. Confira os slides da apresentação no post.