Projeto de Treinamento em Godot - Pong (Parte 1) Criando e personalizando uma cena de jogo

Saúdo-vos, Khabrovites! Como prometido no final do último artigo , voltei meus olhos para o mecanismo de jogo. É verdade que gostei mais de Godot.



Porque O tópico para um artigo separado é reflexão, mas não sei pensar há muito tempo e, principalmente, pensar.


Apesar de Pong estar na lista de projetos de treinamento de motores propostos, decidi começar com ele. Em primeiro lugar - este é o jogo mais simples que me ocorreu. Em segundo lugar, o Pong proposto nos materiais de treinamento é altamente modernizado. Quero torná-lo o mais próximo possível do original.


Para a estranheza do aprendizado, decidi criá-lo usando as ferramentas de programação visual incorporadas, o que estou fazendo pela primeira vez.


Atenção! Sob o corte de um monte de screenshots.

Como o código-fonte deste projeto não pertence a ninguém, eu o publiquei no GitHub .
E para todos que desejam ler minha experiência bem-vinda sob o gato.


Comecei com a criação do projeto, o benefício aqui é que esse processo não difere fundamentalmente de outras linguagens de programação ou mecanismos de jogos:


  • Você pode escolher uma pasta onde todos os dados do projeto serão armazenados

tela


segunda tela


  • Esta pasta deve estar vazia no momento da criação do projeto.

tela


segunda tela


  • Se esta pasta não estiver vazia, você pode criar uma nova pasta

tela


segunda tela


O único elemento não padrão é a capacidade de selecionar uma biblioteca de gráficos ao criar um projeto. No entanto, de acordo com a janela de criação do projeto, essa configuração pode ser alterada posteriormente, mas pode ser necessário reconfigurar as cenas.


tela


Você pode ler mais sobre a diferença entre as versões 2 e 3 na documentação do mecanismo , e listas de dispositivos que suportam versões diferentes da biblioteca podem ser encontradas na Wikipedia .


Pessoas com dificuldade em inglês

Eu recomendaria lidar com essas dificuldades o mais rápido possível, mas por enquanto a interface do mecanismo pode ser traduzida para curva Idioma russo, mas não farei isso.


De acordo com a totalidade dos artigos acima, se eu quiser jogar meu uma obra-prima no meu RaspberryPI 3, preciso usar o OpenGL ES 2.0. Então eu fiz. Especialmente porque não pretendo usar nenhum dos recursos da terceira versão da biblioteca.


A janela do mecanismo é aberta por padrão no modo 3D. À esquerda e à direita da janela principal estão os campos para janelas auxiliares. A parte principal da janela exibe: cena 2D, cena 3D, editor de script ou armazenamento de ativos. Dependendo do modo selecionado.


tela


Na interface, por padrão, no canto superior esquerdo está a guia "Scene" no Unity, sua contraparte é chamada "Hierarchy".
Essa guia exibe todos os objetos da cena organizados em uma estrutura em árvore . Ao criar um projeto, não há nós e há uma dica para criar um nó raiz.


tela


Pong - o jogo é bidimensional e, portanto, o nó raiz será "Cena 2D", transferindo automaticamente a parte principal da janela para o modo 2D. Um clique duplo com uma pausa ou a opção de renomear no menu de contexto permite alterar o nome do nó (a nota f2 executa outra ação aqui). Vou nomear meu "World2D".


Então é hora de economizar.


tela


Criei uma pasta separada para cenas na pasta do projeto, porque pretendo criar pelo menos mais uma cena para o menu Iniciar. E agora, a pasta do projeto contém arquivos padrão e não quero confundir os recursos que criei com eles.


tela


O nome para a única cena do jogo que eu costumo usar é "Principal". O mecanismo oferece três formatos para salvar a cena, mas apenas o TSCN é descrito na documentação .
Eu sou como um homem na posição vertical o inquisitivo salvou a cena nos três formatos e certificou-se de que os outros dois arquivos fossem binários. Isso me convenceu da conveniência de armazenar as cenas no formato TSCN.


tela


O próximo passo é ajustar a aparência da cena.


Aqui você pode alterar todas as configurações necessárias.


tela


Essa configuração permite alterar a cor de fundo da cena. (Pong tem fundo preto)


tela


E nesta guia, aconselho você a experimentar todas as configurações e descobrir o que elas fazem. Preste atenção especial ao comportamento do bloco Stretch ao alterar a janela do jogo no depurador. Para ver as alterações, você pode primeiro adicionar qualquer imagem à cena, por exemplo, o ícone Godot.


tela


Eu já sei como deve ser a cena da minha versão do Pong e as configurações devem ser na próxima tela.


tela


E é claro que não tirei essas configurações do teto. E ele olhou para a tela do jogo original e viu que o menor valor havia na largura da grade. A altura da linha que simbolizava a grade era cerca de três vezes a sua largura. E havia 30 dessas linhas, separadas por intervalos do mesmo comprimento que a linha. Em que as lacunas também foram 30 peças.


prova

Se usarmos a largura da grade para um pixel, obtemos a altura da tela 3 * 2 * 30 = 180.
Como ainda quero fazer um jogo para monitores modernos, e a maioria dos monitores modernos tem uma proporção de 16: 9, a largura deve ser 180/9 * 16 = 320.


Acho que vale a pena concluir esta parte. No próximo, aprenderei como criar uma bola e descrever seu comportamento. Obrigado pelo seu tempo, aguardando suas críticas nos comentários.

Source: https://habr.com/ru/post/pt464847/


All Articles