Aprenda a Criar um Jogo 2D Simples em 1 Hora com Unity

Você já pensou em criar seu próprio jogo, mas achou que precisaria de conhecimentos avançados ou ferramentas caríssimas? Pois é, com o Unity dá pra começar rapidinho, sem precisar ser um expert de primeira! Neste artigo, você vai ver um passo a passo para criar um jogo 2D simples em apenas 1 hora. A ideia aqui é focar nos fundamentos: entender o Unity Editor, como importar sprites e criar scripts🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. básicos para fazer algo jogável. Tudo de forma prática e com pouca formalidade, pra você sentir que desenvolver jogos é algo acessível e muito empolgante.

Que tal criar📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. seu primeiro jogo 2D em menos de 1 hora mesmo sem saber programar? Neste guia, você vai construir um jogo simples de coleta de moedas usando Unity e C#. Ideal para quem está começando ou quer migrar para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! desenvolvimento de jogos. Não precisa ser expert: só seguir os passos!

Pré-requisitos:

  • Unity Hub instalado (baixe aqui
  • Versão do Unity 2022 LTS ou superior
  • Vontade de ver um personagem se movendo na tela! 😎

Tabela de Conteúdo / Índice🔗

Configuração do Ambiente

Antes de tudo, você precisa instalar o Unity (de preferência, a versão mais recente) e garantir que tem as ferramentas de desenvolvimento .NET instaladas. Quando o Unity for instalado, ele já vem com o Visual Studio ou Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. Code integrado (dependendo do que você escolher na instalação).

1. Baixe e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. instale o Unity Hub.

2. Pelo Hub, instale a versão do Unity (LTS ou a mais atual estável).

3. Selecione também o módulo🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados. .NET durante a instalação, pra garantir que o ambiente de script em C# funcione direitinho.

Após essas etapas, você está pronto para criar seu primeiro projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes..

Criando um Projeto 2D

1. Abra o Unity Hub e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. clique em New Project.

2. Selecione a opção 2D (importante, pois isso vai configurar algumas coisas de forma otimizada para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! jogos em 2D).

3. Dê um nome para o seu projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes., escolha onde salvá-lo e clique em Create.

Depois que o editor carregar, você vai ver várias janelas: Hierarchy, Scene, Game, Project e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. Inspector. É nessa interface📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas. que tudo acontece:

Entendendo a Interface do Unity

A interface📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas. do Unity tem 4 áreas principais:

ÁreaFunção
HierarchyLista de objetos na cena (personagens, cenário, etc.)
Scene ViewOnde você edita visualmente a cena
InspectorPropriedades do objeto selecionado (ex: posição, escala)
ProjectArquivos do projeto (scripts, sprites, etc.)
👉 Dica rápida: Arraste um sprite (imagem) para a cena para criar um objeto!

Adicionando Sprites e Assets

Para criar📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. um jogo, você precisa de sprites (imagens) para representar personagens, cenários e elementos de interface📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!📜 Interfaces: Contratos que Garantem a Ordem no Universo OOP!Descubra como as interfaces em C# funcionam como contratos que garantem implementações flexíveis e robustas, facilitando o design e testes de sistemas.. Um jeito simples é baixar imagens grátis de sites de arte 2D ou usar assets básicos que vêm em pacotes gratuitos.

1. Crie uma pasta chamada Sprites em Project.

2. Arraste e solte a imagem (sprite) que você quer usar como personagem ou cenário para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! dentro da pasta.

3. Se necessário, selecione o sprite no Inspector e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. ajuste Sprite Mode se for🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! usar spritesheets. Para este exemplo básico, imagine uma única imagem para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! o personagem e fundos estáticos.

Depois disso, basta arrastar o sprite para a sua cena para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! visualizá-lo. Você pode posicionar o objeto e alterar o tamanho diretamente na janela Scene. Pode também ajustar a escala no Inspector.

Movimentação do Personagem

Para dar vida ao seu personagem, precisaremos de um script🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. em C#. Vamos supor algo bem simples: apertar as setas do teclado para mover o personagem.

1. Na pasta Project, crie uma pasta chamada Scripts🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição..

2. Clique com o botão direito → CreateC# Script🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. chame-o de PlayerController.

3. Arraste esse script🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. para o objeto do personagem na Hierarchy (assim, ele fica vinculado).

4. Abra o script🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. (clicando duas vezes) e escreva algo como:

using UnityEngine;
public class PlayerController : MonoBehaviour
{
    public float speed = 5f;
    void Start()
    {
        Debug.Log("Jogo iniciado!"); // Mensagem no console
    }
    void Update()
    {
        // Captura input do teclado (WASD ou setas)
        float moveX = Input.GetAxis("Horizontal"); // -1 (esquerda) a 1 (direita)
        float moveY = Input.GetAxis("Vertical");   // -1 (baixo) a 1 (cima)
        // Aplica movimento
        Vector2 movement = new Vector2(moveX, moveY) * speed * Time.deltaTime;
        transform.Translate(movement);
    }
}

O que estamos fazendo aqui é:

Ao dar Play no Unity, seu personagem deve se mover de acordo com as teclas pressionadas!

⚠️ Problema comum: Se o personagem se mover muito rápido, ajuste a variável speed no Inspector.

Colisões Básicas

Se você quiser que o personagem colida com paredes ou outros objetos, basta adicionar📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. Colliders🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades., se necessário, usar Rigidbodies🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. (2D). Exemplo rápido:

1. Clique no sprite que representa seu personagem.

2. No Inspector, clique em Add📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. Component e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. procure por Box Collider🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. 2D.

3. Ajuste o tamanho do collider🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. e marque a opção Is Trigger se quiser que atravesse e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. apenas detecte a colisão.

Para paredes ou chão, também é possível adicionar📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. um Box Collider🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. 2D num objeto que represente a parede. Se desejar que o personagem seja afetado por física (gravidade ou empurrões, por exemplo), adicione um Rigidbody🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. 2D em vez do Is Trigger.

Adicionando Colisões e Coleta de Moedas

Passo 1: Configure as Colisões

Passo 2: Crie um Coletável

1. Crie um objeto 2D (ex: círculo) e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. nomeie como Moeda.

2. Adicione um Collider2D🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. (Componente > Physics 2D > Circle Collider🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. 2D).

3. Marque Is Trigger no Collider🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos..

Passo 3: Script para Coleta

Crie um novo script🎭 Scripts em C#: Controle Personagens e Física!🎭 Scripts em C#: Controle Personagens e Física!Aprenda a desenvolver scripts em C# para personagens e integrar física realista em Unity. Um guia passo a passo para iniciantes e devs em transição. Coin.cs:

using UnityEngine;
public class Coin : MonoBehaviour
{
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            Destroy(gameObject); // Destroi a moeda
            Debug.Log("Moeda coletada!");
        }
    }
}
👉 Importante: Defina a tag Player no objeto do personagem (Inspector > Tag > Add Tag).

Testando e Construindo Seu Jogo

Depois de fazer alguns ajustes, é só clicar em Play e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. ver se tudo funciona como esperado. Mexa no speed do personagem, troque sprites, teste colisões etc. Se algo não sair como planejado, não se preocupe; faz parte do aprendizado!

Quando📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. estiver satisfeito:

1. Vá em File → Build Settings.

2. Selecione a Plataforma (PC, Mac & Linux, por exemplo) e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. clique em Build & Run.

3. Escolha uma pasta para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! colocar o executável.

Pronto! Você vai ter seu primeiro joguinho 2D rodando fora do editor, pronto pra mostrar pros amigos.

Build do Jogo: Veja seu Jogo Rodando!

1. Vá em File > Build Settings.

2. Selecione a plataforma (ex: Windows, Mac, Android).

3. Clique em Build e escolha uma pasta para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! salvar.

🎉 Parabéns! Seu jogo está pronto para ser jogado (e compartilhado!).

Desafio Prático🔗

Adicione estes elementos ao jogo:

1. Um contador de moedas que aparece na tela.

2. Uma parede que bloqueia o movimento do personagem (use Collider2D🔧 Physics 2D: Colisões Customizadas e Triggers!🔧 Physics 2D: Colisões Customizadas e Triggers!Aprenda a configurar colisões customizadas e triggers no Unity 2D com exemplos práticos, dicas de física híbrida e otimização de performance em jogos. sem Trigger).

3. Efeito sonoro ao coletar moedas (dica: use AudioSource.Play()).

// Exemplo de contador (adicione ao PlayerController):
public int coins = 0;
void OnTriggerEnter2D(Collider2D other)
{
    if (other.CompareTag("Coin"))
    {
        coins++;
        Debug.Log("Moedas: " + coins);
    }
}

Com esse passo a passo, você já tem uma base sólida pra entrar no mundo do desenvolvimento de jogos em 2D. O Unity oferece muitas possibilidades, mas a ideia aqui foi te mostrar o caminho inicial, sem complicar. Daqui em diante, é explorar, criar novos scripts, testar novas mecânicas e até adicionar📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. sons e efeitos visuais. A melhor forma de aprender é experimentando e, aos poucos, descobrindo as ferramentas mais avançadas que tornam seus jogos cada vez mais profissionais!

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados