Bom dia, iniciante igrodely!
Um desenvolvedor de jogos independente, este é um soldado universal que precisa fazer tudo: escrever código, desenhar imagens, esculpir modelos 3D e criar texturas para eles e muito mais. Para cada tarefa, você precisa de uma certa ferramenta, e mesmo gratuita, se possível, pois um igrodel iniciante tem um orçamento modesto. Sobre quais programas me ajudaram a acelerar o fluxo de trabalho, vou contar sob o corte.
Atenção: este post não é publicidade, é apenas uma lista de programas que me ajudam nos meus projetos.
Quando pensei em desenvolver o jogo, várias perguntas surgiram diante de mim, a saber:
- qual mecanismo usar;
- em qual programa escrever o código;
- em qual programa simular;
- em qual programa desenhar;
- em qual programa escrever música;
- custo dos produtos;
- etc.
Neste artigo, não quero criar um holivar sobre qual produto é melhor e qual é pior, todos decidem por si mesmos o que usar. Vamos lá!
Mecanismo de jogo

Para qualquer jogo, você precisa de um mecanismo de jogo. O motor do jogo é o coração do nosso jogo, nele concentramos todas as nossas idéias, elaboramos a lógica do jogo e a interação dos objetos do jogo; portanto, a velocidade de desenvolvimento depende da conveniência do mecanismo do jogo.
O mercado de motores de jogos está cheio de muitas opções. Existem mecanismos projetados apenas para jogos 2D e existem apenas para 3D, mas na minha opinião o Unity e o Unreal Engine são considerados opções mais universais. Eles têm todas as ferramentas para executar o fluxo de trabalho e também têm suas próprias vantagens e desvantagens. Tentei os dois produtos, mas escolhi o Unity para o projeto atual. Talvez no futuro tentarei fazer algo no Unreal Engine. De qual mecanismo você precisa, a escolha é sua.
Scripts

Para cada jogo, é necessário escrever a lógica da interação entre objetos, como controlar o personagem do jogador, conversar com um NPC, atirar com uma arma, abrir um baú, etc. Cada mecanismo de jogo possui ferramentas internas para descrever a lógica dos objetos (escrever scripts).
No Unreal Engine, você pode usar duas ferramentas para descrever a lógica, como blueprint e C ++. O editor de blueprint é incorporado ao Unreal Engine, basta abri-lo e começar a organizar e conectar os nós. Não conheço o editor embutido para C ++, não parecia, escrevi nos comentários como estão as coisas com o editor embutido em C ++ no Unreal Engine.
No Unity, toda a lógica é descrita por um script C # (antes da versão 2017.2.x era possível usar JavaScript, mas agora era cortado e restava apenas C #), o editor MonoDevelop interno é usado para esses fins, mas mesmo nas versões mais recentes do Unity, esse editor apresenta diversos inconvenientes e falhas. mas é adequado para escrever pequenos scripts.
Você também pode usar um editor externo, como o Visual Studio, para gravar scripts. A Comunidade VS é gratuita, possui o IntelliSense poderoso e, com o Unreal Engine e o Unity, é muito bem compatível. A Microsoft lançou recentemente uma versão leve do Visual Studio chamada Visual Studio Code. O VSCode também se integra bem ao Unity, mas quando tentei escrever código nele, tive que personalizá-lo constantemente para mim mesmo, isso é um mais e um menos, portanto, desde que eu uso a versão mais antiga do VS há cerca de 10 anos, estou mais familiarizado com ele. A escolha é sua.
Além disso, deixe-me voltar ao tópico e falar um pouco sobre a comparação do Unity e do Unreal Engine. Quando leio postagens e assisto a vídeos comparando o Unity e o UE, muitas pessoas colocam negrito mais UE pela capacidade de escrever código visual usando o Blueprint sem conhecer uma linguagem de programação. Penso sobre esse assunto: sim, é conveniente escrever o código organizando os retângulos e conectando-os, MAS aprender uma linguagem de programação como C ++ e C # não é difícil e geralmente se resume apenas ao estudo de palavras-chave, sintaxe e do conceito de OOP.
Quando você começa a escrever um programa ou jogo, precisa estudar a
API de um produto, por exemplo, quando escrevemos um programa para Windows, precisamos de funções para carregar e salvar um arquivo em disco, a API para trabalhar com rede e muito mais, com os mecanismos de jogo tudo é igual , você precisa aprender a API. Portanto, com o blueprint, você também não pode deixar de aprender a API do Unreal Engine. Antes de iniciar o desenvolvimento de jogos, escrevi programas em C / C ++ e C #, para facilitar a união para mim, mas quando decidi experimentar o blueprint para mim, era uma verdadeira busca com a documentação dos nós necessários. Sim, e os nomes das palavras-chave diferem da linguagem de programação padrão, por exemplo: em C / C ++ / C #, a ramificação é executada usando "if () else" e no blueprint o nó é chamado "Branch", que é lógico, mas não familiar. Tendo percebido que levaria algum tempo para aprender a API da UE, adiei esse empreendimento e retornei à Unity. Talvez para iniciantes, provavelmente seja mais fácil aprender UE.
Imagens de bitmap

Bem, é hora de projetar a interface do usuário, expandir os botões e os campos de entrada, você também precisa de uma boa imagem no plano de fundo da tela de inicialização e, se for um jogo em 2D, também precisará de um conjunto de sprites para personagens e níveis. Obviamente, para prototipar a interface do usuário, o conjunto padrão de controles integrados ao mecanismo é adequado, e o paint.net também é adequado para desenhar sprites simples, mas se queremos personalizar controles ou desenhar sprites originais, precisamos de um editor gráfico poderoso.
Acho que todos concordam comigo que o Photoshop é o líder de mercado em software raster e até recentemente não havia alternativas a ele. Revirando a Internet, me deparei com o Affinity Photo e o Affinity Designer. O Affinity Photo é um análogo do Photoshop, mas com uma interface bem desenvolvida, ainda não descobri, então não posso falar sobre seus pontos fortes, mas o Affinity Designer é um editor de vetores bastante poderoso e intuitivo. Depois de assistir a alguns vídeos oficiais, pude desenhar um logotipo para o meu programa, botões e sprites para o jogo.
Outra vantagem importante dos programas Affinity sobre a Adobe é o baixo preço e um pagamento único sem assinatura mensal, que eu comprei e usei.
Também existe um análogo gratuito do Photoshop, GIMP, mas não funcionou para mim, realmente prejudicou sua interface, mas para alguns é a melhor opção. A escolha é sua.
A propósito! Todas as fotos deste post foram feitas por mim no Affinity Designer.
Modelagem 3D

Nem um único jogo 3D está completo sem os modelos 3D. Precisamos de: personagens, NPCs, armas para eles, casas, corredores fechados, árvores, objetos do ambiente e qualquer lixo. Mas como fazer tudo isso? Talvez muitos pensem imediatamente, baixem o 3DS Max e quanto caberá, e talvez eles estejam certos. O 3DS Max e o Maya são poderosas ferramentas de modelagem 3D. Com a ajuda deles, muitos jogos e filmes lindos foram feitos. MAS nós somos desenvolvedores independentes e não temos muito dinheiro. Se você olhar a página de inscrição, quando vir o preço, procurará imediatamente alternativas para eles. Claro, se você é um estudante, então você tem uma licença gratuita, mas e se você é uma pessoa comum que trabalha para um "tio" e decidiu tentar desenvolver jogos com o objetivo de receber reembolso por isso no futuro? Existem opções mais baratas aqui: MODO e Cinema4D, elas também têm tudo para o fluxo de trabalho, mas também custam o preço, mas são mais caras que a Autodesk.
Na minha opinião, a melhor escolha para um desenvolvedor independente é o Blender! Eu uso o Blender continuamente e ele tem tudo para criar modelos de jogos: modelagem de polígonos, modelagem de modelos de alto poli ala zBrush, retopologia, digitalização UV, desenho por modelo, rigging, animação, texturas de cozimento por modelo e muitas guloseimas úteis. No entanto, quando abri o Blender pela primeira vez, não sabia como usá-lo, tive que assistir a vídeos instrutivos e ler livros, pois ele tem uma comunidade enorme e um tutorial pode ser encontrado em tudo, depois que os dedos pressionam os botões ao modelar outra pedra ou vaso sanitário para o seu projeto. A escolha é sua.
Texturas

Então! Você cegou modelos legais, fez uma varredura UV, animada, mas o modelo ficou cinza, mas quero que o personagem tenha olhos, boca e botões na camisa. Obviamente, no Blender, existe um editor interno para desenho por modelo, mas é adequado apenas para modelos simples que não exigem bons detalhes. Geralmente eles fazem no estilo LowPoly, preenchem as bordas com a cor certa e pronto, o modelo está pronto.
Mas e se você precisar criar uma textura de alta qualidade, e mesmo com um mapa normal, um mapa de sombreamento, um mapa de reflexão etc. Novamente, no liquidificador, tudo isso pode ser feito, mas não é muito conveniente. Eu tive que pesquisar no google os programas necessários por um longo tempo e encontrei duas opções, a saber: Quixel e Substance Painter. O Quixel é uma ferramenta poderosa para criar texturas, mas funciona como um plug-in para o Photoshop e, se você, na seção Raster deste artigo, escolheu o Photoshop como a principal ferramenta para criar sprites para o seu jogo, essa opção é para você, mas eu pessoalmente escolhi um pacote da Substance.
O Substance Painter é um programa separado, no qual você pode criar mapas de textura de alta qualidade para o seu personagem, desenhando materiais diretamente no modelo. O pacote com o programa vem com uma enorme quantidade de materiais preparados, como pedra, madeira, metal, couro, plástico. Qualquer material pode ser alterado e personalizado conforme desejado, além de fazer uma combinação de materiais, por exemplo: pinte o barril com tinta, faça arranhões e bordas de ferrugem. Porém, se não houver materiais suficientes ou você precisar criar seu próprio material original, o segundo programa do Substance Designer será resgatado, no qual você poderá criar uma obra-prima usando o sistema de nós. Uma coisa muito boa sobre esses programas é que esses programas se integram perfeitamente ao Unity e ao Unreal Engine. Depois de criar o material de algum “concreto dourado”, basta transferi-lo para a Unity e pendurá-lo no objeto. Há também um plug-in para o Unity, com o qual você pode ver todas as alterações no modelo no mecanismo de jogo com iluminação personalizada ao desenhar modelos no Substance Painter.
E, no entanto, o bolo de substâncias mais importante, esta é a oportunidade no Steam de comprar um pacote independente a um preço baixo, que inclui três programas com suporte anual de uma só vez: BitmapToMaterial, Pintor de Substâncias, Designer de Substâncias. BitmapToMaterial permite criar vários mapas de textura de uma vez a partir de uma textura raster comum.
No entanto, a escolha é sua!
Música e sons

Bem, você fez tudo, desenhou sprites, criou modelos 3D, os decorou, escreveu a lógica do jogo, clicou para jogar e ... silêncio! Tudo funciona, mas nem um único som, disparado de uma metralhadora como no vácuo, nada é ouvido. É hora de criar sons e escrever uma faixa legal para a qual eles comprarão seu jogo, fechando os olhos para a jogabilidade maçante :)
Agora, se tudo é ainda menos simples com sons, basta clicar de forma criativa no microfone, no Audacity gratuito você pode corrigir o som da gravação de um mega blaster alienígena, e com a música é um pouco mais complicado. Se você tem um boato e deseja escrever sua própria faixa, o FL Studio é uma boa escolha. O preço do FL Studio certamente não é pequeno, mas real. Obviamente, você pode usar música gratuita que está cheia na rede. E como sempre, a escolha é sua!
Uma pequena lista de programas usados neste artigo
- Mecanismo de jogo: Unity, Unreal Engine;
- Scripts: Visual Studio, Código do Visual Studio, Ferramentas internas;
- Imagens rasterizadas: Photoshop, Affinity Designer, Affinity Photo, GIMP;
- Modelagem 3D: Blender, 3DS Max, MODO, Cinema4D;
- Texturas: Quixel, Pintor de Substâncias, Designer de Substâncias, Substância B2M;
- Música e sons: Audacity, FL Studio;
Obrigado a todos que dominaram a leitura!