Artigo original: From Zero to Game Designer: how to start building video games even if you don’t have any experience

Escrito por: Angela He

Há dois anos, eu era uma estudante do ensino médio de apenas 17 anos que não sabia nada sobre programação. De qualquer forma, eu segui em frente e, alguns meses depois, publiquei meu primeiro jogo na Steam.

Neste momento, já tenho criados mais de 10 jogos para desktop, web e dispositivos móveis, que já foram jogados, combinados, mais de 1,9 milhão de vezes.

Não importa seu nível de habilidade, você também pode fazer um jogo. Há dois anos, pensei ser impossível, mas tentei mesmo assim. Foi a coisa mais difícil que eu já tinha feito. Mas deu certo. Agora, percebo que o desenvolvimento de jogos é como qualquer outra habilidade - somente se progride fazendo, errando e melhorando.

Ensinei a mim mesma tudo o que sei. Agora, é o momento em que eu vou ensinar você.

Para fazer um jogo, você deve passar pelo os seis estágios do desenvolvimento de jogos: Design. Arte. Programação. Áudio. Polimento. Marketing.

O resto da minha publicação será estruturado de acordo com os tópicos abaixo:

  • Conselhos que juntei aqui sobre minha experiência e a de outros desenvolvedores.
  • Recursos que descobri que podem ser bastante úteis.
1_VZbUqT8oEH34kK0XXBcwzg

1. Design

Conselho

Você teve uma grande ideia.

Agora, como pode registrá-la por escrito?

Todos terão sua própria maneira de fazer isso da melhor maneira possível. Alguns redigem documentos de design de 60 páginas. Outros, como eu, escrevem uma página de notas de mal escritas, que outras pessoas terão dificuldade de entender. Não sei qual a melhor maneira para você, mas posso dar algumas sugestões sobre o que escrever a respeito:

  • Gancho. O que faz com que a ideia para um jogo seja ótima? Para mim, essa é a coisa mais importante de se escrever. Uma vez captada, os próximos três pontos podem ser escritos facilmente. O seu jogo é estimulante? Escandaloso? É uma reviravolta para um clássico antigo? Ou é algo que nunca foi feito antes?
  • Mecânica. O que o jogador faz? E qual o propósito do que ele faz? Esse é o seu jogo. Pode ser simples como apertar Q-W-O-P para se mover pelo jogo chamado QWOP ou tocar em botões para conversar em Mystic Messenger, ou podem ser combos de teclas em Dwarf Fortress.
  • Estória. Que estória deveria fazer com que os jogadores lembrassem do seu jogo? Que emoções eles deveriam sentir ao sair do jogo? Todo jogo tem uma estória. Se ela não for uma estória óbvia, é criada pelo jogador. Uma estória pode ser criada a partir de números crescentes em 2048, o nascimento de um império em Civilization ou interações silenciosas em Monument Valley. Pense a estória que será encontrada em seu jogo.
  • Clima. Que impressão o seu jogo deixa no jogador? Como é o visual? Sons? A primeira impressão é importante. A primeira impressão capta — e depois mantém — o jogador no jogo.  Talvez, você dê ao seu jogo uma vibe retrô, com gráficos pixelados e músicas de chiptune ou um visual moderno e limpo, com geometria planas e música instrumental.
0_Zm7Qnuq-zJcdKP6d

* Está com problemas de chegar em uma boa ideia? O bloqueio criativo é algo que atinge a todos.

  • Participe de um hackathon/jam de jogos. Você e outros participantes serão testados a fazer um jogo em um curto espaço de tempo. Durante, e depois, você terá o suporte de outros jammers. E a empolgação e a criatividade que se vê durante a jam são contagiantes. Não sabe por onde começar? Experimente o Ludum Dare, um dos maiores jams de jogos.
  • Mantenha uma lista de ideias. Eu e outros desenvolvedores que eu conheço anotamos ideias. Dessa maneira, podemos voltar às nossas ideias antigas quando ficamos sem ideias novas.

Quando a inspiração vier, pare tudo o que está fazendo. Anote a ideia. A próxima vez em que a criatividade desaparecer, você não estará perdido.

Recursos

Todos os recursos abaixo foram provados e comprovados. (*) representa um recurso que eu uso atualmente.

Para anotações:

  • Notes para o Mac (*)
  • Google Docs (*)
  • Trello

Para colaboração (em equipes):

  • Google Drive
  • GitHub (*). Requer o git e o .gitignore do Unity.
  • Unity Collab. O mais fácil entre os três. A versão gratuita, porém, possui limitações.

Atenção - o Unity é o mecanismo de jogos que eu uso para fazer jogos, por isso vou mencioná-lo em todo o processo. Fique à vontade para experimentar um mecanismo diferente.

Para design de jogos:

1_gThJElasWJawt867DTcr2w

2. Arte

Conselho

Você planejou sua ideia. Parabéns, isso é incrível. Agora você pode trabalhar no jogo de fato.

(Se você não sabe como programar, sugiro que faça a fase 3, Programação, antes da Arte. Você não quer criar um jogo que será descartado porque não consegue programar.)

Não sabe como desenhar? o se preocupe. Qualquer um pode fazer algo bonito com os 3 princípios visuais básicos: cor, forma, espaço (texto em inglês).
0_E0eirD4x5D_CejDi_
Thomas Was Alone — um jogo simples e lindo

UI

Pense em como você pode tornar a UI única — ter uma color distinta, fonte(s), forma(s) e ícone(s) — desde que seja funcional. As informações importantes são legíveis e óbvias? As cores/fontes/ícones distraem da ideia principal?

1_7oMigOwvb5hZw8oNYc4yEA
Quem, para você, é mais legível?

Animações 2D

Voce têm duas opções:

  • Frame a frame. Desenhe os frames da animação. Para isso, você deve usar sprite sheets com TexturePacker (ou, se estiver usando Unity, o Sprite Packer)
  • Baseada em esqueletos. Desenhe cada membro animado, depois anime a posição do membro, a rotação e tudo mais que estiver dentro do jogo. Pode ser mais rápido, mais fácil e economizar memória. Se estiver sendo feito em 2D e usando o Unity, tente editar os pivôs dos sprites ou usar o Anima2D.
0_hIZxk2xfmyTYCL38_

Dicas gerais

Aqui estão algumas dicas gerais sobre arte diversa que se aplicam não apenas à arte em jogos, mas também a outros softwares.

  • Imagens com padrões em bloco (em inglês, tiles) criam imagens em mosaico e economizam a memória.
0_kJidu4j0jdoKiSak
Fora do bloco e em bloco
  • Imagens de 9 fatias ou trechos (9-patch/9-slice, em inglês) com bordas não dimensionáveis, mas com um centro dimensionável para criar imagens dimensionáveis e economizar memória.
0_2JhJt6iStsR1P8hy
A imagem azul cresce, mas seus cantos permanecem os mesmos!
  • Faça das dimensões de cada imagem um múltiplo de 4 ou uma potência de 2 para economizar memória. A escolha dependerá de como você está comprimindo os recursos.
  • Se estiver usando o Photoshop, use "Arquivo > Exportar > Camadas para Arquivos" para exportar rapidamente um arquivo (por exemplo, em PNG, ou JPEG).

Recursos

Criação da UI:

  • Photoshop (*).
  • Sketch.

Princípios de UI:

Criação de imagens em 2D:

  • Photoshop (*).
  • Gimp.
  • Paint Tool SAI. Boa para estilos suaves/de anime.

Criação de imagens em 3D:

  • Blender (*). Muito bom, mas com uma curva de aprendizagem bem difícil.
  • Maya. Bom para animação.
  • Max. Bom para renderização.

Recursos gratuitos:

  • Behance (*). Fontes + ícones + outros designs.
  • KennyNL. Arte para UI/2D/3D prontas para jogos de alta qualidade.
  • Open Game Dev Art. Grande biblioteca de arte gerada por usuários.

Inspiração:

  • Dribbble. Designs apenas para designers convidados.
  • Behance (*). Designs para qualquer um que tiver uma conta.
  • itch.io (*). Lindos jogos indie.
1_TMF40Hb52oFS-GlvLRs4Gg

3. Programação

Conselho

Debug.Log("Ai, não! Hora de programar!! ^_^");

Seu primeiro passo? Decidir o mecanismo de jogo e uma IDE (Integrated Development Environment — basicamente, um aplicativo que permite a você programar). Minha recomendação de mecanismo de jogo + IDEs está nas fontes abaixo.

Seu segundo passo? Programar.

0_PMyxT_fjoTaVsDcs

Não sabe como programar? Eu entendo. Mas saiba que você pode aprender.

Esses fundamentos de Ciência da Computação devem ser o suficiente para começar (todos os exemplos de códigos aqui são em C++, uma das principais linguagens que o framework de desenvolvimento de jogos 3D da Unity utiliza).

1) Tipos de dados e variáveis. Na raiz de todo código estão os dados. Esses dados são armazenados em variáveis. Você pode declarar uma variável assim:

int i = 0;

Vamos por partes:

int é o tipo de dado. i é o nome da variável. E o = 0 atribui um zero como o valor da variável.

E quanto a isso?

string s = "pusheen é o melhor gato do mundo";

string é o tipo de dado. s é o nome da variável. E, sim — você adivinhou — "pusheen é o melhor gato do mundo" é o valor da variável.

Alguns tipos comuns de dados: int e long são números inteiros. float e double são números decimais. E strings são frases (mesmo em uma string vazia — "").

Quer saber mais? Leia isto e isto (textos em inglês).

2) Instruções com if. Instruções com if avaliam se uma determinada condição é verdadeira. Se for, o código que está dentro da instrução if é executado:

if (true){ //true é sempre avaliado como verdadeiro!

    fazerCoisas(); //Estou dentro das chaves da instrução if; serei executado!
}

Se uma condição não for verdadeira, podemos validar outra condição com else if:

int i = 1;

if (i == 0){ 

   fazerCoisas(); 
}
else if (i == 1){

   fazerOutrasCoisas(); //eu serei executado porque i não é 0!
   
}

Ou, simplesmente, executar um outro código com else:

int i = 60000;

if (i == 0){

  fazerCoisas(); 
  
} else {

  fazerOutrasCoisas(); //eu ainda serei o bloco executado.
  
}

3) Laços for/while. Laços while continuam enquanto uma certa condição for verdadeira, executando o mesmo código repetidamente. Quando a condição não for verdadeira, o laço é interrompido.

while (someBool == true){ //condição

   fazerCoisas(); //seguirei fazendo coisas enquanto someBool não for false
   
}

Pense: quanto tempo esse loop dura?

while (true){

  fazerCoisas();
  
}

Laços for são basicamente laços while onde:

int i = 0;
while (i < condicao){ 

    fazerCoisas();
    
    i++; //aumentar i após fazer coisas
}

Equivale a:

for (int i = 0; i < condicao; i++){

    fazerCoisas();
}

4) Estruturas de dados básicas. Em seguida, temos os dados e formas de manipular esse dados.  Podemos também armazenar esses dados em algumas estruturas - uma estrutura de dados. As estruturas de dados que você deveria conhecer são arrays, listas, filas, pilhas e sets  (textos em inglês).

Aqui temos um exemplo rápido de array:

/*
Suponha que você tenha os números de 0 a 9 e que deseja guardá-los em algum lugar. É possível armazená-los em um array!
*/
int[] arr = new int[10]; 
/*
Os colchetes [] declaram um array.Atribuímos um novo array a arr, de tamanho 10 - isso significa que ele pode receber 10 elementos. Arr agora tem essa aparência:

arr = [ 0 0 0 0 0 0 0 0 0 0 ]
*/
for (int i=0; i<10; i++){

    arr[i]=i; //Atribuímos seja qual for o valor de i ao i-ésimo índice do arr.
    
//Você sabia que os índices das estruturas de dados começam em 0?
}

/*
Depois de executar o laço for, nossa estrutura de dados de array terá essa aparência!
arr = [ 0 1 2 3 4 5 6 7 8 9 ]
*/

Para solidificar seus conhecimentos dos passos 2 ao 4, leia isto (texto em inglês).

5) Funções e exceções. Funções são basicamente pequenas linhas de códigos que representam muito mais código. Por exemplo, se você chamar:

comerPao();

E comerPao() tiver este conteúdo:

void comerPao(){ //<---essa é uma função. 

   paoComido=true;
   
   printf("Já posso sentir os carboidratos aumentando");
   
}

Ao chamar comerPao(), na verdade, estamos chamando as duas instruções dentro da função comerPao().

Se você fizer algo de errado em seu código, uma exceção pode ser projetada. Eles são erros vermelhos e raivosos que estão lá para dizer: Ei, volte aqui! O que você fez ali em cima não funciona logicamente. Vá lá e revise.

Para aprender mais sobre funções, vá aqui; para aprender sobre exceções, vá aqui (textos em inglês).

Há outras coisas que você precisa saber:

6) Linguagem. Em qual linguagem você vai programar? C++? JavaScript? C#? Toda linguagem é escrita um pouco diferente e pode permitir que você faça coisas diferentes.

7) API (Application Programming Interface). Depois de saber o básico, você terá que aprender sobre a API específica de seu mecanismo de jogos. As APIs são essencialmente uma coleção de objetos poderosos envolvidos em classes e funções  simples que você pode chamar. As APIs tornam a vida mais fácil, muito mais fácil.

Por último:

8) Veja um exemplo de projeto em seu mecanismo de jogo escolhido: Unreal e Unity têm milhares de exemplos de projetos gratuitos. Isso permite que você descubra como tudo é unificado. Além disso, você pode criar a ideia do seu jogo a partir do projeto (meu primeiro jogo foi criado a partir de Corgi Engine)

if (voce.chegouAteAqui()==true){
  muitoOrgulhosa=true;
  voce.conseguiu(); //HUMOR NO MOMENTO: MELHOR IMPOSSÍVEL⭐⭐
  
}

Para encorajar: Eu sei. Programar é assustador no início. Nada faz sentido, você está constantemente indo de encontro a obstáculos, e provavelmente quer desistir em função das falhas e exceções. Não significa que você é ruim em programação. Programação é um desafio. É compreensível se sentir incapaz no começo.

Isso, porém, leva tempo, como qualquer outra habilidade. Vai ficando fácil. Vai ficando divertido (ao menos, ficou para mim).

0_276fFujnYO2MY-5j

Conceitos importantes sobre a programação de jogos (referências da seção em inglês):

  • Orientação a objetos. Faz a programação parecer mais natural.
  • Convenções de nomeclatura. Nomeie suas classes, métodos e variáveis como algo que obviamente transmite seu propósito. Por exemplo, uma função de ataque corpo a corpo (melee, em inglês) deve ser denominada meleeAttack(), não mA() ou protectbutalsoattack(). Você (e outros que lerem seu código) deverão saber o que está acontecendo.
  • Decomposição. Coloque o código que se repete em uma função separada. Chame aquela função em vez de duplicar repetidamente aquele código.
  • Padrão de projeto Singleton. Permite que dados de diversos sejam armazenados em um único lugar.
  • Prevenção de estática. Além dos singletons, eu evitaria fazer variáveis estáticas - sua vida é a vida útil do jogo, elas são mais lentas e podem ter comportamentos inesperados no editor.
  • Padrão de projeto Observer. Permite que os acontecimentos que dependem de outro não desperdicem o tempo do computador verificando esse último.

Questões importantes especificas do Unity (referências da seção em inglês):

  • Co-rotinas. IEnumerators e Coroutines permitem que você comece a fazer coisas e continue fazendo-as por algum tempo e, então, pare. Eu os usava o tempo todo: para explosões de efeitos visuais; para o movimento de interpolação linear; para esperar que uma cena seja carregada antes de obter os objetos da cena, entre outros.
  • ScriptableObject. Contêm dados com menos sobrecarga do que os MonoBehaviors.

Recursos

Mecanismos de jogos (referências da seção em inglês):

  • Faça seu próprio. Requer C/C++. De baixo nível (realmente, baixo).
  • Unity (*). 2D/3D. Requer Javascript/C#. Nível médio. Multiplataforma.
  • Unreal Engine. 2D/3D. Requer C++. Nível médio. Multiplataforma. Observação: o suporte a 2D não é muito bom.
  • pixi.js (*). 2D. Requer Javascript. Nível médio. Web.
  • GameMaker Studio. 2D/3D. Requer o GML. Nível iniciante. Multiplataforma.
  • Corona. 2D. Requer Lua. Nível iniciante. Multiplataforma.

IDEs:

  • Visual Studio Code (*). Para o MacOS. Não me dá nenhum atraso e tem características incríveis, exclusivas do VSCode (tais como informações de referências in-line e navegação rápida - com ⌘T).
  • Visual Studio (*). Para Windows.
  • MonoDevelop. Vem com Unity. Costuma ter lag.

Recursos gratuitos do Unity (referências da seção em inglês):

Para o Unity, existem muitos recursos livres na Unity Store, no GitHub, no Bitbucket e em outros sites. Eu costumo usar ao menos dois em cada projeto. Facilite sua vida com esses recursos, mas perceba que eles não são perfeitos. Se você detectar erros, não hesite em consertá-los e/ou sinalizar para os desenvolvedores.

Por último, mas não menos importante, minha solução nº 1 para problemas de programação: Google!
0_NI1eGAQJ23f8EBOI

4. Áudio

Conselho

Primeiro: Você quer áudio?

O áudio pode fazer milagres em termos de imersão e ambientação (texto em inglês), mas o custo pode ser em termos da memória.

Se a resposta é sim, qual áudio?

Vai incluir música? Efeitos sonoros?  Narração ou dubladores?

Para qualquer uma das alternativas acima, grave e faça a remixagem de modo que combine com a ambientação do seu jogo. Por exemplo, Bastion usa sons bucais orgânicos e instrumentais, combinando com o mundo do jogo. Crypt of the Necrodancer usa uma mistura de sons eletrônicos e chiptunes para combinar com o jogo colorido e rítmico.

"A imersão é tudo!"

-Darren Korb, Supergiant Games

Se o seu áudio não combina com a ambientação do jogo, ele pode prejudicar a imersão. Como seu áudio vai combinar com o seu jogo?

Recursos

Ferramentas de áudio:

  • Logic Pro. U$ 200. Somente para o MacOS .
  • FL Studio (*). U$ 99 a 899. Tem demonstração gratuita.
  • Reaper. U$60 a 225.
  • Audacity (*). Grátis . Capacidades limitadas. Útil para a limpeza de áudio.

Geradores de efeitos sonoros retrô (referências da seção em inglês):

Sons gratuitos:

1_JKnp8SVLbSaIyBtj8wyehw

5. Polimento

Conselho

Nossa! Você chegou até aqui! Que incrível (é sério - se chegou tão longe, eu gostaria de saber sobre o seu game. Me mande mensagem, quando puder)!

Tudo concluído, certo?

Bem, tem uma probabilidade de 99,99999% de ter bugs.

Esse é momento para se fazer testes para ver se tem bugs.

Testando para ver se há bugs no seu jogo

  1. Consiga outras pessoas — você não vale — que joguem o seu jogo. De preferência, na sua frente, porque se eles encontrarem algum bug, podem não perceber ou ter dificuldade de descrever.
  2. Jogue-o em todas as plataformas de destino. O jogo pode funcionar no editor, mas será que funciona onde é importante? Para o Linux e as diferentes versões do Android, especialmente, acho que as coisas ficam um pouco confusas.

Certo. Você encontrou um bug. O que fazer agora?

0_GFIXUr8X6BwoXdgb
  1. Verifique o console para ver se há exceções. Encontrou alguma? Ótimo! Encontre o arquivo e o número da linha onde a exceção foi lançada. Se a exceção parecer algo muito maluco, procure-a no Google e aprenda sobre ela. Então, descubra por que esse número de linha está causando essa exceção.
  2. Continua sem entender? Escreva para o console. Comece a solicitar registros em log nos locais que você acha que podem estar causando o problema. Imprimir no console os valores de variáveis e veja se o que é impresso é o esperado. Caso contrário, conserte o problema.
  3. Quando o pior acontece, verifique os logs. Os logs do seu projeto vão dar mais informações do que o console. Leia as linhas finais onde a exceção ocorre. Pesquise tudo o que você não sabe no Google. Consegue resolver o problema agora?
  4. Durma. Isso vai ter se resolvido pela manhã. Afinal, é apenas um sonho ruim., certo?

Erros comuns:

  • NullReferenceException.
var.fazerCoisa(); //throws NullReferenceException: Object reference not set to an instance of an object

Problema: você esta fazendo algo com uma variável nula (inexistente).

Solução rápida: verifique se a variável é nula antes de fazer isso.

if(var != null)
    {
        var.fazerCoisa(); // faça isso com segurança!
    }
  • SyntaxErrorException.

Problema: seu código tem uma sintaxe inválida.

Solução rápida: Na mensagem de Exceção, deve estar o caractere que está causando o erro. Altere-o.

Observação: se o caractere tem aspas duplas, certifique-se de usar as aspas retas no lugar das aspas curvas.

  • Tela rosa ou preta.

Problema possível: Algum sombreamento não conseguiu renderizar.

Possíveis causas: você está usando um shader 3D para um jogo 2D ou está usando algum recurso de shader sem suporte no sistema operacional de destino. Certifique-se de usar shaders de dispositivos móveis para jogos nesses dispositivos.

0_YpNXKqqy_Nka3RYp

Depois de terminar de eliminar os erros, faça os ajustes finais de seu jogo otimizando o uso de memória e o desempenho. Isto fará com que o download seja mais rápido e aquecerá menos os dispositivos de quem o jogar.

Dicas gerais de otimização (referências da seção em inglês)

  • Estabeleça a taxa de quadros de destino. A taxa de quadros pode ser de 20 para uma visual novel ou de 60 para um jogo de tiro em primeira pessoa. Uma taxa de quadros inferior ao padrão permite que o jogo gaste menos tempo renderizando quadros.
  • Animação / partículas / abate de oclusão. O abate significa que as coisas que não estão visíveis na câmera não são renderizadas. Os personagens só serão animados, as partículas só serão atualizadas e os modelos 3D só serão renderizados quando estiverem à vista.
0_--aqZp6ZFl7wMVWI
0_sOU-nKokr1HlJP3a

Se você quiser um desafio (referências da seção em inglês):

  • Otimização de shaders. Dê a cada renderizador um material. Isto economizará recursos no início, já que o jogo não tem que criar novos materiais para tudo. O shader para o material inclui apenas o que é funcionalmente necessário (por exemplo, um botão que não precisa de mascaramento pode usar um shader de sprites em seu lugar).
  • No Unity, use AssetBundles em vez de Resources. O AssetBundles economizará a memória buscando no armazenamento on-line (por exemplo, no DropBox) ou local (por exemplo, no disco rígido). No entanto, eu não tentei muito essas questões devido à documentação ruim.

Recursos (referências da seção em inglês)

Todos eles são do Unity, mas podem ser aplicáveis a outros mecanismos (todos em inglês).

Scripts:

Arte:

Memória:

Específicos das plataformas:

6. Marketing

Conselho

Parabéns! Você fez um jogo. É o momento de mostrar para o mundo o que você fez.

Pessoalmente, o marketing é o meu maior indutor de ansiedade. Se você, também, tem muitas dúvidas, a comunidade de desenvolvedores de jogos é superútil. Você não está só nisso. E chegou tão longe - pode muito bem chegar até o fim, certo?

Você nunca saberá se será um sucesso, a menos que tente.
0_qFXvryTQVsP8UCcn
  1. Esboço. Crie esboços da pagina do seu jogo em todas as suas plataformas de destino de distribuição do jogo. Encontre uma lista de plataformas na parte de Recursos abaixo.
  2. Faça o networking. Se você for até o fim no networking, vai querer enviar um e-mail para a imprensa especializada, exibir o jogo em festivais e participar de conferências.

Para a imprensa especializada, envie por e-mail a página não listada do seu jogo uma semana antes do lançamento. Dê às pessoas algum tempo para escrever sobre ele. É provável que elas não escrevam sobre ele de forma alguma. Descobri que a imprensa adora uma história atraente de desenvolvedores, um conceito único/controverso e, o mais importante, um presskit.

Como você encontra os e-mails? Você pode...

  1. Encontrar escritores que você gosta e buscar pelo nome deles. O e-mail deles com certeza aparecerá em algum lugar: no Twitter, no LinkedIn etc. Ou...
  2. Encontre o e-mail geral da revista/empresa de notícias na página Sobre do site deles. Normalmente, está no formato dicas@empresa.com.

Não envie um e-mail para a imprensa sobre seu jogo se eles não cobrirem explicitamente seu gênero/plataforma direcionada.

Festivais podem dar prêmios/ou reconhecimento profissional por outros desenvolvedores e pela impressa especializada.

As conferências são o que você faz delas: elas podem ter a ver apenas com networking com outros desenvolvedores, empresas e imprensa (vá e ofereça seus cartões de visita); elas podem ser para atualizar seu conhecimento em desenvolvimento de jogos com o que há de mais recente; para jogar os jogos dos outros; ou para encontrar-se com os amigos da Internet.

Os ingressos para as conferências de jogos são caros. Se você é um estudante, pense em solicitar bolsas de estudo para eles. O programa IGDA Scholars dá a você algumas oportunidades especialmente incríveis de networking e de presença em eventos.

3. Youtubers/Streamers. Você pode obter cobertura em vídeo de seu jogo por:

  1. Classificação alta em plataformas de distribuição de jogos.
  2. Envio de e-mails. Se você enviar um e-mail, não fale de si mesmo; fale sobre o jogo. Mantenha a mensagem gentil, breve e convincente. Use fotos e gifs que chamem a atenção.

Como você encontra os e-mails? Veja a página Sobre dos sites das pessoas e empresas. Se você não conseguir encontrá-los por lá, procure-os no Google e veja se suas outras mídias sociais o têm.

1_8Y35x-rZIuBapR5WFNpFqQ
Aqui vemos um e-mail.
1_ISj787elwqyMUQOHo3o40g
estão em todo lugar

4. Redes sociais.

As redes sociais são uma ferramenta de marketing incrível. Agar.io começou a sua ascensão no 4chan, Butterfly Soup recebeu um impulso fenomenal no Twitter (textos em inglês) e algumas formas de redes sociais acabam sempre no meu top 4 de referências:

1_9zJi8w4bKAqD4FlAmlc6DA
Live Portrait Maker
1_XXB_AREPwK0K0ozaTaBKNg
YOU LEFT ME

Minhas redes sociais favoritas para marketing estão listadas abaixo, em Recursos.

0_Z0LdyJ-sK4zD3-iZ

Uma última observação — editora ou publicação própria? Fazer marketing dos jogos é pesado demais. Você quer que uma editora se encarregue de tudo isso? Quer ir pela rota de Hotline Miami da Devolver Digital, ou contar com o boca a boca de Farmville e de Doki Doki Doki Literature Club?

Com uma editora, você terá que fazer sua pesquisa para encontrar uma boa. Em seguida, você assinará a papelada e passará por várias questões legais. Além disso, é um enorme investimento financeiro.

Sozinho, você terá que dedicar muito tempo e esforço para aprender marketing. Você pode adorar. Você pode odiar. E você também pode não fazer um bom trabalho. No entanto, é grátis e você aprende habilidades valiosas.

1_abfGrvwSMrEaha8ViVHzww
Viva! Crescimento orgânico e de publicação própria (mas não é geneticamente modificado, é?)

No meu caso, eu sempre publiquei por conta própria. Eu adoro aprender coisas novas. Além disso, acredito firmemente que um jogo realmente grande será bem-sucedido, não importa o que aconteça, desde que algum esforço de marketing tenha sido feito.

6. Hora de apertar o botão de Publicar!

Quê? Você chegou ao final, mesmo? Viva! Agora, relaxe, sente-se, pegue uma bebida deliciosa e reserve um tempo para si mesmo! Você trabalhou muito e merece um descanso!

E lembre-se de que, mesmo que seu jogo não tenha a recepção que você esperava, tudo bem. Não vai ser perfeito na primeira vez. Meu primeiro jogo na Steam tem apenas 255 downloads.

O importante é que você fez um jogo. Você aprendeu muito e isso já é o suficiente.

E há sempre uma próxima vez!

0_oSrrX_kk-L4Lwion

Recursos (referências da seção em inglês)

Plataformas de distribuição de jogos:

  • Steam (?). PC. Requer U$ 100 de taxa por jogo.
  • Origin. PC.
  • GOG. PC. Publicação grátis. O jogo deve ser aceito.
  • Mac App Store. MacOS. Exige conta Apple Developer.
  • itch.io (*). PC/Web. Publicação grátis.
  • Game Jolt (*). PC/Web. Publicação grátis.
  • Armor Games (*). Publicação grátis. É preciso se candidatar como desenvolvedor.
  • Kongregate (*). Web. Publicação grátis.
  • Newgrounds (*). Web. Publicação grátis.
  • GitHub (*). Web. Publicação grátis em seu próprio site com nome de domínio formatado como "___.github.io".
  • Amazon. Web/Mobile. Publicação grátis.
  • Google Play (*). Dispositivos móveis. Exige uma taxa única de U$ 25.
  • iOS App Store (*). Dispositivos móveis. Exige uma conta de Apple Developer.

Imprensa de jogos:

Festivais de jogos:

Conferências de jogos:

  • Game Developer’s Conference (GDC). San Francisco.
  • Penny Arcade Expo (PAX). Seattle/Boston/Philadelphia/Melbourne.
  • Electronic Entertainment Expo (E3). Los Angeles.
  • Tokyo Game Show. Japão.
  • Steam Dev Days. Seattle. Somente para desenvolvedores da Steam.

Envio de e-mails:

Redes sociais:

  • Reddit (*). Escolha um subreddit apropriado. Alguns dos meus favoritos são /r/WebGames, /r/IndieGaming/ e /r/visualnovels.
1_uXjTNgJQLRD6GxREPjLWZg
/r/WebGames
  • Facebook (*). Publique em sua página do Facebook (se você tiver uma) e em seu Facebook pessoal (se você se sentir confortável com isso). Há também vários grupos do Facebook onde você pode exibir seu jogo! Aqui estão alguns:

GameDev Show and Test
Indie Game Developers
Indie Game Promo

  • Tumblr (*).
  • Twitter (*). Tente usar tags como #gamedev, #indiedev e #screenshotsaturday para ser descoberto.

Comunidade:

Conclusão

Não há cheat code que facilite criar um jogo. É apenas muita determinação e esforço.

"Atrás de cada Half Life, Minecraft e Uncharted, há OCEANOS de sangue, suor e lágrimas."

— Ken Levine

Você vai ficar confuso. Vai cometer erros. Você pode até chorar (eu chorei - e ainda choro).

Mas está tudo bem. Significa que você está evoluindo. Se você está se esforçando para fazer dar certo, eu acredito em você e no seu jogo: Você pode fazer acontecer.

0_IH1bpE4Hf0crXYVd_
foxtato de apoio de Emily’s Diary
0_cc_Fm6yLJIZaCGRB

Se você gostou de ler meu primeiro artigo, não se esqueça de recomendá-lo para todos que puder. Seria muito legal!

Você também pode me seguir/me enviar mensagens no Twitter, no Tumblr e no GitHub. Também pode me pagar um café, se preferir.