IMPUNES continua pausado... E NOVO JOGO! (Trailer)


Introdução

Farias, que é o principal programador do IMPUNES, está sem tempo para ajudar, e visto que há somente 3 membros ativos, mesmo que eu (Junior_Djjr) saiba programar, desde o início eu estou encarregado da modelagem, e eu nunca programei um jogo completo, portanto eu prefiro que IMPUNES seja programado principalmente pelo Farias, que trabalha profissionalmente nisto, portanto ele faria algo melhor.

Nós da 2nibble temos 4 outras ideias de jogos, mas infelizmente somos uma só equipe, de atualmente só 3 pessoas (Junior_Djjr, Meck e Vítor Kuhn). Nós decidimos começar a focar numa dessas ideias.

Antes que você pense negativo, na verdade, um projeto paralelo nos vai ajudar muito com aprendizado e alguns sistemas podem ser reutilizados. Portanto o IMPUNES voltará muito mais forte do que antes!

IMPUNES está pausado há 2 anos (desde 2018; desconsiderando 3 meses usados em uma remasterização para a câmera baixa em terceira pessoa). Durante esse meio tempo, nós criamos o NPD e fizemos 2 protótipos de jogos ainda sem detalhes, um jogo mobile de corrida e um puzzle inspirado em Portal com mecânica inédita. Mas decidimos iniciar uma outra ideia, e começamos ela em Fevereiro deste ano.


Assista ao vídeo que mostra a situação atual do IMPUNES, explica de forma resumida, e mostra o gameplay do nosso novo jogo, também com explicações resumidas:


Novamente, este vídeo resume tudo, e com somente 4 minutos mostra muita coisa interessante sobre ambos os jogos.



Resumo

Warpunk se trata de um jogo RTS (Real Time Strategy; estratégia em tempo real) multiplayer que se passa num universo de ficções punk.


O jogo conta com 3 raças:

Steampunk

Tecnologias à vapor e metais. Inspirado na era vitoriana, mas inclui tecnologias como energia elétrica.

Solarpunk
Tecnologias ecológicas e energia limpa.

Cyberpunk
Tecnologias de cibernética e muitos neons.

Cada uma pode lutar contra raças diferentes ou iguais.


Gameplay

O gameplay se resume em construir construções, gerar energia, coletar recursos, construir unidades de combate e realizar pesquisas para liberar upgrades, e finalmente, destruir todas as construções e/ou unidades dos inimigos. Semelhante à maioria dos jogos RTS, mas inspirado principalmente no Earth2150 e Age Of Empires.

No futuro haverá um modo campanha e singleplayer básico, mas no momento o foco é multiplayer.

O multiplayer funciona de cliente para cliente, ou seja, focado para você jogar com amigos utilizando a Steam. Mas provavelmente também haverá como hospedar salas públicas. Não haverá nenhum tipo de servidor nosso, nem rankings.


Mapa

O mapa é gerado proceduralmente, sendo assim, cada batalha é uma nova experiência.

Num modo de jogo comum, os jogadores aparecem em locais aleatórios, normalmente num mapa procedural, sendo assim, ninguém sabe exatamente onde o outro está, o que pode gerar uma jogatina cheia de surpresas.

O gameplay pelo mundo é modular, ou seja, não existe bases estáticas, você tem a liberdade de construir o que quiser em qualquer lugar, desde que você consiga coletar os recursos para conseguir construir, e tais recursos podem estar espalhados em diferentes locais do mapa. Em outras palavras, é um RTS de mundo aberto e procedural.

"Ah, mas um mapa gerado proceduralmente é só algo aleatório, não é natural e tático", está certo meu caro questionador anônimo, mesmo que a geração procedural seja minimamente sofisticada, havendo até mesmo estradas com casas, há também um editor de mapa dentro do jogo.

Além de uma seed que pode ser compartilhada (como no Minecraft), você pode jogar mapas criados por você ou pela comunidade, utilizando um editor de terreno e objetos que roda dentro do jogo, e você pode editar os mapas gerados para deixá-los melhores.


Sonoplastia

Temos noção da importância de uma boa trilha sonora. Cada civilização terá suas próprias músicas de fundo durante o gameplay. Provavelmente vozes informativas em português e inglês (queremos contratar profissionais para isto; se você tem microfone profissional, nos contate), e estamos prestes a gastar em torno de 700 reais com licenciamento de músicas.


Especulações finais

Quando concluído — o nosso objetivo é uma versão alpha ainda em 2020 — será vendido na Steam com um preço que pode variar em torno de 10 reais. O preço pode aumentar ou abaixar conforme a qualidade do trabalho final.
Depois do gameplay multiplayer totalmente funcional, pretendemos algum modo campanha básico.
Não temos certeza sobre a criação de ferramentas de suporte à mods, pois não é tão prático e útil em jogos focados em multiplayer competitivo.


Progresso atual

Eu (Junior_Djjr) estive trabalhando neste jogo quase todos os dias durante 3 meses (desde Fevereiro de 2020).
É o primeiro jogo que eu estou realmente programando (Nibble: Pizza Delivery foi programado pelo Farias).
Até o momento eu já programei 19 mil linhas de código (se considerar a programação de ferramentas, testes, códigos deletados, recriados etc acredito que é em torno de 25 mil).

Já foi criado:

Gerador de mapa procedural
A base do funcionamento está feita, mas ainda há muito pela frente.

Ainda tem muito o que melhorar para ficar algo realmente natural e complexo, mas não vamos focar tanto nisto pois provavelmente será mais comum pessoas usarem mapas criados manualmente. De qualquer modo, a geração procedural é útil para gerar um mapa inicial para em seguida fazer edição manual.
Utiliza uma mistura de diferentes gradient noises, como o ridged multifractal noise (muito usado nas montanhas e praias) e simplex noise (para criar detalhes finos, como imperfeições).
E a água não é um plano gigante embaixo do solo, são tiles que só são visíveis conforme um algorítimo. E há também um outro algorítimo que evita a geração de águas ou ilhas pequenas demais (um problema comum em mapas procedurais).
Aproveitando, se você é programador Unity, eu agradeço qualquer ajuda na programação de uma geração de mesh baseada nas laterais do terreno, para assim, em vez de tiles, gerar uma mesh de água.
Mesmo que este mapa procedural não seja algo tão sofisticado, eu estou começando a ficar feliz com o resultado, está ficando ótimo para os padrões de um RTS.
A geração inclusive cria estradas de terra com casas. Mesmo que as estradas não sejam realmente úteis como um caminho, gerou uma boa imersão, deixando o cenário mais complexo.

Editor de mapa
Além de mapas aleatórios, Warpunk tem um editor de mapa implementado dentro do jogo.
Ainda é um protótipo, mas com base funcional. Ainda não há interface, salvamento/carregamento de mapas, nem editor de objetos.
O importante é, não é só uma edição de terreno com texturas automáticas, você pode pintar o terreno com brush de diferentes texturas, e não estou falando de um círculo, é de fato um brush, que utiliza imagem, como editores de imagem, como Photoshop.
Tudo foi muito difícil de conseguir, e eu estou muito feliz que eu tenha conseguido, pois eu vejo a edição de mapa como um ponto crucial para este jogo.

Estilos de ambiente
Não haverá só este ambiente de floresta tropical (que inclusive é inspirada no Brasil), mas também uma floresta fria (de pinheiros), deserto de areia, e neve.
Cada um com suas texturas, vegetação, props entre outras características.
Por exemplo, armas que causam efeito de calor serão menos potentes em ambiente de neve. Floresta tropical chove muito, e isto diminui a intensidade do sol, fazendo com que a energia solar do Solarpunk seja menos aproveitada (ideias futuras).
No momento, todos os props e a vegetação está sendo modelada pelo Meck utilizando Blender, com um estilo que é otimizado para câmera alta, tanto visualmente quanto no desempenho gráfico.

Construções
O jogo haverá diferentes fábricas, geração de energia, coleta de recursos etc para cada civilização, inclusive utilizando diferentes mecânicas. As construções estão sendo modeladas por mim, Meck e Vítor Kuhn, sendo que o trabalho de finalização e otimização fica por conta do Meck.
Ainda há somente 2 construções não finalizadas, que é a geração de energia e fabricação de unidades do Steampunk, criadas para ter uma ideia de estilo das construções futuras. Se nota que nem há janelas ainda, faltam muitos detalhes e melhorias, mas já dá para ter noção.
Perceba também que o jogo é semi-baseado em grade. As unidades andam livremente, mas a parte da construção funciona por uma grade.
A parte que realmente constrói as construções ainda não foi feita, mas basicamente funcionará levando uma unidade construtora até o local, e assim iniciará uma animação de construção.

Interface
Obviamente a interface do jogo não será como o mostrado atualmente, mas já dá para ter uma noção do layout.
A interface ainda será minimamente estilizada e com botões melhor imaginados.

Movimentação de unidades
Para total desempenho de centenas de unidades, o jogo não utiliza física. A movimentação é simples, mas eficaz, utilizando A* Pathfinding como base, que usa vários núcleos do processador para encontrar o caminho mais curto para cada unidade (pode usar todos, mas notei que acima de 4 núcleos não é benéfico, pelo menos para o i5 9600KF (6 núcleos) que tenho hoje).
Um detalhe interessante é que, por árvores atrapalharem demais a locomoção pelo mapa, elas são derrubáveis ao passar por elas, mas as unidades não simplesmente passam nas árvores como se fossem nada, a inteligência artificial calcula se vale ou não a pena derrubar a árvore, ou desviar dela. Por exemplo, se o desvio for grande demais, a unidade prefere derrubar as árvores.
Pouco ainda foi trabalhado. Provavelmente haverá diferentes modos de formação de esquadrão, e "gravar" e "tocar" sequências de comandos.

Seleção, múltiplas seleções
A experiência de usuário é muito importante num jogo RTS, e pensando nisto, estou dando prioridade à maneira que o jogador seleciona múltiplas unidades e construções do jogo.
Múltipla seleção de unidade é básico, mas em vários jogos RTS não sofisticados não é possível selecionar e editar múltiplas construções ao mesmo tempo, como fábricas, e Warpunk é uma exceção. Mesmo que você selecione construções de diferentes tipos, o jogo lhe dará todos os botões de todas as construções que você selecionou, para comandar várias ao mesmo tempo. Isto é muito útil para desligar todas ao mesmo tempo, dar os mesmos comandos para diferentes fábricas, centros de pesquisas etc.

Montagem de unidade
Até o momento, o sistema mais complexo do jogo (mais de 1 semana pra ser criado).
Funciona como um sistema de "tuning" de carros. Você escolhe o corpo, e em seguida há slots (espaços) de ataque e defesa para você clicar, e assim selecionar a arma (ou blindagem, ou campo de força, qualquer coisa). A UX foi organizada pensando em ações rápidas, e todas as informações visíveis para o jogador à todo o momento.
Cada corpo, cada arma, cada upgrade, tem um custo e tempo de produção, e é claro, dano, alcance, vida etc.
Em vez de ícones e texto, tudo funciona como visualização do modelo 3D rotacionando na tela em forma de prévia, e lá você visualiza a prévia da sua unidade final com todos os upgrades instalados e suas estatísticas, custo, tempo de produção, tipo de locomoção etc.
Você pode nomear as suas unidades construídas, e os outros jogadores poderão ver o nome que você deu (um pequeno detalhe que pode gerar umas zoeiras).
Caso você não dar o nome, o próprio jogo gerará um nome para você com base no nome do corpo, e utilizando um extenso dicionário de palavras relacionadas com aquela raça. Por exemplo na Steampunk há palavras como "Victorian", "Inventor" e "Furnace"; Solarpunk há "Heartwood", "Salmonberry" e "Symbiosis"; Cyberpunk há "Computeritis", "Nano" e "Orwellian".
Não só isto, a geração de nome também considera o tipo de locomoção, por exemplo na água, Steampunk pode selecionar "Whale"; Solarpunk "Chordata"; Cyberpunk "Bait" etc. E o mesmo vale para o ar, e veículos anfíbios (por exemplo, "Frog"). Cada dicionário há em torno de 70 à 100 palavras. Mesmo que não seja algo espetacular, eu gostei da ideia, é muito melhor do que utilizar números.
Por fim, as unidades salvas ficam numa lista de fabricação (compartilhada entre todas as fábricas da sua base, desde que sejam do mesmo tipo de locomoção). E você pode clicar num botão do lado da prévia para reabrir a interface, e assim editar a sua unidade já criada com novos upgrades que você liberou.
Cancelar uma unidade atualmente sendo fabricada, gera um processo de "reciclagem" até que a nova unidade se inicie. Durante a reciclagem, os recursos gastos voltam (mas não 100%). Haverá também um centro de reciclagem para você reciclar unidades já fabricadas.
Você pode, com certeza, montar uma lista ordenada de quais unidades são construídas, inclusive quantas de cada uma. O sistema é idêntico ao Earth2150, isto é, a ordem que você clica em cada unidade, será a ordem de execução, e clicar mais de uma vez em uma, criará uma lista de execução, e será mostrado um número e uma barra de progresso da fabricação atual, e total (contanto todas as repetições).
Você pode perceber que a interface não mostra algumas informações importantes, não se preocupe, ainda há muito pela frente, muita coisa ainda será feita.

Árvore de upgrades, pesquisa
Outra coisa que me rendeu 1 semana de trabalho (na verdade, eu esperava mais).
Como todo bom RTS, você tem uma árvore para liberar upgrades, normalmente peças, como armas cada vez melhores, e é claro, para ter bons upgrades, você começa do começo.
Você clica em algum upgrade, e o jogo gera uma linha de execução até aquele upgrade, assim, cada upgrade é "pesquisado" utilizando recursos coletados, e tempo. Cada upgrade liberado, aparece na interface de montagem de unidade.
Uma mecânica interessante, é que você pode sim ter mais de uma central de pesquisa trabalhando junto, e você pode sim liberar um upgrade mais rapidamente quando duas centrais de pesquisa trabalham na mesma coisa, no entanto, a cada central de pesquisa adicional, o custo de produção aumenta e o tempo de produção não cai pela metade. As porcentagens ainda não foram escolhidas pois isto é algo a ser decidido durante os testes de balanço de gameplay.
Assim como a fabricação das unidades, há também a reciclagem, que retorna gradualmente os gastos atuais caso você a cancela.
Do lado do técnico, eu montei o sistema da lista de upgrades utilizando uma visualização gráfica com nodes (nós). Isto é facilita muito a organização das ordens e configuração de propriedades de cada upgrade, o que é importante no momento de configurar o balanço do gameplay.

Pássaros
O jogo inclui pássaros procedurais que viajam em bandos pelo mapa, e podem pousar em locais determinados (por exemplo nas construções que você constrói).
Neste caso eu não programei o sistema, foi comprado pronto (40 reais muito bem gastos). Meck ainda modelará mais variações de pássaros.
O ambiente de estilo tropical é baseado no Brasil, portanto haverá pássaros brasileiros nele com seus próprios áudios.
Estamos pensando em adicionar outros animais selvagens decorativos, mas não é prioridade.

Ciclo de dia e noite, climas
Foi criado todo o sistema de relógio e calendário, e por fim, o ciclo de dias e noites do jogo, inclusive climas.
— na imagem acima as construções estão com texturas provisórias, portanto não há janelas ainda —
O sistema é modular e preciso. É possível inclusive avançar anos simplesmente enviando um valor de horas.
E é claro, para uma boa imersão, há climas, como chuva e névoa.
Eu estou muito feliz com o resultado da chuva. Eu utilizei efeitos especiais criados pelo Digital Ruby, o mesmo criador do sistema de nuvens volumétricas do IMPUNES.
Eu criei transições graduais naturais para a chuva, que pode chover mais, menos, há tempos nublados, as nuvens se formam gradualmente fechando o céu, alteração de vento que inclusive altera a maneira que as fumaças e vegetação do jogo age (no vídeo o tronco das árvores estão sendo impactados pelo vento; já foi corrigido com vertex color), e por fim, o chão se molha, e continua molhado, sendo seco gradualmente baseado na intensidade atual do Sol, além da chuva limpar unidades sujas, e chão molhado sujar mais quando a unidade anda.
Há também o clima de névoa, que tem mais chances de ser iniciado em manhãs, e em breve vou usar a chuva como base para criar a neve caindo. Também falta raios, que, mesmo com a câmera não mostrando o céu, ainda será necessário criá-los pois são visíveis no reflexo da água.

Shaders próprios
Este jogo está longe de ser um "asset pack", mesmo os shaders foram criados por nós.
Eu (Junior_Djjr) criei um shader de água para suprimir somente as necessidades do jogo — afinal, não precisamos de uma água sofisticada com vertex displacement etc. Deste modo, mesmo bonita, a água tem um excelente desempenho gráfico.
O reflexo da água é em tempo real. Eu utilizei um script que gera um cubemap "assíncrono falso", isto é, cada frame captura um lado do ambiente ao redor da câmera e aquele lado é jogado para o reflexo, e este mesmo reflexo é utilizado em literalmente todos os reflexos do jogo, sendo assim, devido ao jogo ser baseado em PBR, numa só captura de reflexos é possível ter não só os reflexos, mas em geral uma iluminação que combina com o ambiente ao redor. O desempenho ficou muito bom, ocupando somente 0,8 milissegundos de processamento em uma cena básica numa GTX 1050 2 GB.
Unidades e construções utilizam um shader que, além de detalhes pintáveis para diferenciar jogadores, suporta acumulação de neve realista adicionada somente na parte de cima do objeto. A mesma acumulação de neve será usada para todos os props do jogo em cenários de neve. E é claro, a acumulação é gradual.
Nos cenários de terra, quando a unidade anda, é acumulado uma leve poeira no corpo e muita terra/lama nas rodas (como as lagartas dos tanques). Ao chover, a sujeira é limpa, e devido ao chão ficar molhado (com lama), ao andar irá sujar mais do que quando o clima está seco, assim como na vida real.
Mas o real destaque está no shader de texturas stochastic procedurais, que soluciona completamente a repetição de texturas.
Se trata de uma adaptação do rotoscope baseado no paper de Thomas Deliot e Eric Heitz, e por fim implementada por mim (Junior_Djjr) no shader de terreno da Unity com Universal Render Pipeline.
Assim, o terreno do Warpunk não terá tiling com efeito de repetição de textura, como é visto de costume em vários jogos.
O resultado me deixou de boca aberta, não há nenhuma repetição notável, nem corte de interseção, e eu não notei nenhuma queda de desempenho do jogo. Mesmo assim, nós podemos simplesmente dar a opção de desativar isto. É basicamente uma mistura procedural de um UV mapping triangular baseado numa textura já existente, ou seja, melhor desempenho do que materiais procedurais do Substance.
Nós usaremos isto também para algumas texturas do IMPUNES, como gramas.
Você também quer isto em seu jogo? Liberamos gratuitamente no Github.


Curta a página da 2nibble no Facebook para acompanhar o desenvolvimento deste e outros projetos:


Nós contamos com vocês num futuro crowdfunding (financiamento coletivo) para cobrir custos de produção e licenciamento de músicas, e é claro, você receberá prêmios por isto. Faremos dentro de alguns meses.

Diferente do IMPUNES, que está em fase de prototipagem, nós já estamos incentivando que você divulgue o Warpunk, e podemos fazer futuras parcerias com isto. Caso dúvidas, nos contate na página do Facebook. Há também um tópico no Fórum MixMods para discussões.

Aviso:
Dê sugestões de mods para serem postados aqui (fórum) ou aqui (formulário).
Dê ideias de mods para GTA aqui.
É proibido discutir política, ideologias e religião aqui. Isto é um site de jogos.
Abrir Comentários