4 minuto(s) de leitura

É impossível conseguir qualquer coisa, se você não sabe o que quer. Fallout.

Um jogo digital é um produto de software e como muitos projetos de desenvolvimento envolve diversas áreas de conhecimento na sua construção, como por exemplo:

  • Programação;

  • Arte 3D e 2D;

  • Computação gráfica;

  • Elementos de construção de narrativas;

  • Efeitos sonoros.

Figura: Notebooks

Se você é como a maioria das pessoas, provavelmente joga videogame. Não importa se você é um jogador competitivo de e-sports atrás de muito dinheiro com seus jogos, ou se gosta de jogar spider ou candy crush como minha mãe, todo mundo joga. Mas você já pensou em fazê-los para o seu trabalho?REF

1. Programação de computadores

Programação é o processo de escrita, teste e manutenção de um programa de computador. O programa é escrito em uma linguagem de programação, embora seja possível, com alguma dificuldade, o escrever diretamente em linguagem de máquina. Diferentes partes de um programa podem ser escritas em diferentes linguagens.

Exemplo:

#include <iostream>

int main() {
    std::cout << "Hello World!";
    return 0;
}

2. Arte 3D e 2D

A arte digital (2D e 3D) é a apresentação de personagens, ambiente e outros elementos que estão presentes nos jogos eletrônicos.

É melhor criar um jogo 2D ou 3D?
Figura: É melhor criar um jogo 2D ou 3D?

Desenvolvimento de jogos evoluiu e a geração de hoje preza bastante pelo seu design mágico, estrutura, renderização e textura. Isso tem influenciado diretamente em saber se é melhor criar um jogo 2D ou 3D.REF

3. Computação gráfica

3D (computação gráfica)
figura: 3D (computação gráfica).

Computação gráfica tridimensional são gráficos que usam representações tridimensionais de dados geométricos (geralmente cartesianos) que são armazenados em um computador com o propósito de realizar cálculos e renderizar imagens 2D. REF.

4. Elementos de construção de Narrativas

Jornada do Herói: Desenvolvimento de Narrativas para Jogos
Figura: Jornada do Herói: Desenvolvimento de Narrativas para Jogos

Toda e qualquer história seja ela de aventura, terror, ação, romance ou qualquer outro gênero, é a responsável por chamar atenção do usuário e levar o jogador de encontro com uma nova aventura, conhecer um novo mundo qual ele irá mergulhar, quem são os personagens, seus medos, conquistas e aflições. REF

5. Efeitos sonoros

Game sound design: soundtrack, sound effects and how to combine them
Figura: Game sound design: soundtrack, sound effects and how to combine them [KREONIT,Hi]

O design de som é uma parte muito importante de um jogo. Os desenvolvedores de jogos concordam que a música e os sons são poderosos condutores emocionais. E nosso objetivo é usar totalmente o som para tornar o jogo ainda melhor.

Como visto acima, diversos perfis profissionais de áreas distintas estão presentes na construção de um jogo, formando diversas equipes multiculturais, o que aumenta a complexidade desse tipo de projeto quando pensamos na organização de tarefas e comunicação dos envolvidos.

6. Mecânica, Dinâmica e Estética (MDA)

O projeto de desenvolvimento de um jogo pode ser estruturado dividindo-o em componentes distintos, Mecânica - Mechanics, Dinâmica - Dynamics e Estética Aesthetics, MDA, esta divisão ajuda a trabalhar com o design do jogo.

6.1. Mecânica

Descreve os componentes específicos do jogo, no nível de representação de dados e algoritmos.

  • Componentes: Pontos, Avatares, Distintivos, tabelas de classificação;

  • Controles: Tarefas, tempo, Perfis;

  • Ações: Níveis, missões e grupos.

6.2. Dinâmica

Descreve o comportamento da mecânica quando ela é executada pelas ações do jogador e cada um dos resultados ao longo do tempo.

  • Contexto;

  • Escolhas;

  • Consequências;

  • Restrições;

  • Continuação;

  • Competição;

  • Cooperação.

6.3. Estética

Descreve as respostas emocionais desejáveis evocadas no jogador, quando ele interage com o sistema de jogo, como por exemplo:

  • Desafio;

  • Criatividade;

  • Comunidade;

  • Elogio;

  • Confiança;

  • Conhecimento;

Quanto a construção da mecânica de um jogo é necessário utilizar uma linguagem de programação para implementar movimento, interação de personagens, inteligência artificial e outros elementos dinâmicos.

As linguagens de programação vem evoluindo para simplificar as rotinas e comandos assim agilizando o desenvolvimento e permitindo o programador focar no que deve ser feito escondendo alguns detalhes de como é feito.

Informação: Conhecer e entender como são feitos os jogos eletrônicos, é importante para determinar as técnicas utilizadas e ser capaz de aproveitar ou mesmo melhorar os jogos.

Existem aplicações que auxiliam na produção de programas de computador ou jogos digitais, estas ferramentas abstraem a lógica complexa que faz com os objetos sejam apresentados de forma adequada na cena, no caso de jogos digitais. Tais ferramentas são chamadas de Frameworks.

7. O que é uma Engine e Framework?

Game Engine VS Game Framework
Figura: Game Engine VS Game Framework

Antes que os motores de jogo viessem à existência, os jogos eram escritos como uma única entidade; o que significa que, se você quisesse construir outro jogo, você tinha que reescrever códigos quase inteiros novamente. Havia muitas outras preocupações também ao escrever jogos. Por vezes, os jogos foram concebidos de baixo para cima para utilizar o hardware de vídeo de forma otimizada…REF

No desenvolvimento de jogos um Framework pode ser definido como um conjunto de bibliotecas que auxiliam a programação, sendo que uma Engine ou motor gráfico é mais completo pois abrange outros aspectos na produção de jogos.

Algumas Engine disponíveis no mercado.

  1. Unreal engine;

  2. Unity;

  3. GameMaker;

  4. Godot.

8. Ciclo da lógica do desenvolvimento de um jogo

A maioria das Engines seguem um ciclo de execução da lógica de programação baseado em :

  • Inicialização - Executado ao iniciar o jogo carregando bibliotecas básicas;
  • Carga - Responsável por carregar os objetos ou módulos;
  • Atualização - Estado de atualização constante responsável por apresentar todos os estados do jogo;
  • Finalização - Executa as rotinas para descarregar o jogo.

9. O que é Unreal Engine?

Unreal Engine

É uma Engine (motor gráfico) para desenvolvimento de jogos que engloba vários aspectos na sua produção, a seguir listamos algumas funcionalidades:

  1. Edição e compilação da lógica de programação;

  2. Apresentação de elementos visuais da cena do jogo;

  3. Editor da lógica de animações e manipulação de esqueletos e malhas;

  4. Editor de interfaces para comunicação com os jogadores (HUD);

  5. Editor de sequencias de animação;

  6. Editor de sons;

  7. Editor para construção de materiais;

  8. Editor de efeitos especiais utilizando partículas.