Como eu fiz um jogo de quadrinhos Lovecraft



Olá Habr! Esta será a história do caminho difícil de desenvolver uma missão em 2D no cenário dos mundos de Howard Phillips Lovecraft, que é inteiramente enquadrado na forma de uma história em quadrinhos interativa. Bem, isto é, tudo no jogo, desde quebra-cabeças até a interface, é uma história em quadrinhos perfeita. Se você estiver interessado nesse conceito, peço um recorte, onde haverá mais GIFs, detalhes técnicos e experiência em publicação nas principais plataformas.

Sobre o jogo


Eu desenho um pouco, tento desenhar, e esse jogo começou com esse desenho. Micro-quadrinhos com um iate, um mar revolto e um herói olhando para uma ilha misteriosa no horizonte. Com decoração no espírito Lovecraftiano (bem, você sabe, polvos, tentáculos e tudo isso). E também, com uma referência a outro mestre reconhecido do gênero terror. Quem dirá qual?



E eu pensei: mas um jogo criado no estilo de quadrinhos é legal, cativante e incomum! Existem muito poucos jogos desse tipo. Eu me lembro de três. Claro, este é o lendário "Comix Zone", o jogo de tiro "XIII" (décimo terceiro) e não o jogo inteiro, mas o episódio em "What Remains of Edith Finch". Mas fazê-lo sozinho / em conjunto com um jogo de plataformas ou FPS-shooter, para um desenvolvedor independente - um luxo inadmissível - muita animação, muito complicado, muito tempo, e é provável que o jogo não esteja à altura do lançamento. Não, eu sei que existem pessoas que conseguem desenvolver um jogo de plataforma há 8 anos (Owlboy) e, ao mesmo tempo, não perdem a motivação. Sinceramente, admiro e invejo um pouco essas pessoas, mas receio que esse não seja o meu caso. Mas um jogo de quebra-cabeças / apontar e clicar é uma questão completamente diferente! Além disso, tenho experiência na criação de quebra-cabeças 2D - alguns podem se lembrar de mim como o autor da série de quebra-cabeças Mechanical Box. Então está decidido! Cenário - obras de G.F. Lovecraft, gênero - apontar e clicar, estilo visual - história em quadrinhos.

Mas eu não queria fazer apenas uma história em quadrinhos interativa ou uma história curta visual. Eu queria que esse projeto se tornasse mais um jogo do que literatura. E então outro hobby me ajudou - a história dos videogames. Lembrei-me de que havia lido recentemente sobre um jogo de computador baseado em texto, cuja idéia principal me parecia bastante incomum e interessante.

O jogo foi chamado de "Hunt the Wumpus". Este é um jogo de texto clássico escrito por Gregory Yob em 1972. Como a Wikipedia diz, este é o primeiro jogo baseado em texto da história, bem como o primeiro jogo de computador de aventura, extremamente popular nos anos 70-80 do século passado.



Em resumo, a essência do jogo era a seguinte: o jogador entra no labirinto, que consiste em 20 salas numeradas, cada uma conectada por corredores com três outras. Ou seja, o mapa desse labirinto é um gráfico fechado. No entanto, não vamos nos aprofundar em todos os tipos de termos; de fato, tudo é muito simples! Um monstro perigoso vive neste labirinto - Vampus, a tarefa do jogador, explorar o labirinto, para encontrar e atirar nesse monstro.

No início do jogo, o jogador se encontra em uma sala aleatória de labirinto. De uma só vez, ele pode ir a uma das três salas vizinhas ou atirar nela. Na sala, o jogador pode sentir um rascunho, um cheiro repugnante ou ouvir um barulho estranho. Draught diz que em uma das salas vizinhas - um poço sem fundo - caindo nele, você perde. Os morcegos gigantes fazem barulho. Se você entrar na sala com eles, eles agarram o jogador e os transferem para outra sala de labirinto selecionada aleatoriamente. Bem, o mau cheiro significa que em uma das três salas vizinhas está Vampus. Se um jogador acaba na mesma sala que ele, o Vampus o come.

Assim, viajando pelo labirinto e lembrando-se dos sinais de perigos próximos, você pode ter uma idéia da localização deles e atirar em Vampus, sabendo exatamente onde ele está. De fato, podemos citar como exemplo outro jogo mais comum com mecânica semelhante. Este é o conhecido Campo Minado. "Vampus Hunt", em geral, é outra opção com vários tipos de "minas".



Voltando a Lovecraft, nosso herói vai por mar para a Nova Inglaterra, mas, obviamente, seus planos não estavam destinados a se realizar, pois:
No décimo sétimo dia de viagem, uma tempestade terrível como se do nada, levando o navio condenado cada vez mais longe em águas desconhecidas. A fragata cai e o personagem principal ganha vida na areia da baía, cercada por falésias inexpugnáveis. Desde a única saída da baía, cortada no penhasco, ela sopra com extraordinária antiguidade ...
Esta é a entrada para as masmorras do Templo de Cultos Sem Nome, onde nas melhores tradições de Lovecraft o personagem principal espera nada além de loucura e morte (em até seis versões dos finais!). As masmorras são um labirinto do jogo "Hunt the Wumpus", mas em vez de Vampus, Dagon vive no labirinto - o santo padroeiro de Deepwater. Você não pode matá-lo imediatamente, mas só pode machucá-lo - afinal, uma das divindades menores do panteão dos mitos de Cthulhu não é uma piada para você! E no papel de morcegos gigantes aqui, os ancestrais dos Antigos - Shoggot - uma massa disforme de protoplasma com mil olhos, tentáculos e outros membros inimagináveis. Você pode fugir de Shoggot. A fuga é implementada como um mini-jogo onde você precisa resolver quebra-cabeças simples por um tempo escolhendo uma das três portas. Meu improviso sobre o tópico QTE (Quick Time Event) é uma técnica bastante comum em videogames; quando você precisar executar rapidamente determinadas ações, pressione determinadas teclas.

Além de tal variação no tema Campo Minado, é claro, como um meta-jogo, deve haver quebra-cabeças e outros mini-jogos - tudo isso inerente às missões clássicas. Não inventei nada e decidi usar a mecânica antiga e testada pelo tempo - “pontos”, “elementos rotativos”, “escolher uma combinação” e coisas do gênero. Naturalmente, tudo deve ser cuidadosamente incluído no cenário de Lovecraft. Abaixo está um GIF com alguns exemplos.



Desenvolvimento


O primeiro protótipo do Unity que montei rapidamente, em cerca de uma semana. E que eles me joguem chinelos, mas percebi uma coisa simples: a unidade não combina comigo. Sim, um conveniente editor visual, sim, muita informação, devido à popularidade do mecanismo. Mas ... Passei a maior parte do tempo tentando descobrir como montar o que preciso dos cubos existentes. Em vez de criar e usar cubos da "forma desejada". Bem, algumas coisas me parecem estranhas (de um hábito, eu acho). Por exemplo, iniciar coordenadas “conectadas” na animação: se em uma animação um objeto começa a se mover da posição (0,0), então quando essa animação é aplicada a um objeto, ela salta para (0,0) independentemente da sua posição atual. Você diz: portanto, também foi necessário fazer o download do <nome do plug-in> na Asset Store! Talvez ...

Em geral, escolhi a estrutura mais familiar e compreensível para mim - LibGDX. Este é um mecanismo Java gratuito de plataforma cruzada. Em algum lugar, ouvi a opinião de que o Unity é sobre design rápido e o LibGDX é sobre arquitetura bonita, código. Ou seja, o LibGDX está mais próximo dos programadores e o Unity para aqueles que, pelo contrário, querem menos código e mais "ação". Das vantagens do LibGDX, também vale destacar a leveza e a velocidade, durante todo o tempo em que não encontrei problemas, que em algum lugar algo diminui. Bem, o fato de este ser Java para alguns pode ser um fator decisivo.


MENJ4-2R5ZJ-HD7AQ
Tendo um protótipo em mãos, comecei a procurar um artista, porque percebi que eu próprio não conseguia esticar nem a qualidade necessária nem a quantidade de arte. No fórum gamedev.ru, um artista maravilhoso, Sergey Kovalev, respondeu ao meu anúncio. Todos esses gifs legais que você vê aqui são trabalhos dele. Lá havia também um compositor - Maxim Grachev. Os gifs não transmitem som, é claro, mas todos que jogaram o jogo dizem que o som no jogo é muito atmosférico. Para cada uma de nossa pequena equipe, era um projeto de "tempo livre". Portanto, por quanto tempo, por quanto tempo, mas depois de seis meses nos fins de semana e noites após o trabalho, o jogo chegou ao fim.

Postagem


Como esse é o Java, as compilações para plataformas diferentes resumem-se essencialmente ao fornecimento do mesmo código com a plataforma JRE (Java Runtime Environment) necessária. Decidi imediatamente lançar o jogo para todos os principais sistemas operacionais: Windows, Mac, Linux, Android e iOS. Não vou me debruçar sobre as lojas de móveis em detalhes, mas vou falar melhor sobre o Steam. Além disso, esta é minha primeira experiência em colocar um jogo em uma loja da Valve.

Recentemente, qualquer pessoa pode vender seus jogos no Steam, basta passar pelo procedimento de registro e pagar uma taxa de US $ 100 (para cada jogo). O registro leva vários dias, o Steam supostamente verifica os dados preenchidos no formulário fiscal W-8BEN. Não está muito claro o porquê. Noutros casos, quando tive de preencher este formulário, bastavam fotocópias.

De uma forma ou de outra, quando você chega ao Steamworks e o primeiro choque vem do número de botões, menus, itens e subitens, é hora de criar uma página de jogo. Aqui tudo é padrão: capturas de tela, vídeos, um conjunto de arte promocional, descrições em diferentes idiomas (se você fez a localização, é claro). A página deve ser moderada. No meu caso, tudo correu rápida e quase sem problemas. A primeira vez que a página foi rejeitada, explicando que as imagens promocionais deveriam ter um nome legível para o jogo e, quando eu corrigi essa observação, a página foi aceita.



Após a aprovação, a página fica visível para todos os usuários e o jogo se enquadra na categoria "Em breve". Você pode coletar e baixar a compilação. Vou contar um pouco mais sobre como isso acontece no caso do LibGDX. Primeiro, você precisa executar o jogo em tela cheia. Para isso, adicionamos o seguinte código ao DesktopLauncher:

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); config.vSyncEnabled = true; config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width; config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height; config.fullscreen = true; 

Em segundo lugar, precisamos coletar o pacote configurável do arquivo executável (iniciador), nosso arquivo jar, que será executado e a JVM da plataforma desejada. Existem muitas ferramentas para isso. Eu focaria em dois: é um utilitário familiar, o Launch4J . E Packr , desenvolvido pela equipe LibGDX. O que usar, uma questão de gosto, pessoalmente Packr está mais perto de mim pessoalmente. Criamos o arquivo de configuração e coletamos a compilação em uma linha, por exemplo, no Linux (pelo menos automaticamente):

Exemplo de configuração para Packr
 { "platform": "linux64", "jdk": "/Users/me/Documents/builds/jdk1.8.0_191-linux-x64.zip", "executable": "My-Game", "classpath": [ "desktop.jar" ], "output": "EFIBB-ZIY32-8Q569", "mainclass": "com.puzzle.comix.desktop.DesktopLauncher", "vmargs": [ "Xmx1G" ] } 


Em seguida, precisamos fazer o download de assemblies no Steam, tenho três deles: para Windows, Mac e Linux. A descrição desse processo está na documentação (em russo); portanto, listarei os pontos principais:

  1. No Steamworks, crie "Repositórios" para o respectivo SO. Criei "conteúdo do Windows", "conteúdo do Mac" e "conteúdo do Linux".
  2. No mesmo local, inclua esses "Repositórios" nos "Kits".
  3. Faça o download do SDK do Steamworks - use-o e faça o download para o Steam.
  4. Nos exemplos de scripts de download, substitua os IDs de aplicativo e armazenamento pelos seus. Prescreva o caminho local para os arquivos do jogo.
  5. Inicie o carregador de inicialização. No meu caso (Mac OS), o comando se parece com o seguinte:

 bash ./steamcmd.sh +login "user" "password" +run_app_build ../scripts/app_build_xxxxxx.vdf +quit 

Isso, de fato, é tudo. Fiz o steamcmd três vezes com um erro de servidor de 500, da quarta vez que tudo inicializou. Depois disso, enviamos a compilação do jogo em si para moderação. Mais 4-5 dias e você pode clicar no precioso botão verde "Publicar".

Sites alternativos


Agora, como cogumelos depois da chuva, lojas alternativas do Steam aparecem: Discord, GOG, Green Man Gaming, etc. Todo mundo está discutindo ativamente o anúncio de sua própria plataforma da Epic Games (há uma esperança de que eles possam competir com o Steam). E eu quero dizer algumas palavras sobre itch.io. Se você me perguntar, como vejo a loja perfeita para um desenvolvedor? Vou responder sem hesitação - itch.io. Entendo que a loja perfeita para o desenvolvedor e o jogador são coisas ligeiramente diferentes. Em geral, coceira é uma utopia. Mas como tudo é legal e simples aqui! Editor de página de jogo mega-conveniente, tudo é muito atencioso, rápido e moderno. Sem empilhar botões e ações, apenas alguns cliques e seu jogo está disponível em todo o mundo!

O problema é o mesmo de todas as partes alternativas - uma pequena audiência. Eu me destaquei na página principal simplesmente escrevendo para o criador do itch.io pelo correio (sim, é possível e até difícil). E com isso em mente, o jogo teve apenas ~ 200 visualizações de página por dia e algumas vendas preguiçosas.



Mas a pequena comunidade que está aqui é muito amigável! O Itch possui este recurso: você define o preço mínimo, "obrigatório" do jogo, e o comprador pode aumentá-lo à vontade, para apoiar o desenvolvedor. E essas vendas, acima do preço estabelecido, são bastante comuns! Ao contrário do Steam, onde a toxicidade e os comentários "teriam comprado por 15 rublos" - demais.

Sim, o jogo é pequeno. Provavelmente, se você chegar rapidamente ao fundo e não ficar preso em nenhum quebra-cabeça, poderá analisá-lo em uma hora. Entendo que o jogo não tem chance de ganhar muito dinheiro. Portanto, no Steam, defino o preço mais honesto e econômico de 99 rublos. Talvez, para qualquer pessoa, esse valor não seja significativo. No entanto, eles exigem um desconto de 50%, escrevem cerca de 15 rublos e geralmente "doam gratuitamente para promover o nome do desenvolvedor" (o que não significa). No entanto, eu estava distraído. É apenas o meu "ponto dolorido". Eu, como ninguém, sei quanto esforço foi colocado nessa hora condicional de jogo e isso me machuca, admito.

Marketing


Vou falar sobre várias atividades que realizei para anunciar o jogo. Em primeiro lugar, Keymailer. Este serviço é bem conhecido, mas não ficará fora do lugar para informar como ele funciona. Você registra o jogo e carrega algumas chaves do Steam no serviço para distribuição aos blogueiros. Por outro lado, os blogueiros estão registrados no serviço e podem solicitar chaves para revisar o jogo. Em teoria, isso parece bom. Mas isso é apenas na teoria. É uma pena que eu não tenha pesquisado no Google comentários preliminares sobre o Keymailer.

Este serviço é monetizado pelos desenvolvedores, não tenho nada contra, apenas lembre-se. Em uma assinatura gratuita, quase todas as funcionalidades são cortadas. Joguei US $ 50 em publicidade - o jogo é exibido por uma semana em algum lugar importante do Keymailer. Sim, existem muito mais pedidos de chaves de "blogueiros". Mas, parece-me que a ideia deste serviço é cruel, se você pensar sobre isso. Um canal mais ou menos grande não precisa lidar com solicitações importantes por meio de um Keymailer, possui conteúdo suficiente e a compra de novos produtos não causa dificuldades. Talvez eu esteja errado, mas me pareceu que o Keymailer é usado principalmente por usuários desonestos para atrair chaves gratuitas, para si ou para revenda.

Aceitei solicitações apenas de canais com assinantes (bem, pelo menos 5 a 10 mil) e daws "Acreditados" do Keymailer. Eu entreguei 65 teclas, 47 delas estão ativadas, outras 18 ainda estão sendo vendidas em algum lugar, provavelmente (por exemplo, eu encontrei meu jogo no plati.ru). Como resultado, recebi 6 (seis) vídeos do YouTube e um tweet. Com algumas dezenas de visualizações ... Não repita meus erros.

Mas nem tudo é tão triste. O envio antigo de cartas manualmente no YouTube mostrou-se bastante bom. Depois de passar a noite e provar ao Google muitas vezes que "eu não sou um robô", coletei no YouTube cerca de 30 e-mails de jogadores apropriados que falam russo. Os critérios de seleção são simples: assisti a jogos independentes, não muitos assinantes (mas poucos, escolhi entre 100 mil), não é especialista em jogos AAA, não é especialista em nenhum jogo em particular (Minecraft, Tanks).



Em seguida, você precisa da letra correta. Se minha memória me serve, li estas dicas de Sergei Galenkin (não darei um link, uma pessoa famosa na indústria de jogos). Na minha recontagem livre, eles são assim:

  1. A descrição mais concisa do jogo, não mais que duas frases: "Um jogo no cenário das obras de Howard Phillips Lovecraft, que é inteiramente enquadrado na forma de uma história em quadrinhos interativa".
  2. O que voce quer "Seria legal se você jogasse meu jogo no canal."
  3. Um gif interessante de até 2 MB diretamente no corpo da carta (eu inseri um baú mais alto).
  4. Link e chave do Steam. Em geral, o principal é breve e direto ao ponto.

E eu quero dizer que a resposta é bastante para mim! Até 4 canais publicaram vídeos no jogo e até um "milionário" respondeu à carta. Isso por si só é uma conquista! Dado que o jogo está longe de ser super adequado para streaming. É verdade que, infelizmente, um boletim semelhante sobre blogueiros que falam inglês falhou. O meu inglês imperfeito é o culpado ou não pude escolher os canais de destino certos.

Conclusão


Ufa! É hora de fazer um balanço. O tópico está ficando mais longo do que eu planejava. Vamos resumir o financeiro, ou algo assim. No Steam, vendemos cerca de US $ 1000, mais US $ 70 (com desejo de doá-los para o desenvolvimento da loja), além de algumas centenas de dólares em lojas móveis. Este é um bom resultado? Eu acho que não é ruim! Dado que no mundo moderno quase não há lugar para o indie, se você não é uma "estrela", é claro. E eu sou a "média" usual, devo admitir. E embora o jogo tenha sido pequeno, é exatamente como eu imaginava. E o mais importante, completo e completo. Então, eu estou satisfeito.

PS Desculpe por alguma confusão na história, para criar textos claros e consistentes, sempre saí mal. É com satisfação que falo sobre os detalhes ausentes nas respostas às perguntas. PPS Adoro ovos de páscoa e segredos, por isso três chaves do Steam estão ocultas neste tópico. Desmonte!

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


All Articles