Games

Como criar um jogo?

Confira qual é o ciclo de desenvolvimento de um jogo e saiba quais linguagens de programação e ferramentas são as mais utilizadas nesse processo

29 de julho, 2022

Ao jogar um videogame - seja no computador, dispositivos móveis ou em consoles - vemos diversos elementos: uma história sendo contada, personagens, trilha sonora e efeitos visuais. Unidos, eles formam um jogo. Apesar de ser uma mídia cada vez mais popular no Brasil e no mundo, o que muita gente nem imagina é como os jogos são feitos.

Para desvendar esse processo, descrevemos neste artigo o ciclo de desenvolvimento de um jogo, além de listar as principais ferramentas que os profissionais da área de desenvolvimento utilizam para atuar nessa área.

O ciclo de desenvolvimento de um jogo

No desenvolvimento de jogos, há um ciclo geral que muitos projetos seguem, seja o responsável pelo processo de criação de grandes estúdios ou um profissional independente. Esse ciclo é composto pelas seguintes etapas: a idealização, a documentação da ideia (game design document), o desenvolvimento do jogo, os testes e a publicação do jogo.

  • A idealização do jogo

Ter uma ideia de como será o jogo é o primeiro passo do processo de desenvolvimento. É preciso ter respostas para perguntas como:

  • Como serão os personagens e cenários?
  • Qual será o estilo do jogo?
  • Qual história será contada?
  • O que o jogador vai conseguir fazer?
  • O que o jogador não vai conseguir fazer?
  • Qual o objetivo de cada fase do jogo?

Ter essas respostas é importante porque elas vão guiar o processo de desenvolvimento. Além disso, é aconselhável seguir dois passos: pensar em uma mecânica central e desenvolver o jogo em torno dessa mecânica. O salto do personagem Mario, por exemplo, é a mecânica central do jogo Super Mario Bros (confira vídeo abaixo). Cada recurso do jogo encoraja os jogadores a usar essa mecânica seja para pular em inimigos, perfurar blocos ou saltar obstáculos.

Aqui também é importante definir qual tipo de jogo será feito. Ele poderá ser 2D, 3D, mobile, de realidade virtual ou realidade aumentada, por exemplo.

  • Prototipação

Depois da fase de idealização, vem a de prototipação. Aqui, quem está desenvolvendo vai testar e validar as mecânicas do jogo. Esta etapa ajuda a entender se o jogo é viável e divertido, por exemplo. A prototipação é importante também para identificar as falhas porque elas ajudarão a aprimorar o processo de desenvolvimento do projeto.

Os protótipos podem ser de papel ou digital. O de papel serve para explicar o conceito de um jogo e criar a estética e a mecânica dele com lápis e papel. Já o digital, que pode ser feito em ferramentas como Unity ou Construct, vai possibilitar que pessoas tenham a experiência de jogar o jogo.

É importante destacar que o visual do jogo, nesta etapa, não é importante. Ver se ele é legal é o essencial aqui. Saiba mais sobre protótipos aqui.

  • Game Design Document (GDD)

Após ter uma ideia de jogo definida, é interessante organizá-la em um documento chamado Game Design Document (GDD). No GDD há informações relevantes para o design do jogo como:

  • A ideia do jogo
  • Como ele funciona
  • Qual o seu objetivo
  • Estilo de arte
  • Tema
  • Mecânica
  • Níveis
  • Inimigos
  • Efeitos sonoros

As informações desse documento devem ser detalhadas. Nele, também podem ter as mais diversas referências. Tudo isso é importante porque o GDD servirá como um manual de montagem ou um guia na hora da criação do jogo.

Se o trabalho estiver sendo feito em equipe, o GDD é primordial para que todos os profissionais envolvidos no desenvolvimento estejam alinhados.

  • Desenvolvimento do jogo

Com o GDD pronto, é hora de começar a construir a estrutura do jogo. Um jogo pode ser desenvolvido tanto por uma equipe quanto por apenas uma pessoa.

Quando se tem uma equipe, ela pode ser composta por desenvolvedores, artistas, animadores, game designers, sound designers e redatores, por exemplo. Cada profissional é responsável por partes do projeto que, posteriormente, vão ser unificadas para formar o jogo. Quando se desenvolve um jogo sozinho, uma única pessoa desempenha a função de vários profissionais.

É nesta etapa que as informações do GDD se tornam referências para quem está envolvido na criação do jogo.

  • Testes

Durante o processo de desenvolvimento do jogo, é recomendado que ele seja testado. Os testes são importantes para ajudar a equipe a encontrar erros e pontos de melhoria. Resolvê-los é essencial porque, caso fossem publicados com eles, a experiência dos usuários não seria positiva. Quanto mais testes forem feitos, mais refinado o jogo fica.

Um exemplo de jogo que ficou conhecido por ter sido lançado com muitas falhas foi o Cyberpunk 2077. Os usuários, que estavam com as expectativas altas, se depararam com vários erros: desde carros que ganhavam vida a pessoas atravessando objetos. Mesmo após atualizações, o jogo continuou com erros, o que frustrou muitas pessoas.

  • Publicação do jogo

Após os testes e a implementação de melhorias, o jogo está pronto para ser publicado. Hoje em dia existem várias plataformas on-line de publicação gratuitas e pagas. Algumas delas são:

Para desktop - Steam e Epic Games

Para mobile - Apple Store e Google Play Store

Para console - Playstation Store e Microsoft Store

É importante lembrar que, mesmo após a publicação do jogo, ele pode continuar recebendo atualizações. Isso acontece porque a equipe de desenvolvimento pode complementar o jogo com novidades e consertar erros que possam ter passado batido.

Linguagens de programação usadas em jogos

Neste ciclo, o profissional que é responsável por fazer o jogo funcionar é o desenvolvedor. Em seu trabalho, cabe utilizar uma linguagem de programação para estruturar o jogo e fazer com que ele funcione da forma que se espera.

Entre as diversas linguagens de programação que existem, as que são mais utilizadas nessa área são Python, JavaScript, Java, C++ e C.

  • Python

A linguagem de programação Python é uma das mais indicadas para quem quer aprender a programar. Ela é utilizada para diversos fins, entre eles o desenvolvimento de jogos.

Conhecida por ser simples e fácil de aprender, ela cumpre o papel de entregar bons resultados para quem está desenvolvendo jogos. Na comunidade Python Brasil, há uma página que reúne informações sobre como desenvolver jogos utilizando a linguagem.

  • JavaScript

Com a linguagem JavaScript é possível criar funcionalidades interativas. Por isso, é bastante usada no desenvolvimento de sites, por exemplo.

Os chamados jogos web (aqueles que jogamos de forma on-line, através de um site por exemplo) também são desenvolvidos com JavaScript. Os jogos feitos a partir desta linguagem costumam ser baratos e fáceis de distribuir: basta o desenvolvedor colocá-lo numa página web e ele poderá ser acessado por todo o mundo.

Os usuários, por sua vez, não precisam instalar o jogo no computador nem ficar atualizando, eles sempre terão a melhor versão disponível ao acessar o site onde está o jogo.

  • Java

Com a linguagem de programação Java é possível construir aplicações em rede, como programas e jogos. Ela é considerada versátil, permitindo que os desenvolvedores a utilizem para computadores e também para dispositivos móveis. Ela é recomendada para quem tem vontade de começar a estudar e realizar projetos de desenvolvimento de jogos.

  • C++

Com a linguagem C++ é possível desenvolver projetos complexos. Normalmente é usada por quem já tem experiência na área porque ela não é tão simples de ser dominada e possui uma grande variedade de códigos.

A partir dela é possível criar vários tipos de jogos: desde jogo da velha até os jogos 3D desenvolvidos por grandes estúdios que podem ser jogados em computadores, dispositivos móveis e consoles.

  • C#

A linguagem de programação C# também é bastante utilizada na área de desenvolvimento de jogos, principalmente por causa da sua facilidade para interagir com outras linguagens. Esta é uma linguagem que possui uma grande quantidade de códigos e uma forte comunidade de desenvolvedores.

Considerada um pouco mais simples do que a C++, a linguagem C# é uma boa opção para ser aprendida por quem quer programar jogos. Assim como a C++, ela também desenvolve desde jogos mais simples até os mais complexos para diversas plataformas.

O jogo Pokémon Go conta com desenvolvimento na linguagem C#. Reprodução: Niantic / The Pokémon Company.

Principais engines para criação de jogos

Também chamada de game engine ou motor de jogo, em português, a engine é um programa de computador que simplifica o desenvolvimento de jogos eletrônicos. Com ela, os desenvolvedores conseguem otimizar o tempo de produção do jogo porque não precisam fazer tudo do zero.

A engine é uma ferramenta que unifica os elementos que compõem um jogo, ou seja: animações, texturas, modelos 3D, iluminação, música, efeitos sonoros, entre outros. Geralmente cada um desses elementos é feito por diferentes profissionais, e a engine é a ferramenta que une todos eles e os colocam para trabalhar em conjunto.

Atualmente no mercado existem várias engines disponíveis para o público e há também as que são exclusivas de estúdios de jogos que preferem ter a sua própria engine. Entre as que o público tem acesso, as mais populares são Unreal Engine e Unity.

  • Unreal Engine

Desenvolvida pela Epic Games, com a Unreal Engine podem ser criados jogos para diferentes plataformas: computador, celular ou consoles. Ela é conhecida por proporcionar gráficos potentes e realistas, e ser usada nos chamados jogos AAA (classificação utilizada para jogos feitos por uma grande editora com altos orçamentos para desenvolvimento e marketing).

Site da Unreal Engine

A Unreal Engine tem suporte para a linguagem de programação C++ e também para a programação visual Blueprints (sistema de scripts visual em que a pessoa não precisa escrever linhas de código para programar). A sua interface, entretanto, não é tão intuitiva. Por isso, pode ser um desafio grande para quem está iniciando no mundo dos jogos, sendo mais indicada para quem já tem uma certa experiência.

Alguns dos jogos que utilizaram a Unreal Engine foram: Batman: Arkham City, Life is Strange, Fortnite e Minecraft Dungeons.

Uma curiosidade: esta engine também é utilizada na produção de filmes e séries. Mais de 50% da série The Mandalorian, por exemplo, foi filmada em set digital com o auxílio da Unreal Engine.

  • Unity

Criada pela Unity Technologies, a Unity foi desenvolvida para oferecer uma maior eficiência e facilidade na criação de jogos. Assim como a Unreal Engine, com a Unity é possível desenvolver jogos para computador e consoles, mas ela se destaca na criação de jogos para mobile.

Site da Unity

Apesar de ser possível fazer gráficos realistas, a Unity é mais indicada para quem deseja desenvolver projetos mais simples como é o caso de jogos indies. Com suporte para a linguagem de programação C#, a interface deste motor de jogo é mais intuitiva. Isso torna a ferramenta mais fácil de ser usada, principalmente por quem está começando na área.

Alguns dos jogos que utilizaram a Unity foram: Ori and the Blind Forest, Cuphead, Fall Guys e Hollow Night.

4 programas para criar um jogo simples

Para quem tem vontade de criar um jogo, mas não tem domínio de engines como Unreal e Unity, há programas muito mais simples para isso, como é o caso do Scratch, Construct 3, Kodu Game Lab e AppInventor.

  • Scratch

O Scratch, desenvolvido pelo grupo Lifelong Kindergarten do Instituto de Tecnologia de Massachusetts (MIT), é uma linguagem de programação, cujo principal objetivo é ensinar lógica e programação para crianças e adolescentes.

Site do Scratch

A partir dele, é possível criar jogos, além de histórias e animações, com scripts feitos com blocos que funcionam como um quebra-cabeça. Este é um tipo de linguagem de programação mais visual e simplificada. Isto permite que qualquer pessoa consiga desenvolver projetos digitais com facilidade.

É possível utilizar a ferramenta de forma on-line e no próprio site há tutoriais para auxiliar quem deseja começar a programar.

  • Construct 3

O Construct 3 é uma game engine desenvolvido pelo grupo Scirra que permite a criação de jogos digitais em 2D baseados em HTML 5. Multiplataforma, esta engine permite o desenvolvimento de jogos para smartphones, tablets, computadores, navegadores e consoles.

Site do Construct 3

Assim como o Scratch, o Construct não exige do usuário o conhecimento de programação. O software usa um editor visual e um sistema de lógica baseado em comportamento, além de possuir uma interface fácil de ser usada. Por outro lado, a ferramenta também tem suporte para linguagem de programação JavaScript, caso o usuário deseje implementar algum recurso em seu jogo 2D.

Com versões gratuitas e pagas, para usar o Construct 3 não é preciso fazer instalação. O usuário pode usá-lo diretamente do navegador e, em caso de dúvida, há tutoriais no próprio site, além de ter fóruns onde se pode tirar dúvidas.

  • Kodu Game Lab

Produzido pela Microsoft, o Kodu Game Lab é um ambiente de desenvolvimento de jogos 3D que tem o objetivo de ensinar princípios básicos de programação para crianças. Nele, os usuários usam uma linguagem de programação visual baseada em blocos.

O Kodu Game Lab é gratuito e para usá-lo é preciso fazer download através da Microsoft Store. Por ser uma ferramenta da Microsoft, ele só funciona em computadores que tenham o sistema operacional Windows.

  • App Inventor

Desenvolvido pelo Google em 2010 e mantido hoje pelo MIT, o App Inventor é voltado para o desenvolvimento de aplicativos, incluindo de jogos, para celulares Android e iPhones.

Com a proposta de oferecer uma plataforma que auxilia no desenvolvimento de aplicativos para quem não programa, o App Inventor permite ao usuário que construa aplicativos através de uma linguagem de programação visual baseada em blocos.

O acesso ao App Inventor é gratuito e pode ser feito através de um navegador, mas é preciso ter uma conta Gmail para fazer o login na plataforma e utilizá-lo.

Site do App Inventor

Seja um desenvolvedor de jogos!

A EBAC oferece cursos que podem ajudar você na sua formação como desenvolvedor. O Profissão: Game Designer & Desenvolvedor Unreal e o Profissão: Game Designer & Desenvolvedor Unity são dois dos cursos oferecidos na área de games na EBAC.

Através deles, você vai dominar os princípios de game design e aprender a mexer nas principais engines do mercado. Você também vai ter a oportunidade de desenvolver os seus próprios jogos, ajudando na construção de uma carreira profissional nesta área que está em ascensão.