Você está na página 1de 100

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

A partir daqui podemos criar o resto das animações. Estes serão:

• IdleDown (já criado)


• Inativo
• OciosoEsquerda

• IdleRight
• Mover para baixo

• Subir
• Mova para a esquerda

• Mover para a direita

Aqui está o queMover para baixoserá a animação. Clique noNova Animaçãobotão para criar
uma nova animação.

Vá até agora e crie todas as animações de inatividade e movimento. Feito isso,


selecione oAnimadoSpritenó e...

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
• Colocou oAnimaçãoparaInativo
• HabilitarJogando

De volta aoJogadorscript, vamos criar uma nova variável para fazer referência ao nó do sprite animado.

Então podemos criar ogerenciar_animaçõesfunção que verificará a velocidade e as direções para


determinar qual animação reproduzir.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Oplay_animationfunção receberá um nome de animação e o reproduzirá.

Podemos chamar a função manager_animations em cada quadro no final do_processo_física


função.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora, quando pressionamos play, você verá que as animações são reproduzidas quando nos movemos.

Criando o Tilemap
Agora que temos um jogador que pode andar por aí, vamos criar o nosso mundo.

NoCena Principal, crie um novo nó filho do tipoTileMap. Em seguida, no inspetor, crie um novo conjunto
de peças.

Esses conjuntos de peças requerem peças, então, para fazer isso, precisamos criar uma nova cena com todas as peças disponíveis
nela.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Quando todas as peças estiverem na nova cena, vá paraCena > Converter para... > Conjunto de blocose salve-o como
azulejos.tres.

De volta aoCena Principal, selecione o nó TileMap e no inspetor, selecione a propriedade tileset e


escolha carregar. Selecione o recurso que acabamos de criar e os blocos deverão aparecer no painel à
direita.

Agora podemos selecionar um bloco e pintá-lo na visualização da cena. Aqui estão algumas chaves para construir seu mapa de
blocos:

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
• Colocar ladrilho -Mouse esquerdo

• Excluir bloco -Direito do mouse


• Desenhar linha -Shift + Esquerdo do Mouse

• Desenhar retângulo -Shift + Ctrl + Esquerdo do Mouse

• Excluir linha e excluir retângulo são iguais, mas com o botão direito do mouse

Agora, se tentarmos colocar uma árvore, você verá que ela substitui o ladrilho em vez de colocá-lo em cima. Para corrigir isso,
podemos criar um segundo mapa de blocos.

• Chame o mapa de blocos existenteTileMap_Ground


• Crie um novo mapa de blocos chamadoTileMap_Above
• Defina esse conjunto de peças para o mesmo conjunto de peças

• Agora podemos desenhar peças sobre o mapa de peças existente

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Algo que você também pode querer é uma colisão com alguns blocos. Para implementar isso, selecione o
mapa de blocos no sistema de arquivos e o painel TileSet deverá aparecer.

• Selecione um bloco

• Clique no sprite que aparece (várias configurações devem aparecer)


• SelecioneColisão
• Selecione osRetânguloferramenta

• Desenhe o colisor no sprite

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Vamos agora criar uma cena maior com nossos dois mapas de blocos.

Continua na Parte 2
Com o mapa de blocos criado e o jogador configurado, agora temos a base para um espetacular RPG 2D em Godot!
Ao longo da parte 1, abordamos não apenas a configuração de animações de sprites para o personagem do seu
jogador em Godot, mas também a configuração de raycasts e mapas de blocos com colisões apropriadas.
Felizmente, com apenas essas bases, você também pode expandir para outros jogos ou criar mapas de RPG ainda
mais complicados.

No entanto, o nosso RPG certamente não está completo! EmParte 2 , cobriremos o resto do nosso processo de criação de
RPG com inimigos, saques, sistemas de interface do usuário e muito mais! Espero ver vocês então!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Construa um RPG 2D em Godot – Parte 2

Introdução
Bem-vindos de volta a todos! É hora de terminar nosso RPG 2D em Godot!

ParaParte 1 Nesta série de tutoriais, começamos a configurar nosso projeto de RPG 2D no mecanismo de jogo
Godot de código aberto e gratuito. Algumas das coisas que aprendemos incluem: mapas de blocos,
controladores de jogador, raycasting, animações de sprites e muito mais! Resumindo, temos uma excelente base
para trabalhar e expandir!

Porém, o que é um RPG sem alguns inimigos ou itens para saquear? Nesta segunda parte do nosso tutorial
de RPG 2D para Godot, terminaremos adicionando estes elementos, além de adicionar a capacidade de
nossa câmera seguir o jogador.

Então relaxe e prepare-se para terminar seu primeiro RPG em Godot!

Arquivos de projeto

Para este projeto, precisaremos de alguns recursos como sprites e uma fonte. Estes serão provenientes
dekenney.nl eFontes do Google . Você pode, é claro, optar por usar seus próprios recursos, mas neste
curso nós os usaremos.

Os ativos e o código-fonte podem ser baixadosaqui .

Acompanhamento da câmera

Com a nossa grande cena, há um problema que é o fato da câmera não se mover. Para corrigir
isso, vamos criar um novoCâmera2Dnó no MainScene.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Então podemos criar um novo script anexado ao nó da câmera. Chame-oCâmera Seguir. Tudo o que
faremos aqui é encontrar o jogador e avançar em direção a ele a cada quadro.

Finalmente, no inspetor, certifique-se de ativarAtualpara que a câmera seja aquela através da qual
olhamos.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora, se apertarmos play, você verá que a câmera segue o jogador.

Criando um inimigo
Vamos agora criar uma cena inimiga. Eles irão perseguir o jogador e atacá-lo quando estiver ao
alcance.

1. Crie uma nova cena com um nó raiz deCinemáticoCorpo2D


2. Renomeie paraInimigoe salve a cena
3. Arraste ojogador_s_0.pngsprite para criar um nó sprite
4. Defina oModularparavermelho
5. Crie umColisãoForma2Dnó com formato de cápsula e redimensioná-lo
6. Crie umCronômetronó - será usado para verificar quando podemos atacar

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Script do Inimigo
No nó inimigo, crie um novo script chamado Enemy. Podemos começar com as variáveis.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Dentro do_processo_físicafunção (é chamada 60 vezes por segundo), queremos nos mover em direção ao alvo se
estivermos mais longe que a distância de ataque, mas mais perto que a distância de perseguição.

De volta aoCena Principalvamos arrastar oInimigocena para criar uma nova instância. Agora podemos
apertar play e testar. O inimigo deveria se mover em nossa direção.

Agora que o inimigo se move em nossa direção, vamos fazer com que ele nos ataque.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
1. Vá para oInimigocena
2. Selecione oCronômetronó
3. No painel Inspetor, clique no botãoNóaba
4. Clique duas vezes notempo esgotado()sinal
5. CliqueConectar

Isto criará o_on_Timer_timeoutfunção. Aqui, queremos verificar se estamos dentro da distância


de ataque e então atacar o alvo. Estaremos criando olevar_danofuncionar no player em breve.

No_prepararfunção que é chamada assim que o nó é inicializado, vamos configurar o nó do temporizador.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Finalmente para o inimigo, vamos criar olevar_danoemorrerfunções. Oalvo.give_xp
função será chamada no script do player mais tarde.

Funções do jogador
Agora queremos passar para oJogadorscript e adicione algumas novas funções para trabalhar com os
inimigos. Vamos começar com odar_ourofunção que adicionará ouro ao jogador.

Para o sistema de nivelamento, vamos criar odar_xpeUparfunções.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Olevar_danoemorrerfunções serão chamadas quando um inimigo nos atacar.

Agora, se apertarmos o play, você verá que o inimigo pode nos atacar e nos matar – o que recarregará a cena.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Interação do jogador
Com o nosso jogador, queremos a capacidade de interagir com baús e inimigos. NoJogadorscript, vamos
criar o_processofunção (chamada de cada quadro) e verifique quando estamos pressionando o botão de
interação.

Otry_interactA função verificará se o raycast está atingindo alguma coisa. Se for um inimigo, cause dano
a ele, mas se não for, chame oon_interactfuncionar se eles o tiverem.

Baú interativo
Agora precisamos de algo para interagir. Este será um baú que dará ao jogador algum
ouro. Crie uma nova cena com um nó raiz deÁrea2D.

1. Renomeie o nó paraPeito
2. Salve o nó
3. Arraste orpgTile163.pngpara criar um nó Sprite
4. Crie umColisãoForma2Dnó
5. Defina a forma para umRetânguloe redimensione-o para caber no sprite

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Em seguida, crie um novo script chamadoPeitoanexado ao nó Area2D. Tudo o que vamos
fazer aqui é ter oon_interactfunção que dá ouro ao jogador e depois destrói o nó.

Você pode notar que interagir com o baú não funcionará, mas atacar o inimigo funciona.
Então noJogadorcena, selecione o nó ray cast e ativeColidir com áreas.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Criando a IU
Crie uma nova cena com um nó raiz deAo controle.

1. Renomeie o nó paraIU
2. Salve a cena
3. Crie um novoTexturaRetnó e chame-oGB
4. Defina oTexturaparaUI_Square.png
5. HabilitarExpandir
6. Arraste os 4 pontos de ancoragem para o centro inferior
7. Defina oPosiçãopara386, 520
8. Defina oTamanhopara250, 60
9. Defina oVisibilidade > Automodulaçãoparacinza escuro

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Como filho dissoGBnó, queremos criar três novos nós.

• Nível BG -TexturaRet
• Barra de Saúde -TexturaProgresso
• XpBarTexturaProgresso

Para oTexturaProgressonós...

1. HabilitarAlongamento de nove patches

2. Defina oSobeProgressotexturas paraUI_Square.png


3. Defina oSobmatizar paracinza escuro
4. Defina oProgressomatizar paravermelhoouverde

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora precisamos configurar nossas fontes. Com os ativos que importamos para o projeto, temos dois arquivos de fontes.
No momento, esses são apenas arquivos .ttf que precisam ser convertidos em um formato que Godot possa ler. Para cada
arquivo de fonte...

1. Clique com o botão direito e selecioneNovo recurso...


2. Selecione oFonte Dinâmicarecurso
3. Salve na pasta Fonte
4. Clique duas vezes no novo recurso e arraste o arquivo .ttf para oFonte > Dados da fontepropriedade

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Como filho doNível BGnó, crie um novoRótulonó e renomeie-o paraNívelTexto.

• Redimensione a caixa reta para caber no quadrado BG do nível

• DefinirAlinhareValignparaCentro
• Arraste o recurso de fonte dinâmica em negrito para oFontes personalizadaspropriedade

• Defina a fonteTamanhopara35

• Colocou oVisibilidade > Automodulaçãoparacinza

Crie um novoRótulonó chamadoTexto Dourado.

1. Mova e redimensione-o para ficar como abaixo


2. DefinirAlinharparaCentro
3. Defina oFonte personalizadapara o recurso de fonte dinâmica regular

Script da IU
A seguir, vamos criar um novo script anexado aoIUnó, chamadoIU. Começaremos com as variáveis para fazer
referência aos nós filhos.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Depois temos nossas funções que atualizam cada um desses nós.

Agora que temos oIUroteiro, vamos para oCena Principale arraste oIUcena. Para torná-lo
renderizado na tela, precisamos criar umCamada de telanó e tornar a UI um filho dele.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Para poder acessar o script UI do player, precisamos mover a camada canvas para o topo da
hierarquia.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Lá noJogadorscript, vamos criar uma variável para fazer referência ao script de UI.

Crie o_prepararfunção que é chamada assim que o nó é inicializado. Lá, inicializaremos


a UI.

Agora precisamos passar por algumas funções e chamar as funções da UI no final delas. Eles são os
seguintes:

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora podemos apertar play e ver que a UI é definida no início do jogo e muda conforme ganhamos ouro,
sofremos danos, ganhamos XP e subimos de nível.

Com tudo isso, encerramos nosso jogo de RPG em Godot. Vamos agora voltar
aoCena Principale coloque alguns inimigos e baús pelo local.

Conclusão
Parabéns por concluir o tutorial! Com perseverança, trabalho duro e um pouco de
conhecimento, acabamos de criar um RPG 2D em Godot com diversos recursos diferentes.
Ao longo da Parte 1 e da Parte 2, mostramos como configurar:

• Um controlador de player 2D de cima para baixo

• Inimigos que podem atacar e perseguir o jogador


• Baús com os quais podemos interagir para conseguir ouro

• Uma UI para mostrar nossa saúde, XP, nível e ouro

E com isso, você agora deverá possuir as habilidades fundamentais para criar ainda mais RPGs no
futuro! Claro, você pode expandir o jogo criado aqui - adicionando novos recursos, aprimorando os
atuais ou até mesmo melhorando certos aspectos que você sentiu que estavam faltando! Existem
inúmeras direções a seguir a partir daqui, mas com esta base sólida, você terá uma grande vantagem!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Muito obrigado por acompanhar e desejo-lhe boa sorte em seus jogos futuros.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Desenvolva um RPG de ação 3D em Godot - Parte 1

Introdução
Pronto para criar seu próprio jogo com jogabilidade voltada para a ação?

Em alguns de nossos tutoriais anteriores, abordamos a criação de um FPS 3D e um RPG 2D. Ambos são
gêneros muito apreciados na indústria de jogos e têm muito a oferecer aos jogadores em termos de
experiências divertidas. No entanto, e se você quisesse um RPG 3D ou talvez algo com um pouco mais
de tempero? Para este tutorial, vamos nos aprofundar nisso e mostrar como fazer um RPG de ação 3D
no motor de jogo Godot.

Este tutorial de RPG de ação 3D cobrirá muitos assuntos, incluindo como fazer:

• Um controlador de jogador em terceira pessoa

• Inimigos que seguem e atacam o jogador


• Sistema de combate corpo a corpo

• Moedas colecionáveis

• UI para mostrar nossa saúde e ouro

Se isso parece ótimo para você, esperamos que você relaxe e esteja ansioso para criar seu próprio RPG de
ação do zero!

Antes de começar, observe que este tutorial não abordará os fundamentos do Godot. Se esta é a
primeira vez que você aprende o mecanismo, verifique primeiro o tutorial introdutório.

Quer ir direto para fazer inimigos e combater? Você pode experimentarParte 2 em vez de!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Arquivos de projeto

Neste curso, usaremos alguns modelos e uma fonte para deixar o jogo bonito. Você pode, é claro,
optar por usar o seu próprio, mas projetaremos o jogo com esses itens específicos em mente. Os
modelos são dekenney.nl , um bom recurso para ativos de jogos de domínio público. Então
estamos obtendo nossa fonte deFontes do Google .

Você pode baixar o código-fonte e os ativosaqui .

Configuração do projeto

Para começar, vamos criar um novo projeto Godot. Primeiro, vamos importar os ativos que precisaremos.

No painel de cena, selecioneCena 3Dcomo nosso primeiro nó raiz. Renomeie o nó paraCena Principal e
salve-o no sistema de arquivos.

Você verá que estamos no modo 3D aqui. Em 3D, temosEspacialnós. Estes são comoNó2D's, mas nos permite
posicioná-los, girá-los e dimensioná-los no espaço 3D. Abaixo você verá que temos algumas linhas de cores
diferentes.

• Linha azul =Eixo Z


• Linha vermelha =Eixo X

• Linha verde =Eixo Y

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Criando Nosso Ambiente
Aqui noCena Principal, vamos começar criando nosso ambiente.

1. Arraste onaturezaPack_001.objmodelo para criar um novoInstância de malhanó


2. Defina oTraduçãopara-15, 0, 15
3. Defina oEscalapara10, 1, 10

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Este será o nosso terreno, mas temos um problema. Não há colisor no modelo, então vamos
passar por ele. Para fazer isso rapidamente, podemos ...

• Selecione o nó
• SelecioneMalha > Criar corpo estático Trimesh

Agora que temos o terreno, vamos arrastar onaturezaPack_019.objmodelo.

• Dê um colisorMalha > Criar corpo estático Trimesh


• Colocou oTraduçãopara-12,6, 0,3, -4,7
• Colocou oEscalapara8, 8, 8

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Podemos então arrastar mais modelos, atribuir colisores a eles e dimensionar/posicionar os nós
para criar um ambiente bonito.

Uma coisa que você pode notar é que a hierarquia parece bastante confusa com todos esses modelos.
Para corrigir isso, podemos criar um novoNónó e arraste os modelos como um filho. Este é o tipo de nó
mais simplista e é bom para contêineres. Podemos então retrair e expandir o nó quando necessário.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Outra coisa que você pode notar é que está bastante escuro. Para corrigir isso, podemos
criar umLuz Direcionalnó que atua como nosso sol.

1. Defina oGraus de rotaçãopara -55, 65, 0


2. HabilitarSombra > Ativado

Agora temos luz.

Junto com isso, vamos deixar o camarote um pouco mais bonito. Clique duas vezes no
default_env.tres recurso no FileSystem para abrir as opções no inspetor.

• Clique noCéupropriedade para editar o skybox


• Colocou oCor superiorpararosa
• Colocou oCor inferiorparaverde
• Colocou oCor do horizonteparaazul
• Colocou oCurvapara0,1

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Criando o jogador
Crie uma nova cena com um nó raiz deCorpo Cinemático. Este é um nó para objetos físicos pelos quais você
deseja andar como um jogador ou inimigo.

• Quando criança, crie um novoInstância de malhanó ó


Colocou oMalhapara umCápsula Defina a
ó malhaRaiopara0,5 Colocou oTradução
ó para0, 1, 0 Colocou oGraus de rotação
ó para90, 0, 0
• Outra criança é aForma de Colisãonó óTêm as
mesmas propriedades do nó de malha

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Para a câmera, teremos um nó central com a câmera como filho.

• Crie um novo nó espacial e renomeie-o paraCâmeraOrbit


• Colocou oTraduçãopara0, 1, 0
• Como filho disso, crie um novoCâmeranó
• HabilitarAtual
• Colocou oTraduçãopara-1, 1, -5
• Colocou oGraus de rotaçãopara0, 180, 0

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Para a espada, vamos criar um nó espacial chamadoPorta-armas. Isto irá segurar o modelo da
espada.

• Colocou oTraduçãopara-0,58, 1, 0,035

Como filho deste nó, arraste oEspada.daemodelo.

• Colocou oGraus de rotaçãopara0, 90, 45


• Colocou oEscalapara0,15, 0,15, 0,15

Pois quando quisermos atacar inimigos, precisaremos criar umRayCastnó. Renomeie-o para AttackRayCast. Isso
dispara um ponto de uma determinada posição em uma direção e podemos obter informações sobre o que ele
atinge.

• HabilitarHabilitadopara que o raio funcione


• Colocou oTransmitir parapara0, 0, 1,5

• Colocou oTraduçãopara-0,3, 1, 0,6

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
De volta aoCena Principal, vamos arrastar oJogadorcena.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Aparência da câmera

Agora que temos nosso objeto de jogador, vamos começar a criar o script do sistema de aparência da câmera. No
Jogador cena, selecione oCâmeraOrbitnó e crie um novo script chamadoCâmeraOrbit. Podemos começar com as
variáveis.

O_entradaA função é chamada quando qualquer entrada é detectada (teclado, tecla do mouse, movimento do
mouse, etc.). Queremos verificar se o mouse se moveu e, em caso afirmativo, definir o delta do mouse.

Dentro do_processofunção (chamada de cada quadro), vamos girar a câmera verticalmente e girar o
player horizontalmente. Girar o player separadamente torna mais fácil descobrir as direções do
movimento posteriormente.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Finalmente, podemos bloquear e ocultar o cursor do mouse no_prepararfunção.

Agora, se apertarmos play, será solicitado que selecionemos uma cena base. Escolha oCena Principalentão
poderemos testar o sistema de órbita da câmera.

Script do Player
Vamos agora trabalhar em nosso player. Crie um novo script chamadoJogadoranexado ao nó Player.
Podemos começar com as variáveis.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora iremos detectar entradas do teclado e basear o movimento nisso. Porém, para obter essas
entradas, precisamos criar ações. Vamos paraConfigurações do projetojanela (Projeto >
Configurações do Projeto...)então vá para oMapa de entradaaba.

Aqui, queremos inserir um nome de ação e adicioná-lo. Em seguida, atribua uma chave para essa ação. Precisamos de 6
ações diferentes.

• segue em frente
óChave =C
• anda para trás
óChave =S

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
• Mova para a esquerda

óChave =A
• mover_direita
ó Chave =D
• pular
ó Chave =Espaço
• ataque
ó Botão do mouse =Botão esquerdo

De volta ao nosso script, podemos criar o_processo_físicafunção. Isso está embutido no Godot e é
chamado 60 vezes por segundo - isso é bom para fazer chamadas de física.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Dentro desta função, primeiro vamos redefinir os eixos x e z do nosso vetor de velocidade e criar um novo vetor para
armazenar nossas entradas.

Então podemos detectar nossas ações de movimento e modificar o vetor de entrada.

Com nosso vetor de entrada, queremos normalizá-lo. Isso significa redimensionar o vetor para uma magnitude (x
+ y + z = magnitude) de 1. Porque quando avançamos, nosso vetor de entrada é (0, 0, 1) com magnitude 1. No
entanto, quando nos movemos diagonalmente (1, 0, 1), temos uma magnitude de 2. Movemo-nos mais rápido na
diagonal, portanto, reduzir nosso vetor de entrada diagonal para algo como (0,5, 0, 0,5) manterá a magnitude de
1.

Agora, como podemos olhar em volta e girar, não queremos nos mover na direção global. Precisamos
encontrar nossa direção local.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
A seguir, podemos aplicar isto ao nosso vetor velocidade.

Portanto, podemos nos mover horizontalmente, mas e a gravidade?

Junto com a gravidade, também queremos a capacidade de pular.

Finalmente com tudo calculado, vamos realmente mover o jogador.

Agora podemos apertar play e testar!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Moedas de ouro

A seguir, criaremos um objeto moeda que o jogador poderá coletar.

1. Crie uma nova cena com um nó raiz deÁrea


2. Renomeie o nó paraMoeda de ouro
3. Salve-o no sistema de arquivos
4. Arraste oMoeda de ouromodelo quando criança
5. Defina oEscalapara0,5, 0,5, 0,5
6. Crie um novoForma de Colisãonó
7. Defina oRaiopara0,5

Anexado ao nó Área, crie um novo script chamadoMoeda de ouro. Primeiro, podemos trabalhar nas nossas duas
variáveis.

Dentro do_processofunção que é chamada a cada quadro, giraremos a moeda ao longo de seu eixo Y.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Para detectar quando o jogador inseriu a moeda, precisamos nos conectar a um sinal.

1. Selecione o nó GoldCoin
2. NoNóguia, clique duas vezes nocorpo_entradosinal
3. CliqueConectare você deverá ver que uma nova função é criada no script

Esta função é chamada quando outro corpo entra no colisor de moedas. O que queremos fazer é
verificar se o corpo é o jogador. Se sim, ligue para odar_ourofunção (que criaremos depois) e, em
seguida, destruiremos o nó comfila_free.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Vamos agora criar odar_ourofuncionar noJogadorroteiro.

De volta ao nossoCena Principal, vamos arrastar a cena GoldCoin. Duplique-o várias vezes
para criar várias instâncias diferentes e posicioná-las.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Assim como nos modelos, vamos criar um novo vazioNóe fazer das moedas um filho disso. Isso funcionará como
uma espécie de contêiner para tornar a hierarquia da cena menos confusa.

Continua na Parte 2
Até agora, criamos um jogador com uma espada, roteirizamos nosso jogador para se mover e até configuramos nossas
várias moedas que o jogador tentará coletar. Para começar, também configuramos nossa câmera para que ela possa
acompanhar o jogador. Embora alguns aspectos certamente possam ser jogados neste estado, nosso RPG de ação 3D
definitivamente não está completo! Afinal, o que é um RPG sem alguns inimigos e obstáculos para enfrentar?

EmParte 2 , finalizaremos este projeto de RPG de ação 3D configurando nossos inimigos, animando nossa
espada para o combate e implementando nossa UI. Ao fazer isso, teremos uma base sólida para um RPG
que pode ser expandido como desejar! Até a próxima parte!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Desenvolva um RPG de ação 3D em Godot - Parte 2

Introdução
Bem-vindo de volta a esta série de tutoriais onde estamos construindo um RPG de ação 3D do zero
com Godot. EmParte 1 , cobrimos muito sobre como fazer um RPG de ação com Godot, incluindo:

• Criando o projeto
• Configurando o ambiente
• Implementando o controlador de jogador em terceira pessoa

• Construindo moedas de ouro colecionáveis

Embora esses elementos certamente criem uma excelente base para o nosso jogo, queremos adicionar um pouco mais
para criar aquela verdadeira sensação de RPG de ação. Assim, na Parte 2, finalizaremos nosso projeto adicionando inimigos
e mecânicas de combate – incluindo uma animação bacana para nossa espada. Para começar, também mergulharemos na
interface do Godot para que você possa configurar uma maneira simples de monitorar a saúde e o ouro do jogador.

Esperamos que você esteja pronto para mergulhar e criar esta peça impressionante para o seu portfólio!

Arquivos de projeto

Neste curso, usaremos alguns modelos e uma fonte para deixar o jogo bonito. Você pode, é claro,
optar por usar o seu próprio, mas projetaremos o jogo com esses itens específicos em mente. Os
modelos são dekenney.nl , um bom recurso para ativos de jogos de domínio público. Então
estamos obtendo nossa fonte deFontes do Google .

Você pode baixar o código-fonte e os ativosaqui .

Criando o Inimigo
Vamos agora criar o inimigo. Eles irão perseguir o jogador e danificá-lo a uma distância especificada.
Para começar, vamos criar uma nova cena com um nó raiz deCorpo Cinemático.

1. Renomeie o nó paraInimigo
2. Salve a cena
3. Quando criança, crie um novoInstância de malhanó (renomeie-o paraMalha)
4. Defina oMalhaparaForma de Cápsula
5. Defina oRaiopara0,5
6. Defina oAltura Médiapara1,5

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
7. Defina oTransformar > Traduçãopara0, 1,25, 0
8. Defina oTransformar > Graus de Rotaçãopara90, 0, 0

Vamos diferenciar esta cápsula do nosso player. Logo abaixo de onde definimos o raio. podemos criar um
novoMaterial Espacial. Clique nele para abrir as propriedades do material.

• Colocou oAlbedo > Corparavermelho

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
A seguir, podemos criar umForma de Colisãonó com as mesmas propriedades da malha.

1. Defina oFormaparaForma de Cápsula


2. Defina oRaiopara0,5
3. Defina oAlturapara1,5
4. Defina oTraduçãopara0, 1,25, 0
5. Defina oGraus de rotaçãopara90, 0, 0

Finalmente, vamos criar umCronômetronó que pode enviar um sinal a cada determinado período de
segundos. Isso será configurado no script.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Script do Inimigo
Agora, vamos criar o script inimigo. Selecione osInimigonó e crie um novo script chamado
Inimigo. Primeiro, queremos inserir nossas variáveis.

Primeiro, vamos criar o_prepararfunção que é chamada assim que o nó é inicializado. Aqui dentro,
vamos definir o tempo de espera do cronômetro e iniciá-lo.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Mas nada acontecerá agora porque o cronômetro não está conectado a nada. Então selecione o
nó e noNóguia, queremos conectar otempo esgotado()sinal para o script.

1. Clique duas vezes notempo esgotadosinal


2. CliqueConectar
3. Agora você verá que há uma nova função no script inimigo

Com a nova função, vamos verificar nossa distância até o jogador e danificá-lo. Nós criaremos o
levar_danofuncionar no player em breve.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
A seguir, vamos implementar a capacidade do inimigo de perseguir o jogador quando estiver além da distância
de ataque.

Vamos terminar o script inimigo com olevar_danoemorrerfunções. A função de receber dano


será chamada quando o inimigo for atacado pelo jogador.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Nosso inimigo agora está acabado. Temos todas as funções configuradas, então vamos agora para oJogador
script e crie as funções que serão chamadas por um inimigo atacante.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora podemos ir para oCena Principale arraste a cena inimiga para criar uma nova
instância. Aperte play e o inimigo deverá persegui-lo.

Animação de Espada
Agora é hora de implementar a capacidade de atacar os inimigos. Antes de entrarmos no script, vamos criar
uma animação para a espada do jogador. NoJogadorcena, clique com o botão direito em
oPorta-armase crie um novo nó filho do tipoLeitor de Animação. Renomeie-o para
Espada Animador.

Selecionar o nó deve alternar oAnimaçãopainel na parte inferior da tela. Aqui, queremos


clicar noAnimaçãobotão e crie uma nova animação chamadaataque.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Com o animador podemos escolher quais propriedades queremos animar. Selecione os Porta-armase
no inspetor selecione o ícone de chave ao lado deGraus de rotação. Crie essa nova faixa.

Por padrão o FPS da animação é bastante baixo, então selecione oTempomenu suspenso e mude para
FPS. Defina o FPS para30.

Agora podemos clicar com o botão direito na aderência e inserir uma nova chave. Selecionando a chave, podemos alterar
a rotação com oValorpropriedade.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Aqui está a animação de ataque que fiz.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Atacando o Inimigo
Agora que temos a animação do ataque, vamos prosseguir e começar a criar o script. NoJogadorscript,
vamos criar o_processofunção que é chamada a cada quadro.

Otry_attackA função verificará se podemos atacar e, em caso afirmativo, causar danos ao inimigo.

Primeiro, queremos ver se podemos atacar com base na taxa de ataque. Estamos obtendo o tempo atual
decorrido em milissegundos. É por isso que estamos multiplicando attackRate por 1000.

Depois queremos definir o horário do último ataque e reproduzir a animação.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Para realmente atacar o inimigo, precisamos verificar se o raycast está detectando um inimigo.

Agora podemos apertar play e testar. Tente atacar o inimigo e eventualmente ele deverá desaparecer,
mostrando que nosso sistema funciona.

Criando a IU
Agora que temos todos os sistemas instalados, a última coisa a fazer é implementar a interface do usuário. Isso
incluirá uma barra de saúde e um texto dourado. Então, para começar, vamos criar uma nova cena do tipo
interface de usuário(Nó de controle). Renomeie-o paraIUe salve a cena.

Quando criança, crie um novoTexturaProgressonó. Esta é uma textura que pode ser redimensionada como uma barra de
progresso.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
1. Renomeie o nó paraBarra de Saúde
2. HabilitarAlongamento de nove patches

3. Defina oSobeProgressotexturas paraUI_WhiteSquare.png


4. Defina oSobmatizar paracinza escuro
5. Defina oProgressomatizar paravermelho

6. Traga os pontos de ancoragem (4 pinos verdes) para o canto inferior esquerdo da tela
7. Arraste a barra de saúde para o canto inferior esquerdo e redimensione-a (arraste os círculos para redimensionar)

Para o nosso texto dourado, precisaremos de uma fonte, pois a fonte padrão não é tão versátil.

1. Clique com o botão direito no arquivo .ttf no sistema de arquivos e selecioneNovo recurso...
2. Pesquise e selecioneFonte Dinâmica
3. Isso criará um novo recurso de fonte dinâmica

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Clique duas vezes na fonte dinâmica e no inspetor...

1. Defina oTamanhopara30
2. Arraste o arquivo .ttf para oDados de fontepropriedade

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora podemos criar umRótulonó e renomeie-o paraTexto Dourado. Este nó exibirá texto na
tela.

1. Arraste-o para baixo acima da barra de saúde


2. Defina os pontos de ancoragem no canto inferior esquerdo da tela
3. Arraste o recurso de fonte dinâmica para oFonte personalizadapropriedade no rótulo

Agora que temos nossa UI, vamos para oJogadorcena e crie um nó filho
chamadoCamada de tela. Este é um nó que renderiza os filhos do nó de controle na tela. Então,
como filho da camada da tela, arraste oIUcena.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Se pressionarmos play, você verá que a UI está sendo renderizada na tela.

Script da IU

Nossa IU é exibida na tela, mas ela ainda não faz nada. NoIUcena, crie um novo script
anexado ao nó da UI chamadoIU. Podemos começar com as variáveis.

Então podemos criar oupdate_health_barfunção. Isto definirá o valor do progresso da


textura.

finalmente, oupdate_gold_textA função atualizará o texto do rótulo de texto dourado.

Agora que temos oIUscript criado, vamos para oJogadorscript e conecte essas funções.

Vamos criar uma variável para fazer referência ao nó da UI.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Então dentro do_prepararfunção (chamada quando o nó é inicializado), queremos inicializar a UI.

Dentro dodar_ourofunção, podemos atualizar o texto dourado.

Dentro dolevar_danofunção, podemos atualizar a barra de saúde.

E lá vamos nós. Você pode pressionar play agora e ver que a IU será atualizada quando sofrermos danos e
coletarmos moedas.

Conclusão
Parabéns por concluir o tutorial! Se você está acompanhando, agora você deve ter um RPG de
ação 3D jogável em seu editor Godot! Ao longo da Parte 1 e da Parte 2, aprendemos como
criar:

• Um controlador de jogador em terceira pessoa

• Inimigos que perseguem e atacam o jogador


• Combate de jogador

• Moedas colecionáveis

• Interface de usuário

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Com isso, você agora tem um projeto fantástico que pode compartilhar com seus amigos, adicionar ao seu
portfólio ou usar como base para seus próprios projetos. Como você pode imaginar, esses sistemas podem ser
expandidos de várias maneiras, como adicionar mais itens colecionáveis, adicionar inimigos diferentes e muito
mais. Nós encorajamos você a explorar do que Godot é capaz - mas por enquanto, esperamos que você goste
deste RPG de ação que você criou com suas próprias mãos!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Faça um Jogo de Estratégia em Godot - Parte 1

Introdução
Sejam baseados em turnos, em tempo real ou em gerenciamento de recursos, os jogos de estratégia
permanecem cimentados no mundo como um dos gêneros mais populares. É por isso que vários
desenvolvedores iniciantes e experientes sonham em criar seus próprios jogos de estratégia e construir uma
experiência de jogo equilibrada e desafiadora. Então, e se disséssemos que criar seu próprio jogo de
estratégia era completamente possível com Godot?

Se isso parece emocionante, então este é o tutorial para você! Através deste tutorial, mostraremos como criar um
jogo de construção de cidades baseado em recursos com facilidade - tudo dentro do mecanismo de jogo Godot. Você
aprenderá vários recursos comuns aos jogos de estratégia, como:

• Fazendo um sistema baseado em turnos

• Ter três edifícios diferentes que recursos de produtos


• Configurando um sistema de posicionamento baseado em grade

• Usando uma UI para mostrar recursos, turnos, etc.

Então, se você estiver pronto, aperte o cinto, ligue o computador e prepare-se para fazer um projeto de jogo de
estratégia com Godot.

Antes de começarmos, porém, é importante saber que este tutorial não irá abordar o básico do
Godot. Se você é novo no motor, recomendamos que leia nosso tutorial introdutório sobre o
assunto!

Já sabe tudo isso e quer começar a posicionar edifícios e fluxo de jogo baseado em turnos? Experimentar
Parte 2 em vez de!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Arquivos de projeto

Neste tutorial, usaremos alguns sprites dokenney.nl site (um site de ativos de jogos de domínio
aberto) e fontes deFontes do Google . É claro que você pode optar por usar seus próprios recursos,
mas projetaremos o jogo em torno deles:

Você pode baixar o código-fonte e os ativosaqui .

Configurando o Projeto
Crie um novo projeto Godot e para nossa primeira cena vamos escolherCena 2D(Nó Node2D).
Renomeie-o paraCena Principale salve a cena no sistema de arquivos.

Vamos também importar nossos ativos arrastando as duas pastas para o sistema de arquivos.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Algo que também queremos fazer é alterar a resolução da tela. Quando pressionamos play (você será
solicitado a escolher uma cena base - selecione MainScene), você verá que a tela é bem pequena.
Devido ao tamanho do nosso sprite e à quantidade de peças que teremos, vamos definir a resolução.

Abra oConfigurações do projetojanela (Projeto > Configurações do Projeto...) e desça até oExibir >
Janelaaba.

• Colocou oLargurapara1280
• Colocou oAlturapara720
• DesativarRedimensionável

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Criando as peças
Vamos começar criando a cena do ladrilho. Isso conterá o sprite, destaque, colisor, script, etc. Portanto,
crie uma nova cena com um nó raiz deÁrea2D. Um nó Area2D pode detectar colisões que são
necessárias para selecionar blocos posteriormente.

1. Renomeie o nó paraTelha
2. Salve a cena no sistema de arquivos

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Queremos então criar mais alguns nós como filhos do nó principal.

1. Arraste oChão.pngimagem para criar um novo nó Sprite (certifique-se de que esteja na posição de0, 0)

2. Arraste oTileHighlight.pngimagem para criar um novo nó Sprite


a. Renomeie-o paraDestaque
b. Colocou oEscalapara6,4, 6,4
c. Clique no olho para desativá-lo por padrão
3. Crie um novoSpritenó
a. Renomeie-o paraEdifícioIcon
4. Crie um novoColisãoForma2Dnó
a. Colocou oFormaparaForma Retângulo2D
b. Colocou oExtensõespara32, 32

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
De volta aoCena Principal, vamos arrastar a cena Tile para criar uma nova instância. Para facilitar o
posicionamento, ativeAjuste de grade.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Com o nó do bloco selecionado, pressioneCtrl+Dpara duplicá-lo. Preencha um20por9área com
azulejos. Será aqui que jogaremos o jogo e nos certificaremos de que tudo esteja contido na caixa azul
(a janela).

Você pode notar que a hierarquia da cena está bastante confusa. Temos mais de 100 nós, o que tornará mais
difícil encontrar outras coisas que não sejam peças. Para corrigir isso, podemos...

1. Crie umNónó (nó mais básico que usaremos como contêiner)


2. Renomeie paraAzulejos
3. Arraste todos os nós do bloco como filho
4. Com isso, podemos retrair os filhos para ocultá-los na hierarquia da cena

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Ainda não criamos o script para o bloco, mas o próximo passo é a UI.

Criando a IU
Nossa UI será uma barra na parte inferior da tela exibindo nossos recursos, turnos e
botões. Crie uma nova cena com um nó raiz do tipo User Interface (Ao controlenó).

1. Renomeie o nó paraIU
2. Salve a cena no sistema de arquivos
3. Defina oRet > Posiçãopara0, 576
4. Defina oRet > Tamanhopara1280, 144

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Como filho do nó da UI, crie umColorRectnó. Este é um nó de controle que renderiza uma determinada cor.

1. Defina oCorparacinza escuro


2. Defina oTamanhopara1280, 144

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Antes de continuarmos, vamos configurar as fontes. NoFontepasta, temos dois arquivos .ttf. Para cada arquivo de fonte...

1. Clique com o botão direito no arquivo .ttf e selecioneNovo recurso...


2. Crie um novoFonte Dinâmicarecurso

Para cada recurso de fonte dinâmica...

1. Clique duas vezes noFonte Dinâmicarecurso


2. Defina oTamanhopara...
a. Normal =30
b. Negrito =35
3. Arraste o respectivo arquivo .ttf para oDados de fontepropriedade

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
A seguir, crie umBotãonó e renomeie-o comoBotão EndTurn.

1. Defina oTextoparaTurno final


2. Defina oPosiçãopara1046, 34
3. Defina oTamanhopara200, 75
4. Arraste o recurso de fonte dinâmica em negrito para oFontes personalizadas > Fontepropriedade

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Crie um novoRótulonó e renomeie-o paraTurnText.

1. Defina oTextopara um espaço reservado deTurno 257


2. Defina oPosiçãopara878, 56
3. Defina oTamanhopara143, 36
4. Arraste a fonte dinâmica regular para oFontes personalizadas > Fontepropriedade

A seguir, criaremos os três botões de construção. Vamos armazená-los dentro de um nó que pode
redimensionar automaticamente seus filhos. Crie um novoHBoxContainernó e renomeie-o para
Botões de construção.

1. Defina oAlinhamentoparaCentro
2. Defina oPosiçãopara34, 34
3. Defina oTamanhopara236, 75

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Como filho doBotões de construçãonó, crie trêsBotãonós. Você verá que eles são redimensionados
automaticamente para se ajustarem aos limites do nó BuildingButtons.

• Meu botão
• Botão Estufa
• Botão SolarPanel

Para cada botão, defina seuÍconetextura para sua respectiva textura noSpritespasta.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Crie um novoRótulonó e renomeie-o paraHeaderFoodMetal.

1. Defina oTextoparaComida: Metal:


2. Defina oAlinharparaCerto
3. Defina oPosiçãopara368, 32
4. Defina oTamanhopara115, 75
5. Defina oFonte personalizada > Fontepropriedade para a fonte dinâmica regular

Duplique o nó e renomeie-o paraComidaMetalText.

1. Mova-o para a direita como na imagem abaixo


2. Defina oTextopara um espaço reservado de25 (+80) 25 (+80)
3. Defina oAlinharparaEsquerda
4. Defina oCores personalizadas > Cor da fonteparaamarelo alaranjado

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Selecione os dois rótulos e duplique-os. Renomeie-os respectivamente para:

• CabeçalhoOyxgenEnergia
• Texto de OxigênioEnergia

Mova-os para a direita. Altere o texto do rótulo do cabeçalho para 'Oxigênio: Energia:'.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Aqui vamos nós. Nossa UI agora está completa, então vamos voltar aoCena Principale arraste noIU
cena.

Agora, se apertarmos play, você verá basicamente como será o jogo final – só que sem a
funcionalidade.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Script de bloco

Para começar a criar scripts, criaremos oTelharoteiro. Isso conterá dados e funções relativos a cada bloco.
NoTelhacena, selecione o nó Tile e crie um novo script anexado a ele chamadoTelha. Começaremos com
nossas variáveis.

A seguir, vamos criar o_prepararfunção - é chamada quando o nó é inicializado. Aqui, vamos adicionar
o bloco ao grupo "Tiles". Um grupo em Godot pode nos permitir acessar e modificar facilmente um
grupo de nós.

Otoggle_highlightA função ativará ou desativará o destaque visual, alternando também se um edifício


pode ou não ser colocado.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Oplace_buildingA função é chamada quando colocamos uma construção no bloco.

Em seguida, precisamos conectar um sinal ao script. Oevento_de_entradaO sinal é emitido quando uma
entrada é detectada no colisor, como um clique do mouse. Então com oTelhanó selecionado, vá para oNó
painel e clique duas vezes no sinal. Em seguida, conecte-o ao script.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Isto criará o_on_Tile_input_eventfunção no script. Precisamos de algumas outras coisas implementadas
primeiro, então vamos apenas adicionarpassarpara a função, o que significa que está vazia.

Script do mapa

OMapascript fará referência a todos os nossos blocos e terá a capacidade de destacar os disponíveis, obter um
bloco em uma determinada posição, etc.Cena Principal, selecione o nó Tiles e anexe um novo script chamadoMapa.
Podemos começar com nossas variáveis.

Oget_tile_at_positionA função retornará o bloco que está na posição especificada.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Odesativar_tile_highlightsA função percorre todos os blocos e desativa seu destaque visual.

Odestaque_disponível_tilesA função destacará todas as peças nas quais um edifício pode ser colocado. Estas
são as peças ao redor de todos os edifícios. Primeiro, vamos percorrer todos os blocos que possuem uma
construção.

Dentro do loop for, primeiro obteremos o bloco norte, sul, leste e oeste em relação ao
atual.

Depois disso, vamos verificar cada uma das peças. Se não forem nulos, habilite o destaque.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Não terminamos com oMapascript ainda, mas precisamos trabalhar em algumas outras coisas primeiro.

Script de construção de dados

OConstruindo Dadosscript não é um script anexado a um nó. Esta será uma classe global que pode
ser acessada em qualquer lugar do projeto. NoRoteiroguia, váArquivo > Novo Script... e crie um novo
script chamadoConstruindo Dados.

Então precisamos ir para oConfigurações do projeto(Projeto > Configurações do Projeto...) e clique noCarregamento
automáticoaba.

1. Selecione o botão de arquivo e encontre o script BuildingData.gd


2. Clique noAdicionarbotão

Isso criará um novo singleton para oConstruindo Dadosroteiro.

De volta aoConstruindo Dadosscript, vamos começar criando uma nova classe chamadaPrédio. Este
será um objeto para armazenar os dados de cada edifício.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Estamos usando números inteiros para o tipo de construção e recursos. Esses números inteiros referem-se a uma coisa específica.

Tipos de construção

• Base = 0
• Meu = 1
• Estufa = 2
• Painel Solar = 3

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Recursos

• Nenhum = 0

• Comida = 1
• Metal = 2
• Oxigênio = 3
• Energia = 4

Fora da classe Building, podemos criar 4 variáveis para cada um dos nossos 4 edifícios (Base,
Mina, Estufa, Painel Solar).

Usaremos essas variáveis para saber o que cada edifício produz, leva, a textura e outros
valores.

Continua na Parte 2
Embora certamente haja mais elementos a serem adicionados, já percorremos uma longa jornada até agora! Como
base do nosso jogo, já configuramos um sistema de peças baseado em grade que nos permitirá colocar edifícios
mais tarde e destacar peças onde os edifícios aplicáveis podem ser jogados. Além disso, também configuramos os
próprios edifícios que fornecerão a funcionalidade crucial de gerenciamento de recursos para o nosso jogo (junto
com uma interface de usuário que o acompanha).

Embora este seja um ótimo começo na construção de um jogo de estratégia com Godot, ainda temos um pouco mais pela
frente! Em Parte 2 , vamos finalizar nosso mapa, criar a capacidade de posicionar os edifícios, criar o fluxo de jogo baseado
em turnos e muito mais para conectar todos os nossos recursos para funcionar como um projeto de jogo coerente! Vejo
você então!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Faça um Jogo de Estratégia em Godot - Parte 2

Introdução

Bem-vindo de volta à Parte 2 da criação de um jogo de estratégia no motor de jogo Godot!

EmParte 1 , começamos mostrando como construir seu primeiro jogo de estratégia em Godot configurando peças,
edifícios e a interface básica que podem ser destacados, que fornecerão aos jogadores informações cruciais sobre o
gerenciamento de recursos. Resumindo, temos uma ótima base para trabalhar para podermos finalizar nosso
projeto e adicioná-lo ao nosso portfólio!

Claro, sendo esta a Parte 2, ainda há mais coisas a fazer. Precisamos finalizar nosso sistema de mapas, configurar
nossa IU corretamente, ter a capacidade de posicionar edifícios e até mesmo implementar o fluxo geral de jogo
baseado em turnos. Então, se você estiver preparado, vamos terminar este jogo de gerenciamento de recursos e
nos tornarmos desenvolvedores mestres do Godot!

Arquivos de projeto

Neste tutorial, usaremos alguns sprites dokenney.nl site (um site de ativos de jogos de domínio
aberto) e fontes deFontes do Google . É claro que você pode optar por usar seus próprios recursos,
mas projetaremos o jogo em torno deles:

Você pode baixar o código-fonte e os ativosaqui .

Finalizando o Script do Mapa


Para começar, vamos voltar ao nossoMaparoteiro. Oplace_buildingA função é chamada quando
queremos colocar um edifício em um bloco.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
finalmente, o_preparara função é chamada quando o nó é inicializado. Aqui, queremos obter todas as
peças do grupo "Tiles" e configurar a construção base inicial.

De volta aoCena Principal, vamos selecionar o bloco central e ativarIniciar bloco.

Agora, se pressionarmos play, você verá que a peça central tem uma construção base.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Script do GameManager

OGerenciador de jogosscript é o que vai gerenciar nossos recursos e estados. Vou aoCena
Principale selecione oCena Principalnó. Crie um novo script anexado a ele chamadoGerenciador
de jogos. Podemos começar com nossas variáveis.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Oon_select_buildingA função é chamada quando pressionamos um dos três botões da UI do
edifício. Isso será conectado mais tarde, quando criarmos oIUroteiro.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Oadd_to_resource_per_turnfunção adiciona o dadoquantiapara o dadorecursopor turno.

Oplace_buildingA função será chamada quando colocarmos um bloco na grade.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Finalmente, temos oturno finalfunção que é chamada quando pressionamos o botão final.

Ok, então temos nossa classe GameManager totalmente configurada, mas não há uma maneira real de
ela funcionar. Para conectar tudo, precisamos criar umIUroteiro.

Script de IU

NoIUcena, selecione o nó da UI e crie um novo script chamadoIU. Vamos começar com nossas
variáveis.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Primeiro, temos ono_fim_turnofunção. Isso é chamado quando um turno termina, então vamos
redefinir a IU.

O nós temos oupdate_resource_textfunção que atualiza os dois rótulos de recursos para mostrar
os valores atuais dos recursos do jogador.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Agora precisamos conectar os botões. NoIUcena, faça o seguinte para EndTurnButton,
MineButton, GreenhouseButton e SolarPanelButton...

1. Selecione o nó do botão
2. Clique duas vezes nopressionadosinal (chamado quando pressionamos o botão)
3. Conecte isso ao script da UI

Então, de volta ao nosso script, teremos 4 novas funções. Vamos começar com os três botões de construção.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Depois temos a função do botão de giro final.

Conectando tudo junto


Agora que temos nosso script de UI, vamos voltar aoTelharoteiro e preencha
o_on_Tile_input_eventfunção.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
A seguir, vamos pular para oGerenciador de jogosscript e crie o_prepararfunção. Aqui, vamos
inicializar a UI.

No final deturno finalfunção, vamos também atualizar a UI.

Finalmente, na parte inferior doplace_buildingfunção, podemos atualizar a IU do texto do recurso.

Agora podemos apertar play e testar o jogo!

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados
Conclusão
Parabéns por concluir o tutorial!

Você acabou de criar um jogo de estratégia 2D baseado em turnos em Godot. Ao longo desta jornada, cobrimos uma ampla
variedade de tópicos, desde a configuração de objetos que dão e recebem recursos até a criação de um mapa baseado em
blocos que fornece pistas visuais sobre onde os edifícios podem ser colocados. Além disso, com a introdução da mecânica de
jogo baseada em turnos, também abordamos um componente-chave para muitos outros tipos de jogos de estratégia!

A partir daqui, você pode expandir o que aprendeu para adicionar mais sistemas, trabalhar nos
existentes que mencionamos aqui ou até mesmo iniciar um novo projeto de jogo de estratégia com
Godot. De qualquer forma, muito obrigado por acompanhar o tutorial e desejamos-lhe boa sorte com
seus futuros jogos Godot.

Este livro é oferecido a você por Zenva - Inscreva-se em nossoMinicurso de desenvolvimento de jogos Godot dominar o
desenvolvimento de jogos 2D e 3D com o mecanismo de jogo Godot gratuito e de código aberto
© Zenva Pty Ltd 2020. Todos os direitos reservados

Você também pode gostar