Jogo IMPUNES: Achou que eu tava brincando?

Introdução

Para quem não viu, mês passado eu anunciei que eu voltei a trabalhar no nosso jogo IMPUNES diariamente desde o início do ano (pulei só um mês), ou seja, finalmente tratando esse projeto de maneira séria.

Lá eu fiz uma grande postagem mostrando tudo o que já foi feito no jogo durante esse tempo:

Jogo IMPUNES: Voltando com tudo!

1 mês e meio depois, aqui estão as novas coisas que eu (Junior_Djjr) fiz no jogo:


O que foi feito:

  • Roda de armas inspirada no GTA V, mas melhor.
  • Menu de pausa inspirado no GTA V, mas melhor.
  • O minimapa já está praticamente 100% pronto como produção final. Inclusive o desenho dele.
  • Adaptação de hud para qualquer aspect ratio (como monitores ultra wide, desde 800×600 até 4K).
  • Adicionado nuvens volumétricas [o mesmo sistema que compramos há anos atrás], incluindo um total novo sistema de ciclo de dia e noite e estações do ano.
  • Criado sistema de contadores de valores, barras e tempo na tela (para ser usado em missões etc).
  • Adaptado diversos tipos de armas placeholders (pistola, fuzil, shotgun, sniper, lança-mísseis, faca, espada, lanterna).
  • Criado centenas de shader maps para texturas que faltam, principalmente normal/bump maps e ambient occlusion maps.
  • Melhorias no controle do personagem e câmera.
  • Usar a mão para empurrar portas e portões.
  • Sistema de fogo com espalhamento.
  • Minigame de chutar pênalti.

 


Minigame de pênalti

Direto ao mais divertido: Eu criei um minigame para bater pênalti em qualquer gol de qualquer quadra do jogo!

Não tem como ser um GTA brasileiro sem ter futebol envolvido. Claro, é difícil demais criar toda uma mecânica de jogar futebol (será que no futuro eu farei??), mas chutar pênalti já é divertido o bastante.

Não é muito importante fazer esse tipo de coisa logo no início do desenvolvimento do jogo, mas eu não me importo, o meu objetivo principal é finalizar, de qualquer forma, eu faria isso em qualquer outro momento. A bola foi feita pelo Meck.

Também, não é só um minigame, é toda uma base de sistema de atividades. Em outras palavras, a base agora está pronta para adicionar mais minigames e atividades sem muito trabalho.

O minigame ficou simples mas legal, com boa curva de aprendizado. No futuro daria para fazer uma AI de goleiro, e estaria mais próximo de um real jogo de futebol de quadra. Também pretendo basquete.

 


Roda de armas

O conceito de seleção de armas em forma de roda já existe desde muito antes do GTA IV, e está cada vez mais obrigatório em qualquer jogo do gênero.

Meu objetivo: uma roda de armas limpa, simples, com personalidade, que não ocupa muito a visão e sem poluição visual.

A roda de armas do GTA V é boa, é uma boa fonte de inspiração, mas eu encontrei vários problemas para melhorar:

Problemas:

  1. A Rockstar teve a ideia de haver “caixas” onde as armas são mostradas no meio, o problema é que nem todas as armas encaixam dentro desse espaço, enquanto outras encaixam, isso causa a sensação de desorganização.
  2. Cada espaço pode guardar mais de uma arma, mas você não vê quais são as outras, e pior, para você ver que tem mais do que uma arma, é necessário você olhar para o número embaixo do nome da arma que fica no centro da roda, não na arma. Isso causa confusão e lhe faz não notar que você tem mais de uma naquele espaço.
  3. A ideia da Rockstar foi deixar o centro da roda vazia, para preservar a visão de onde você estava mirando antes de trocar a arma, mas eles quebraram isso, pois quando você tem uma arma com silenciador etc, aparece textos grandes exatamente no centro, tapando a visão. Inclusive, eu acho a visão de fundo borrada até demais. Engraçado que o GTA Trilogy quebrou isso também, colocando o nome da arma exatamente no centro em vez de levemente pra cima.
  4. Não há personalidade. Ninguém olha para um ícone de armas do GTA V e fica “uau, que nostalgia, quantas lembranças”, agora pense num ícone de arma do GTA San Andreas, há tanta personalidade que as pessoas até tatuam eles!
  5. Até hoje eu não acredito como que a Rockstar programou a roda de armas no mouse. Eles só simularam a posição do analógico, ou seja, existe uma dificuldade maior em selecionar os cantos diagonais, e por exemplo, se você está com o mouse em cima, mas quer a arma do lado (diagonal superior direito), a sua reação natural é arrastar o mouse pra direita, mas ele seleciona a arma direita, não na diagonal. É um erro de UX simplesmente bobo e muito fácil de ser resolvido.

Soluções:

  1. As armas de fato têm diferentes tamanhos, e mesmo se usar ícones quadrados, o espaço é menor nas diagonais. Portanto em vez de tentar encaixar no espaço, faça o espaço aberto: deixe as extremidades esfumaçadas, como se não tivesse um fim, ou seja, os ícones ficarão propositalmente soltos pra fora.
  2. Coloque as setas de seleção da arma do lado do próprio ícone da arma (não é óbvio?) e mostre o ícone minimizado dos lados, para você ter uma prévia do que você tem em cada lado, agilizando a troca. Eu também pensei em abrir uma segunda roda externa para a escolha, mas isso criaria limitação da quantidade de armas. E pretendo colocar um indicativo de número em algum lugar.
  3. Em vez de um texto, simplesmente use ícones para identificar quais são os attachments daquela arma. No caso da minha roda eu não coloquei pois ainda não pretendemos adicionar tal sistema no jogo, provavelmente no futuro.
  4. Esses ícones do formato real da arma, virada de lado, são muito sem graça, estilo muito rodado, precisa inventar algo mais único, por exemplo na diagonal estilizado, como era nos GTAs clássicos. Eu ainda não inventei, mas pretendo algo assim, mas que seja fácil de fazer, pois a minha ideia é que seja possível adicionar armas como forma de mod/addon.
  5. Eu programei uma seleção de roda de armas no mouse melhor do que GTA V com somente 10 linhas de código (sem o problema que eu mencionei acima). Duvida? Está aqui o código, uso livre. 

Enfim, foi isso o que eu consegui, uma roda de armas ainda mais simples e agradável do que a do GTA V. Obviamente os ícones e textos são placeholders que ainda serão trocados.

 


Menu de pausa

Eu fiz a mesma “ciência” também no menu de pausa.

Meu objetivo: Um menu simples e bonito, mas que tenha alguma personalidade, sem poluição visual, que você tenha fácil visão de cada elemento da janela (sem muitas mudanças de layout) e de fácil expansão.

De novo o menu do GTA V é uma boa inspiração, principalmente porque é relativamente simples de ser programado, mas quando parei pra analisar, há uma quantidade de problemas graves…

Problemas:

  1. O item do menu atualmente selecionado é com fundo branco, no entanto, o anteriormente selecionado (pai ativo) também é branco, e o outro também… É um erro de UX que nem um amador faria, sinceramente. Você às vezes se perde onde está a sua atual seleção, pois as seleções anteriores estão da mesma cor.
  2. Alguns painéis de configurações, principalmente o de configurações gráficas, são muitas linhas, relativamente pequenas, que o nome está na esquerda, e a opção está na extrema direita, você precisa ficar movendo os olhos de maneira muito distante para ver qual é cada opção configurada. Eu notei o problema desde a primeira vez que abri esse menu no jogo.
  3. Outra coisa que eu sempre odiei é a necessidade de por exemplo apertar Enter para começar a trocar uma opção, e voltar para confirmar, ir para o próximo item, entrar de novo etc. A navegação, especialmente no menu de opções, é muito travada e nada agradável, e às vezes você fica confuso se você está ou não dentro de uma troca de opções ou troca de linha, pois a cor não difere.
  4. Não existe fundo, somente existe elementos, e a separação dos elementos é o fundo do jogo. Isto é muito feio, olhe o rosto do Franklin acima, não tem como achar isso bonito, é bagunçado, não há limitações claras do layout do menu, e o fundo é brilhante demais causando poluição.
  5. Não está muito claro quando um menu é escrolável. Eles tentaram deixar “minimalista” colocando um indicador no final, mas às vezes você não nota, ou não entende que aquilo indica que há mais coisa embaixo, na real parece um botão.
  6. Algumas barras são números pré-definidos de opções (passos), por exemplo você pode selecionar 5 níveis, mas elas não indicam com traços onde são os níveis, eu sempre achei isso um leve incômodo em vários jogos.
  7. O mapa é a guia selecionada por padrão, o que faz sentido, mas ela é a primeira da lista. A segunda é o resumo, que também é uma guia frequentemente acessada. Para ir até o final do menu, se aperta pra esquerda para inverter o final, mas nós não temos naturalmente essa ideia e várias vezes ficarmos apertando pra direita até o final. Perceba que com essa lógica, a guia “Game”, que também é importante, é a mais confusa de ser rapidamente acessada, e a “Settings” é a mais distante, sendo que ela fica no meio.

Soluções:

  1. Os itens ativos (pais, anteriormente selecionados) são marcados com uma linha para a direção onde o menu foi navegado. Por exemplo, a guia “Settings” indica pra baixo, “Audio” indica pra direita.
  2. Em vez do texto da direita ser alinhado na direita, alinhe na esquerda a partir do centro do painel. Por que não? Assim os textos não ficam tão distantes, sem aquele espaço vazio gigantesco no centro.
  3. Em vez de entrar e sair da seleção de opções, entre uma vez e continue lá, trocando as linhas normalmente, por que não? E use uma cor de destaque para deixar claro que você está dentro da seleção de opções.
  4. Essa remoção de fundo parece uma frescura contra os “design boxy”, de fato é interessante para apresentações de web design, mas eu acho péssimo para a UX de um jogo, especialmente num menu com muitas opções. Neste caso, eu acho muito importante que o menu todo seja definido num layout de caixa estática onde as pessoas entendem claramente as extensões da janela, sem o fundo estourar por cima de onde você está vendo.
  5. Outra coisa que eu acho frescura é a remoção da barra de scroll. Mesmo que esteja jogando com um gamepad, a barra de scroll é um padrão universal, você nem precisa tocar nela (pense em smartphones), ela é um indicador importante de onde você está, que aquela janela é escrolável e o quão grande ela é.
  6. Para separar as barras com níveis de passos pré-definidos, adicionei traços separando cada nível, e o número de traços é de fato os níveis que você pode selecionar. Por ter só 2 traços, ou 10…
  7. Eu deixei a guia ‘Mapa” no centro, “Jogo” na esquerda e “Resumo” na direita, sendo que as extremidades são as coisas menos acessadas: “Perfil” e “Configurações”. Isto dá uma melhor visão de que você começa do meio e aperta somente 1 ou 2 vezes pro lado para alcançar qualquer guia, algo que no GTA V você inconscientemente apertaria 5 vezes para ir até o outro lado. Eu prefiro evitar essa ideia de “aperte pra esquerda para ir para a direita”, pois não é intuitiva para a nossa mente.

E é este o resultado. Eu demorei quase 1 semana programando todo o sistema de menu, e está basicamente pronto, só falta botar o conteúdo. No momento eu só fiz um pequeno sistema de trocar configurações do jogo.

Perceba que no “Valdir” (meu nome) eu quis colocar o nome do seu jogador em vez de “Perfil”, para ficar algo mais humanizado. Lá eu penso em colocar todas as informações sobre o seu jogador, estatísticas do gameplay etc.

Modéstia à parte, este menu ficou mais bonito e com User eXperience melhor do que o do GTA V (algo que não é tão difícil assim de ser alcançado, eu nunca vi alguém elogiar o menu do GTA V).

Ok, mas e a guia do mapa? Tem algo nela?

 


Minimapa/radar

Eu evito elogiar meus próprios trabalhos, mas eu não consigo deixar de dizer que isto ficou lindo…

Desde o início eu falei: eu quero um desenho de mapa bonito, icônico, e eu fiz esse, inspirado no GTA San Andreas, mas com menos cores e mais tons de cinza para mais detalhes.

O tom de cinza médio indica os “semi obstáculos”, geralmente coisas que estão lá mas não necessariamente são um obstáculo para você, ou então, a área de lazer dos prédios (deste modo o formato da torre do prédio fica em branco).

Isto não é uma imagem, é uma mesh 3D com materiais pintados, portanto haverá como você carregar ou criar seus próprios estilos de cor nas configurações do jogo! Eu também pretendo deixar a opacidade configurável.

Ultimamente os jogos estão deixando o minimapa cada vez mais enxutos e sem graça, sem personalidade. Por exemplo o minimapa do GTA IV e do GTA V de nova geração, que é só um negócio preto com tons de cinza. Jogos de corrida são literalmente só a rua. O meu objetivo foi algo icônico, memorável.

“Ah, mas fazem dessa forma porque não querem mostrar detalhes demais do mundo do jogo, o seu minimapa mostra detalhes demais.”, eu não me importo, colocando na balança, eu prefiro algo bonito, cheio de cores e detalhes, do que algo chato e sem graça. Lembre-se, o minimapa é parte essencial do visual do jogo, está na sua visão a todo o momento, não é um simples detalhe.

E em comparação com o minimapa do GTA Trilogy, perceba que este também tem perspectiva e o cursor que indica a posição do player também é levemente afastado do centro. Mas não há nenhuma imprecisão do cálculo de posição e desenho (como acontece no GTA Trilogy onde o player aparece dentro de prédios e muda a posição conforme gira a câmera), aqui tudo é milimetricamente preciso (como a GSG errou em algo tão simples??), e eu achei um erro o GTA Trilogy deixar o cursor do player tão pra trás, e com tanta perspectiva, você vê muito o que está na frente, mas quase nada do que está atrás, assim atrapalhando ver os inimigos que estão atrás de você. E como você pode ver, não tem a porcaria do serrilhado como no GTA Trilogy.

 


Controle do personagem

Eu ajustei bastante a velocidade e blend das animações de andar. Ainda não pude me dedicar à melhorar as animações, e eu acho que é melhor esperar alguém específico para trabalhar nas animações do jogo.

Mas algo muito legal que eu fiz, foi a mão empurrando portas e portões dinamicamente, automaticamente, igual GTA V.

Perceba também que ao segurar uma arma na mão direita, ele usará a mão esquerda, exceto se a arma for pesada demais para segurar com uma mão só (como uma RPG), neste caso não usará mão nenhuma.

Para isso eu fiz um controlador para definir qual mão está ocupada, e qual a importância de cada mão. Eu espero que algo assim possibilite, no futuro, o personagem por exemplo segurar uma lata de refri numa mão e ainda conseguir usar uma pistola com a outra. Veremos se eu consigo.

Ainda tem bastante coisa para refinar no controlador do personagem, ele é muito completo e avançado mas não tão cosmeticamente polido como jogos AAA, mas não é tão importante agora e requer maiores trabalhos com animações.

 


Nuvens e clima

Adicionado novamente ao projeto as nuvens volumétricas do Digital Ruby, a solução é baseada em soluções open source e no paper oficial do jogo Horizon: Zero Dawn.

Eu já havia criado todo o sistema de calendário, relógio e transição de dia e noite do IMPUNES, além de um simples sistema de clima (que eu pretendia recriar pois era básico demais), portanto eu pretendia usar somente as nuvens, mas eu gostei tanto do sistema de dia e noite desse asset que eu vou jogar tudo fora (na verdade, provavelmente vou polir para vender barato na Unity Asset Store), e assim migrar todo o jogo para esse novo sistema.

Além de nuvens lindas, bem otimizadas e com muitas opções de formações e níveis de qualidade (claro, você pode desativar as nuvens volumétricas, pois elas são pesadas), todo o sistema de ciclo de tempo é muito caprichado.

IMPUNES é inspirado em Balneário Camboriú – SC, portanto eu configurei a latitude e longitude conforme a cidade real para ver se o posicionamento do Sol é realista, e para a minha surpresa, o horário de nascer e pôr do Sol se bateu com o site sunrise-and-sunset.com.

É sério, dentro do jogo, em Junho o Sol se põe às 17:30 e em Janeiro às 20:00. Se você perguntar para alguém que mora em BC, vai dizer que é isso mesmo.

A lua também tem posicionamento realista, variando cada dia, mês, ano, naturalmente gerando as fases da Lua. Eu estou até curioso se é possível ter, naturalmente, um eclipse solar no jogo.

Outra coisa que eu fiquei impressionado, é que essas nuvens são volumétricas, feitas para serem vistas de baixo pra cima, para melhor desempenho, mas durante o jogo, eu posso trocá-las por nuvens de “voar entre”, para melhor visualização com aviões voando entre e acima delas, e o formato da nuvem é preservado durante troca! Nem GTA V consegue isso de maneira convincente, e GTA Trilogy nem sequer é possível chegar na nuvem (mais ou menos). Ou seja, no futuro você vai poder pegar um avião e ir até uma nuvem, e ela realmente estará lá, de maneira otimizada.

O meu sistema de ciclo de dia e noite era aceitável, mas este é incrível, o problema era a necessidade de esperar 365 dias para ver todas as estações, mas eu editei o algoritmo do Sol para um calendário curto de 24 dias. Afinal, eu quero que você desfrute das diferenças entre as estações do ano, ainda mais por ser uma cidade praiana do Sul do Brasil, ou seja, no inverno haverá muitas pessoas agasalhadas, neblina, e no verão haverá muita gente na praia. Eu quero proporcionar essas diferenças de gameplay para trazer uma maior imersão. Ou seja, na minha ideia, em 19 horas de gameplay você terá todas as estações do ano, dentro de dias de 48 minutos (como GTA V e vários outros jogos).

 


Importante:

O projeto foi totalmente renovado, portanto queremos desvincular o nome antigo do projeto (“2NTD”).

Agora o progresso do jogo estará somente nas redes sociais da equipe 2nibble.

facebook.com/2nibble

twitter.com/2nibbleStudios

youtube.com/c/2nibble

 

[Warpunk] Timelapse devlog (6 meses em 1 vídeo!)

Como dito anteriormente, nós pausamos o desenvolvimento do jogo Warpunk para voltarmos a trabalhar no jogo IMPUNES/2NTD, pois tanto nós quanto outras pessoas estamos mais interessados nele.

Veja: Jogo IMPUNES/2NTD: Voltando com tudo!

O Warpunk não foi cancelado, mas pausado por um tempo indeterminado.

Portanto eu compilei todos os 6 meses de trabalho em um vídeo de 23 minutos:

Como os outros compilados que eu fiz, geralmente são vídeos enviados no Discord (limite de 8 MB), por isso são de baixa qualidade. Mas isso pouco importa.

Eu gosto muito de fazer vídeos assim, pois é inspirador, não só para outras pessoas, mas também para mim, para ter uma visão melhor do progresso do projeto e desenvolvimento de jogos em geral.

Diferente do vídeo do Nibble: Pizza Delivery e Beetles Underground (eu recomendo assistir eles também!), neste eu quase não usei textos explicativos, pois é mais rápido de montar, e o vídeo fica menos cansativo de assistir.

A ideia inicial era que esse jogo seja feito em alguns meses, somente a base, como treino, e liberá-lo grátis como código aberto para qualquer um continuar e expandir. Mas começamos a gostar muito do resultado, e usamos vários assets pagos, portanto não há mais como.

Mesmo que o jogo morra, foi um grande aprendizado pra gente, e eu inclusive o usei como portfólio numa entrevista de emprego que eu desisti prestes a ser contratado (estava no mês 5 eu acho).

Jogo IMPUNES: Voltando com tudo!

Introdução

O nosso jogo, IMPUNES, foi pausado desde 2020 para focarmos no Warpunk e outros projetos.

Eu trabalhei em outras coisas, muitos imprevistos, até que em 2022 eu decidi focar totalmente em desenvolvimento de jogos.

Quase ninguém realmente se interessou no jogo Warpunk, mas foi uma importante experiência, e usei de portfólio nesta entrevista de emprego. Então decidimos voltar para o IMPUNES, agora com mais experiência e remasterizado para câmera em terceira-pessoa.

Eu (Junior_Djjr) voltando ao projeto trabalhando praticamente todos os dias desde o primeiro dia de 2022 (se contar os dias que não trabalhei, diminui umas 3 semanas), alguns dias foram 2 horas de trabalho, outros 12 horas, e aqui está o resultado…


Nós já temos:

  • Todo o gameplay básico de controle de personagem.
  • Uso de armas, com suporte à granada, melee e dual wielding (como pistola dupla).
  • Dirigibilidade de veículos com suporte à uma quantidade dinâmica de número de rodas, puxar reboques, danos dinâmicos, LOD, peças de variação extra etc. 1
  • Entrar e sair de carros (ainda sem passageiros).
  • Inteligência artificial prototipada, inclusive combate básico.
  • Suporte à execução de scripts Lua através de console ou arquivo. Inclui centenas de funções para a criação de missões simples para modding. 2
  • Sistema de dia e noite com relógio e calendário e alto controle por scripting.
  • Interface própria, responsiva e animada que se ajusta com as informações.
  • Controle de câmera inteligente e suave criado totalmente com Cinemachine através de blend de câmeras virtuais (como jogos modernos).
  • Sistema de minimapa completo com ícones e máscara suave que funciona através de um modelo 3D com perspectiva. Inspirado no funcionamento do GTA V. 4
  • Dezenas de diferentes materiais para superfícies (para diferentes sons, efeitos e decals para areia etc). Funcionando mas ainda não todos configurados. Inclui plugin de automação e modo de depuração visual.
  • Portões com física (ainda falta os elétricos e laterais.
  • Sistema de climas dinâmico que inclui neblina e chuva. 2
  • Sistema de tocar qualquer animação através de scripting enviando o nome da animação, com opção de limitar em quais partes do corpo, entre outras opções (inspirado no GTA).
  • Sistema de dia e noite usa uma espécie de “timecycle” para variação entre climas, como no GTA, e as janelas e lojas acendem de maneira gradual e aleatória.
  • Pássaros gerados proceduralmente que voam em bando e pousam nos locais. 2
  • Shader para poças de chuva e sujeira dinâmica, controladas por vertex color. 3
  • Você cria o seu próprio personagem do zero: Homem, mulher, gordo, magro, novo, velho.

1 Sistema de veículos já existia antes de 2020, foi uma das únicas coisas que eu preservei para 2022.
2 Sistema de climas, pássaros e console Lua eu fiz anteriormente para o Warpunk mas eram completamente iniciais, eu adaptei e expandi para o IMPUNES.
3 O shader de poças de chuva e sujeira eu fiz entre 2020 e 2022 para aprendizado.
4 O minimapa eu havia feito para o jogo Beetles Underground, mas eu tive que recriá-lo pois este é 3D.

Isto, em menos de 4 meses de trabalho.

Note que todos os itens não estão totalmente prontos, mas estão funcionais. Ainda há muito trabalho pela frente, em polir, expandir etc.


Controle de personagem

Para o controle de personagem nós compramos o Opsive Character Controller para usar de base.

jogo impunes gta brasileiro indie 2nibble dev 4

“Mas vocês deviam criar do zero”, como eu sempre digo, não faz sentido fabricar o lápis, o correto é você comprar o lápis para focar no que realmente importa: no desenho. O errado é comprar o desenho. Um jogo GTA-like é muito complexo e grande, não faz sentido gastar meses programando do zero um controlador de personagem em vez de comprar um que outra pessoa já gastou anos trabalhando. Desde o início do projeto já gastamos alguns milhares de reais (no momento, somente do nosso próprio bolso).

Eu trabalhei no polimento, também deixar a movimentação um pouco mais suave, criar a pessoa dinamicamente através de script, adaptada ao criador de personagem etc.

jogo impunes gta brasileiro indie 2nibble dev 7

Algo importante a ser considerado é o criador de personagem, que possibilita criar pessoas de diferentes tamanhos, e incrivelmente funcionou muito bem até mesmo em personagens crianças (mas o jogo não terá menores de idade).


Criador de personagem

Estamos usando um sistema gratuito da Unity: UMA.

Estou feliz com os resultados, o desempenho parece bom e relativamente fácil de expandir para a adição de novas roupas, penteados etc.

jogo impunes gta brasileiro indie 2nibble dev 2

jogo impunes gta brasileiro indie 2nibble dev 1

A nossa ideia com o IMPUNES é algo dinâmico, não linear, algo mais voltado à jogos roleplay com diferentes personagens e missões criadas pela comunidade (e nossas também, por que não?).

Mas o criador de personagem não será usado somente para o jogador, também usaremos para pedestres aleatórios criados proceduralmente! Há um sistema de criar pessoas de modo assíncrono, assim não causa engasgos durante o gameplay e você pode ter pedestres que não repetem, ou quase não repetem.

Imagine um jogo com suporte à missões da comunidade onde você consegue criar cada personagem da missão num editor dentro do jogo! Assim você pode criar ou jogar histórias com personagens próprios etc.

Cada personagem é salvo em uma “receita”, que é simplesmente um pequeno arquivo .txt facilmente compartilhável!

Aproveitando, se você tem experiência com modelagem de pessoas e adaptação para UMA (ou pretende aprender a adaptar), nós estamos contratando.


Carros

Como eu disse anteriormente, uma das únicas coisas que preservamos do jogo antes de 2020, foi o sistema de carros, que é grátis, mas gostamos do quão modular ele é para diferentes tipos de veículos e diferentes gameplays (queremos algo semi-realista, mais arcade).

jogo impunes gta brasileiro indie 2nibble dev 10

Eu criei um projeto separado usado para montar veículos pro IMPUNES, isto é útil para a fase de desenvolvimento, mas acredito que no final possa ser migrado para o jogo, assim você vai poder compilar mods de carros de maneira simples!

É sério, basta arrastar um arquivo .fbx de um carro com as peças corretamente nomeadas, que o carro é montado e pronto para dirigir, assim facilitando muito o modding.

Nós usamos URP da Unity, que é um pipeline focado em desempenho em vez de fidelidade gráfica, e finalmente eles adicionaram opção shader “clear coat”!

jogo impunes gta brasileiro indie 2nibble dev 12

Isto simula a física de como funciona uma pintura de carro “clear coat”, e fica realmente bonito.

Nós havíamos criado quase 10 carros, mas eles eram lowpoly demais para a câmera em terceira pessoa, portanto o Meck por enquanto só recriou o superesportivo Accipitridae Supernova.

Já há sistema de variações aleatórias de rodas e outras peças, e também disco de freio ficando quente e vermelho ao frear. Eu pretendo fazer algo inspirado no que eu já fiz pro VehFuncs.


Interface / hud / minimapa

A interface do jogo é muito importante para a identidade dele. Eu procurei algo que diferenciasse de qualquer outro jogo.

jogo impunes gta brasileiro indie 2nibble dev 8

Ainda está em desenvolvimento, mas você já pode ter uma noção de como está ficando.

Eu gostei muito do minimapa, é basicamente o minimapa do GTA V com laterais suaves, mas redondo. Eu nunca vi algo assim em outro jogo, e inclusive eu acho que faz mais sentido do que um campo de visão quadrado.

O desenho do mapa é um modelo 3D, como funciona em jogos modernos (mas no momento eu estou usando um plano com textura como placeholder).

Eu gosto de interface minimalista, não só pelo estilo, mas porque faz o jogador não se perder na quantidade de informação.

Para compensar o “minimalismo excessivo”, a interface toda tem animações que se ajustam com as informações. Ou seja, quando você entra na água, faz uma animação para a barra azul (de oxigênio) aparecer, e assim arrastará o ícone de arma pra cima. Quando se usa 2 pistolas ao mesmo tempo, a outra aparecerá do lado.

O ícone de arma é também um placeholder, provavelmente usaremos algo estilizado, com mais “alma”.

Perceba que em cima do minimapa há uma lista de objetivos, também animados, e funciona através de scripts programados em Lua.


Scripts Lua

Inspirado no modding para GTA (principalmente na CLEO), eu fiz questão de adicionar suporte à scripts Lua ao IMPUNES, uma linguagem de programação fácil para leigos, interpretada em tempo real a partir de simples textos. Excelente para ser usada como uma linguagem adicional para jogos!

Durante o jogo, ao pressionar um botão, abrirá um console para você digitar códigos em Lua e executá-los durante o jogo. Ótimo para testes.

jogo impunes gta brasileiro indie 2nibble dev lua console

Mas o mais legal, é carregar arquivos .lua! Eu fiz um simples carregador para a pasta “Documentos”.

jogo impunes gta brasileiro indie 2nibble dev lua script vscode.jpg

Mesmo que você não saiba programação, eu tenho certeza que você entendeu quase tudo do script acima. Este é o meu objetivo! Eu quero que mesmo usuários leigos consigam criar scripts pro jogo. (mas esse “coroutine.yield(0.0)” está péssimo, ainda não consegui mudar o nome).

No futuro, caso o jogo faça muito sucesso etc, nós pretendemos fazer um criador de missões integrado dentro do jogo ou algo assim (como o DYOM do GTA San Andreas). Mas isto é muito demorado, por enquanto scripts Lua são excelentes, também para criar outros mods, como CLEO.

A imagem acima utiliza o auto-completar através de snippets do Visual Studio Code gerado pela Unity, é aceitável por enquanto, mas na versão final do jogo pretendemos criar uma extensão própria (como o gta3script do LINK/2012).

Eu estou muito feliz com esse resultado, e o funcionamento é muito avançado, suportando até mesmo a chamada de eventos (por exemplo, rodar uma parte do script caso receba dano etc).


Inteligência artificial

Eu ainda não dei foco na inteligência artificial, pois é algo difícil de programar, portanto eu decidi fazer isso no futuro, quando eu tiver mais experiência.

jogo impunes gta brasileiro indie 2nibble dev 11

Mas eu já fiz uns testes só para eu ter noção.

Estou usando “behavior trees” para a base da inteligência artificial, algo bastante usado por jogos modernos.

Por enquanto eu só fiz protótipos de NPCs andando na rua e reagindo à tiros.

O sistema de tráfego e pedestres deverá ser feito no futuro pelo Chrystian Farias, no momento não é essencial.


Superfícies físicas

Algo chato e cansativo é definir qual material é cada superfície, assim separando o que é concreto, de grama, madeira etc. Ainda mais para um jogo de mundo aberto que se passa numa cidade e você pode atirar em todos os lados etc.

Eu criei um plugin para Sketchup que separa automaticamente cada material de superfície com base no nome da textura (sim, o projeto é tão organizado que conseguimos usar o nome da textura para definir o material físico), e faz uma ponte para a Unity, que ambos dão opção para visualizar cada material numa cor (para depuração).

jogo impunes gta brasileiro indie 2nibble dev debug col

Cada material tem suas propriedades, não só de sons e efeitos, mas também para definir se um tiro atravessa ou não, separar concreto limpo de concreto sujo etc.

jogo impunes gta brasileiro indie 2nibble dev 6

Não só isso, mas eu passei uns bons dias polindo e expandindo o 2nibble Tools, um plugin grátis para auxiliar desenvolvedores de jogos a usarem Sketchup para modelar cenários.


Postes e pássaros

Algo muito importante para a imersão de ambiente brasileiro, são os postes com fios, portanto, nós estamos usando fios com física!

jogo impunes gta brasileiro indie 2nibble dev 9

E claro, pássaros voando por aí em bando e pousando nos postes, prédios etc. Por que não?

São as araras do Warpunk, em breve criaremos pombas etc.

Não se preocupe, fios com física não é overkill para o desempenho, há sistema de LOD e a mesh é extremamente lowpoly. É só um leve detalhe para o ambiente ficar mais vivo. Os fios “embolados” serão estáticos.

Sobre os pássaros, compramos um sistema pronto e trabalhei em cima para que fique dinamicamente compatível com um jogo open world.


Shaders

Brasil é bem sujo. A nossa cidade, principalmente nessa área, não será tão suja, mas ainda assim é…

Depois de anos avisando para vocês “ignorem a falta de sujeira”, finalmente eu criei um sistema de sujeira que funciona através de vertex color, que pode ser pintado com um brush dentro da Unity.

jogo impunes gta brasileiro indie 2nibble dev 3

E o mesmo brush é também usado para pintar e trocar as variações de texturas das janelas e vitrines!

Eu estou muito orgulhoso de ter tido e praticado essa ideia. Em poucos minutos você tem prédios com janelas acesas variando de cor e textura, muito bonito e prático.

Outras sujeiras e imperfeições serão adicionadas através de decal.

E como eu citei anteriormente, eu também fiz shader de poça de chuva, é claro, controlada pelo nível de chuva do jogo. Para definir onde não deve gerar poças (como embaixo de pontes), também, um brush de vertex color.


Conclusão

E é isso, foi o que eu consegui fazer em pouco mais de 3 meses. O resto da equipe ainda não voltou ao foco. Lembrando que o mapa foi somente remasterizado para a nova câmera em terceira pessoa, e sem mais o foco no mobile, agora o jogo será focado em PC gamer mediano.

É muito cedo para afirmações, mas no momento o jogo está rodando a 200 FPS na minha GTX 1050 2 GB, nos gráficos ultra. Claro, ainda vai cair quando houver props, pedestres e tráfego, mas eu estou feliz, e lembre-se que ainda está em desenvolvimento, nem foi otimizado, o mapa nem tem LOD ainda!

Nota: Nós já compramos nuvens volumétricas e sempre usamos sombras PCSS em nossos jogos, mas ainda não adicionamos ao jogo.

Sobre “holofotes” ao projeto, antes desencorajamos, mas agora já está começando a valer a pena ser divulgado…

jogo impunes gta brasileiro indie 2nibble dev 5

Importante:

O projeto foi totalmente renovado, portanto queremos desvincular o nome antigo do projeto (“2NTD”).

Agora o progresso do jogo estará somente nas redes sociais da equipe 2nibble.

jogo impunes gta brasileiro indie 2nibble dev 13

facebook.com/2nibble

twitter.com/2nibbleStudios

youtube.com/c/2nibble

[Vídeo] Nibble: Pizza Delivery MELHOR que Cyberpunk 2077

Desde que Cyberpunk 2077 foi lançado e começou a surgir vídeos de comparações, eu pensei em fazer um vídeo desses, de comparações absurdas, que compara o Cyberpunk 2077 com o nosso jogo gratuito Nibble: Pizza Delivery, criado durante uma game jam de 9 dias pela equipe 2nibble (4 pessoas).

Óbvio, isto é só um meme, mas é realmente interessante como que pontos específicos de jogos menores conseguem ser melhores do que um jogo AAA! E não, o nosso jogo também não tem partículas na água, ficamos empatados nisto.

Note que a comparação foi feita com uma versão antiga do Cyberpunk 2077, atualmente houve algumas melhorias (nem todas), mas o meme ainda está vivo.


Siga a equipe 2nibble, logo em breve teremos uma grande novidade!

Youtube

Facebook

Twitter

Site

[BUG: Beetles Underground] Criamos um jogo em 9 dias! (making-of)

Nós da 2nibble participamos da Game Jaaj 3 com o jogo Nibble: Pizza Delivery, e vencemos como “Melhor qualidade técnica”. Agora participamos da Game Jaaj 6, de novo focando em impressionar com o lado técnico, criamos um jogo muito mais incrível agora, mas infelizmente nem fomos citados no vídeo dos resultados da competição.
De qualquer forma, foi muito divertido e aprendemos muito.
  
Se trata do BUG: Beetles Underground, um open world 3D em terceira pessoa onde você vive num ciclo de vida de besouros conhecidos como “Rola-bosta” — ande, role, escale, voe, faça quests, corra corridas e faça upgrades!
  
Aqui está um making-of completo, mostrando a criação do jogo do início ao fim:
  
Lembrando que também já mostramos um making-of do Nibble: Pizza Delivery — e aquele vídeo ficou ainda mais legal de assistir!
  
Lembrando: Isto é só uma game jam, há pessoas brigando com a gente com isso de “criamos em só 9 dias!” como se fossem ataques contra outros jogos, sendo que isto é o objetivo de uma game jam, é somente uma competição saudável de quem cria o melhor jogo num curto espaço de tempo. Sejam mais positivos, não procurem brigas.