Como dito no último devlog do nosso jogo “IMPUNES”, este mês deixamos de trabalhar no jogo para trabalhar num projeto de realidade virtual para um hospital que realizará treinamento de profissionais de saúde.
Eu (Junior_Djjr), Meck e Farias estamos já finalizando o trabalho, que é basicamente um metaverso do hospital real recriado de maneira igual, realista e otimizado para rodar em VR. Estamos muito felizes em estar fazendo um trabalho assim.
Estamos realmente levando à sério o nosso trabalho com Unity e desenvolvimento do nosso jogo. A expectativa é de que no final deste ano seja aberto o primeiro financiamento coletivo para arrecadar dinheiro para a criação do jogo IMPUNES, pois até o momento, tudo ainda está saindo do meu bolso, pois nós acreditamos que ainda não é o momento certo para vocês confiarem na gente.
Mas este mês a caixa de doações pra 2nibble subiu bastante! Isto nos animou muito, amortece os nossos gastos e ficamos mais confortáveis para continuar investindo mais no jogo:
Estamos contratando ilustradores
Nós queremos ilustrações (artworks) para usar de marketing no jogo IMPUNES.
Pagamento:
Nós pagaremos 500 reais para cada ilustração. Corpo inteiro, sem fundo. O valor pode abaixar ou subir um pouco dependendo da complexidade de cada cena, e também pode acabar se ajustando com o artista contratado, pra mais ou pra menos, dependente das ofertas.
Além do dinheiro, você terá toda divulgação do seu trabalho e créditos no jogo.
Estilo:
Desenho realista, mas não precisa ser necessariamente um altíssimo nível de detalhes.
Nós aceitamos algo no estilo GTA IV/V, mas queremos evitar copiar GTA, temos preferência à traços originais. Algo mais cartunesco, como GTA VCS, também pode ser aceito.
Inteligência artificial só é permitida para inspiração ou pequenos ajustes, nós queremos traços manuais, e não queremos fotos com filtros.
Temos preferência à traços mais nítidos e digitais, mas não é requisito.
Contextos:
Um ponto muito importante é a grande variedade de contextos e diferentes ideias e elementos na cena. Afinal, se trata de um jogo estilo GTA roleplay sandbox, então a nossa ideia é mostrar muitos contextos diferentes e bem específicos.
Exemplos:
A visão de dentro de um porta-malas de um carro, visualizando um favelado e um empresário rico, lado a lado, segurando o porta-malas olhando pra dentro dele.
Dois políticos trocando maleta de dinheiro.
Pessoa pilotando um jetski, com efeitos de água.
2 caras numa moto.
Um catador de papelão puxando um carrinho dando um jóia.
Note que será usado o fundo do jogo, portanto você não precisa fazer um fundo, nós daremos o fundo para você usar, com possíveis shaders estilizados.
Você também terá referências 3D de objetos da cena, como a moto, o jetski, a arma etc. Nestes objetos você só precisará traçar por cima, ou algo assim, depende do estilo de arte adotado.
É importante que você se sinta inspirado por dentro do “feel” que nós queremos passar. Mesmo que você esteja conhecendo o jogo agora, mas entender sobre o que ele se trata.
Quantidade e prazo:
Três boas notícias:
Nós podemos pagar por até 10 ilustrações (ou seja, um total em torno de 5 mil reais).
O prazo é flexível, mas de preferência pelo menos 1 ilustração por mês. Se você preferir, você pode fazer várias em curto prazo e já voltar a ficar disponível.
Você sendo escolhido como ilustrador oficial do jogo, terá mais trabalhos futuros, como ilustrações de futuras atualizações para expandir o jogo etc.
Participação:
Envie seu contato e portfólio pra gente com este formulário.
Se você não tem nenhuma arte realmente realista pra mostrar (por exemplo, você faz trabalhos mais voltados ao fantasioso), é ok, nós conseguimos avaliar mesmo assim, mas você também pode enviar um novo rascunho se você preferir.
Mesmo que você ache que seus trabalhos não valham tanto, ou valham mais, você ainda devia tentar enviar, pois em caso de baixa oferta, nós ainda podemos ajustar os valores e contratar pessoas por valores menores… ou maiores!
Estamos aceitando trabalhos terceiros
Agora qualquer pessoa pode participar da criação do jogo IMPUNES!
Nós aceitamos praticamente qualquer trabalho seu, como ilustrações, texturas (como fachadas de lojas, algo que precisamos muito), sons, modelos 3D, qualquer coisa, que então, se escolhido, será usado no jogo IMPUNES.
Nós aceitamos praticamente qualquer tipo de conteúdo, até mesmo fotos comuns para usaremos de referência (por exemplo, modelar um objeto ou modelar sua casa) ou fotos para criarmos texturas, tudo! Qualquer um pode participar.
Esta ajuda é em formato de doação, e em agradecimentos, terá seu nome nos créditos do jogo, caso a gente decida usar algo seu. Quanto mais coisa selecionada, mais seu nome estará no topo da lista.
Durante todo este ano, nós demonstramos vários devlogs mais voltados ao lado gráfico do jogo, como mapa e armas, mesmo que no início também mostramos a base de quase todas as mecânicas do gameplay.
Agora estamos procurando trabalhar mais no preenchimento do núcleo do jogo, como a inteligência artificial, para que tenhamos um gameplay básico até o fim deste ano.
Eu gastei quase 1 mês de trabalho no tráfego do jogo, então este devlog está muito mais técnico por conta disto. Bem, nem tudo em game dev são imagens bonitas e bem ilustrativas, nós mostramos isto nos devlogs passados, mas isto é extremamente importante pro progresso do jogo, e eu sei que muitas pessoas estão sentindo falta de ver algo mais “gameplay base”, nós também, mas nos deixem cozinhar que vocês irão se surpreender até o final do ano. Ainda não temos nem 1 ano de trabalho, imagine como ficará daqui 10 anos!
O nosso foco agora foi criar um sistema de tráfego altamente otimizado! E realizar vários trabalhos gráficos, texturas e props, pensando no futuro da reforma do mapa.
Durante os últimos 2 meses de trabalho, nós fizemos isto:
O que foi feito:
Sistema de tráfego de veículos programado do zero com altíssimo foco em otimização. O meu objetivo era 60 FPS com mais de 100 carros simultâneos, e eu consegui com 3,5 mil.
Sistema de geração aleatória de veículos que usa inúmeros parâmetros para definir chances de cada modelo ser selecionado no spawn, como o nível de riqueza, gênero do dono, o quão urbano, industrial ou rural, entre vários outros futuros que adicionaremos para que a seleção de veículos tenha personalidade para combinar com o local e dono de uma maneira amigável e modular para a expansão do jogo.
Para a geração de veículos, cada ponto específico da rua ou estacionamento pode ter definições específicas (por exemplo, um estacionamento na frente de uma loja feminina haverá veículos geralmente femininos) e suporta uma mistura de diferentes pré-configurações para ajustes finos. Todo este sistema já está basicamente pronto pra produção e poderá ter a base reutilizada para pedestres.
Criado 3 diferentes modelos de semáforos pra veículos, e 1 pra pedestres.
Shader de pintura de carro com clear coat, fresnel, sheen e imperfeições finas na lataria.
Nova arma: Pistola Teseu U2e, com suporte à pintura RGB e fácil criação de pinturas estilizadas. Será uma pistola altamente personalizável com acessórios e estilos.
Nova arma: Submetralhadora artesanal/caseira (especial).
Nova arma: Motosserra (2 pinturas, ainda não temos animações e mecânica).
Nova arma: Faca de cozinha de plástico colorida (cores RGB e 3 variações de formatos, especial).
Nova arma: Faca de pente de memória RAM (especial, somente encontrada no lixo).
Atualizado o sistema de pássaros, agora é dezenas de vezes mais otimizado, e adicionado pombas urbanas.
Criado objetos props: Caçamba de entulhos (5 pinturas), saco cobrindo areia, 2 lixeiras de tambor cortado, lixeira móvel, cone de trânsito, poste sinalizador com corrente, lixeira de rua com variações de desenhos entre outros.
Criado carrinho de reciclagem para catador (ainda não temos animações e mecânica).
Criado dezenas de novas texturas com base em fotos reais e shadermap inclusos. Principalmente paredes de tijolo e reboco, e trocado inúmeras outras texturas ruins por melhores.
Melhorado o shader de interior falso parallax. Agora a progressão das luzes acendendo é por shader em vez de separação de mesh (isto deixa o jogo muito mais otimizado), e corrigido a distorção causada em vitrines horizontais (muito notável em jogos como GTA Trilogy).
Adicionado luzes volumétricas animadas nos postes, para simulação de neblina e poluição.
Adicionado 2 opções diferentes sistemas de iluminação global no espaço de tela (também erroneamente chamado de “raytracing screen space”) que simula a iluminação indireta de todos os elementos na tela sem impactar muito o desempenho.
Vários ajustes finos nos gráficos do jogo, e aumentado a resolução dos lightmaps. Agora o gráfico do jogo não tem pretos tão escuros e sombreados do mundo são mais bem definidos.
Agora 2 pessoas estão encarregadas da modelagem dos veículos. Já temos a base de 8 veículos!
Sistema de tráfego
Eu (Junior_Djjr) tinha um objetivo do jogo ter pelo menos 100 veículos ativos no mapa, sem impactar muito o FPS, pois eu acredito na grande importância que isso tem num jogo como GTA e na imersão de poder vê-los de longe.
O meu objetivo era 60 FPS com mais de 100 carros simultâneos, e eu consegui com 3,5 mil. É um número tão alto que mesmo que eu multiplicasse a cidade em 3, ainda não haveria espaço para todos andarem. “Somente” 600 veículos já preenche a cidade muito bem:
Eu apliquei esta otimização somente na detecção de colisão, isto é, em vez dos veículos distantes usarem física real, eles usam a minha física simulada com detecção de colisão altamente otimizada. Não só isto, a inteligência dos cruzamentos é somente um algoritmo que sabe a situação de cada veículo, não existe nenhuma física por trás, por isso tudo é tão otimizado.
Isto foi possível graças ao Jobs + Burst (DOTS parcial) da Unity, que faz um excelente gerenciamento de memória e gera um código altamente otimizado, além de usar vários núcleos do processador e processar isto em paralelo enquanto o resto do jogo está sendo processado, renderizado e enviado ao monitor, até o próximo frame.
Desta forma, a detecção de colisão do tráfego pode rodar em literalmente dezenas de milhares de veículos com literalmente 0 lag (0 ms de atraso, literalmente, mesmo). O único atraso está na lógica do tráfego (detecções de posição, semáforo, decisões etc), na qual é mais difícil de aplicar, em últimos casos eu posso tentar algo, mas já estou muito feliz com o resultado.
Lembrando que esta detecção de colisão simplificada é usada somente para veículos distantes (um super LOD), mesma coisa para a movimentação simplificada. Para os veículos próximos da tela, será usado física real quando necessário.
Vale lembrar que meu PC não é potente, é mediano, o CPU é um i5 9600KF, então é bem impressionante o que foi possível, mesmo dentro do editor da Unity (ou seja, sem otimização da build), mas para CPUs mais fracas, basta diminuir a distância dos veículos. No vídeo eu mostro numa cidade de mais de 2 quilômetros de extensão, então mesmo cortando pela metade voce ainda terá veículos 1 quilômetro de distância, o que ainda é muita coisa.
Em questão gráfica, também haverá o consumo de recursos para os veículos visíveis na tela, mas somente da GPU, e será usado um LOD extremamente lowpoly e com otimizações de batching ou instancing, além do mais, 600 objetos na tela é quase nada pra um jogo grande, então isto não é um problema, e de noite poderia usar algo como GTA V que em vez de mostrar o modelo dos veículos, mostra somente as luzes deles. Eu também poderia usar o ECS da Unity pra otimizar ainda mais.
Seleção de tráfego
Eu também criei um excelente sistema de spawn aleatório — ou melhor, não aleatório.
Mesmo que seja algo relativamente simples criado em poucos dias, eu fiquei muito feliz com o resultado, principalmente pela lógica modular usada.
Primeiro de tudo, cada rua do mapa, há dados únicos que guardam informações como o nome da rua, quantos veículos estão lá , quantos são esperados que estejam, e uma pré-definição de quais modelos de veículos são esperados naquela rua. Pra quem é modder de GTA SA, pense nisto como uma versão muito mais avançada do “cargrp.dat”.
Nesta pré-definição, eu defino uma curva de chances para cada característica de veículos, por exemplo, o nível de riqueza, então na definição de cada veículo, eu coloco o valor informando isto. Basta uma simples condição que usa a curva e valor para determinar se um veículo pode ser aleatoriamente selecionado para ser spawnado ali — está aí toda a ideia pra quem também estiver criando um jogo de mundo aberto.
Em 1 minuto eu consigo adicionar um novo parâmetro de personalidade pra seleção de tráfego do jogo.
Voltado à inteligência artificial do tráfego, você pode pensar “ah, é só criar carros distantes e está tudo bem”, não! Pois se o jogo tem veículos distantes sendo processados a todo o momento, dirigindo aleatoriamente, em algum momento o Mustang que você criou na praia estará dirigindo no meio de uma favela. Portanto, o mesmo sistema que dita qual veículo criar em cada rua, também dita qual veículo virar pra cada rua, ou seja, se naquela rua não é aceitado carros de luxo, um carro de luxo não decidirá virar pra lá. Isto também resolve problemas onde aleatoriamente pode haver muitos veículos num ponto da cidade e menos em outro, valores de local e hora, e dia da semana, podem ser usados naturalmente para que diminua a quantidade de veículos indo em tais ruas, e a quantidade total de veículos também pode ser ajustada apagando carros distantes não visíveis na tela. Tudo certo!
E como ficam os ajustes finos? Cada waypoint (ponto local específico para dirigir) ou pontos de estacionamento, podem também receber uma pré-definição em vez de usar a da rua, e ainda mais, uma pré-definição adicional com um ajuste de blend (mistura) para misturar os valores.
Você pode não estar entendendo isto muito bem, mas todo esse sistema é tão modular que com um simples arrastar de arquivo eu consigo pegar uma rua já toda bem definida e estruturada, e fazer um blend de configurações pra uma rua onde, por exemplo, há mais lojas femininas, então haverá mais carros e motos femininas no local (ou por exemplo, o estacionamento na frente de uma loja de moda feminina ter várias Honda Biz). Aumentar a quantidade de turistas andando num local ou parando pra olhar a frente de lojas voltadas à turistas. Ou até mesmo calcular a quantidade de lixos nas lixeiras de uma rua e aumentar chances de um catador de lixo virar o cruzamento para aquela rua. Tudo isto sem esforço, com um simples arrastar de arquivo. Eu estou muito feliz com o resultado!
Decisões do tráfego
Por fim, aqui está como funciona este meu sistema de tráfego:
Os modelos dos semáforos foram modelados pelo Zeneric com minha direção e texturas. São baseados nos semáforos da cidade real.
O sistema de semáforo, bem, não há nada demais, é só bloquear um caminho quando está vermelho, mesmo assim fiz um sistema modular que possibilita semáforos direcionais etc.
O real problema: É comum quase todos os cruzamentos de uma cidade não terem semáforos, então os veículos precisam decidir fazer um cruzamento por conta própria.
Jogos com inteligência artificial básica demais, como todos os GTAs da Era 3D, se você remove o semáforo, vira um caos. Então eu prometi pra mim mesmo que farei um bom sistema de cruzamentos, não importe o tempo que leve.
Como citado anteriormente, não existe nenhum cálculo físico, colisão etc. Todas as decisões são tomadas num algoritmo que entende a situação de todos os veículos.
Cada ponto dentro do cruzamento recebe e envia informações se a área está livre para outro veículo atravessar.
Deste modo eu consigo criar cruzamentos otimizados com literalmente qualquer formato, e o veículo pode também “pré-informar” que ele está chegando, para assim dar prioridade à quem vem da direita, e informar ao outro carro pra onde ele irá virar. Em outras palavras, os carros dos NPCs, ou o próprio player, pode dar seta (pisca-alerta), e o outro motorista irá entender a sua decisão e agir conforme!
Pra quem caiu de paraquedas aqui e ainda não sabe, o IMPUNES terá bastante foco em um gameplay de roleplay, além de arcade, portanto o meu objetivo é de que o tráfego do jogo seja algo agradável e dinâmico, onde, se você quiser, você pode obedecer as leis de trânsito, e participar do fluxo, dando seta etc.
O sistema ficou tão legal que eu posso, por exemplo, simular cruzamentos onde não há visibilidade de quem está vindo, assim forçando todos os motoristas a antes pararem pra olhar, ou até mesmo aplicar uma chance baixa de não fazer isto para causar acidentes naturais — afinal, uma inteligência artificial boa não é a perfeita, mas sim, a natural.
O mesmo sistema pode ser facilmente integrado com pedestres, onde eu também fiz semáforo pra eles.
Os primeiros veículos
Depois de muitos meses tentando encontrar pessoas para nos ajudar na modelagem de veículos do jogo, agora temos duas pessoas — ambas muito experientes, mas com pouco tempo livre.
Nós fizemos uma parceria com Heaven Roleplay! Basicamente todos os veículos criados pro Heaven Roleplay serão editados e adaptados pro IMPUNES (exceto veículos de serviço público).
Nós negociamos um preço pra base de cada veículo, e nós pegaremos cada um e editaremos (parodiar para que eles não sejam modelos de veículos reais), remodelaremos várias coisas, como rodas, motor e interior, e adaptaremos às necessidades do nosso jogo.
Heaven Roleplay é um servidor de GTA brasileiro pra MTA:SA criado por várias pessoas próximas por volta da nossa comunidade, e eu posso afirmar, eles realmente estão caprichando e colocando amor neste trabalho, vale a pena acompanhar o trabalho deles, será o verdadeiro GTA brasileiro multiplayer.
Quem está cuidando destes veículos é o RicardoMDS, que tem alta experiência em uma modelagem caprichada e otimizada. No momento temos 3 carros, 1 SUV, 1 van, 1 moto, 1 caminhão baú. Mas nenhum está pronto pro jogo ainda.
E também temos de volta o nosso velho Leonardo Menezes (Leogh). Ele esteve com a gente no início do Projeto 2NTD (de quando a ideia era um jogo topdown pra mobile). Ele começou a modelar um carro esportivo inspirado num Maserati.
Ele é projetista com mais de 1 década de experiência com modelagem, e trabalha com isto. Ele tem alto conhecimento técnico em modelagem 3D, inicialmente a ideia era modelar alguns carros (principalmente esportivos) pro jogo, mas ao entrar no projeto ele se animou e pretende também modelar outras coisas também.
Pintura e pneu
Eu criei um shader de pintura de carro com clear coat, fresnel, sheen e imperfeições finas na lataria (para criar uma distorção no brilho e reflexo, como acontece em carros reais).
Eu gostei bastante do resultado, a ideia é expandir isto pra muito mais, como acúmulo de poeira etc.
Digo o mesmo para os pneus.
Eu gastei vários dias criando manualmente as texturas para as laterais de pneus dos carros, caminhonetes e caminhões do jogo. Tudo é desenhado no Photoshop, inclusive os shadermaps.
Pneu é algo bem mais genérico, mas ainda complexo, então fiz de uma maneira modular com uma textura atlas que o próprio material diz qual variação usar, e a coloração e todos os maps/masks são “packed” numa só textura, assim todos os pneus do jogo, inclusive shadermaps, estão em somente 1 textura. Desnecessariamente otimizado, mas capricho nunca é demais (ou é).
Se aplica 2 overlays de sujeira separados, isto é, sujeira pro centro, e lateral do pneu. A minha ideia é que logo ao começar a dirigir em estrada de terra, o centro do pneu suje, e com o tempo, a lateral suje também, e ao voltar a dirigir fora da terra, o centro limpe, mas a lateral sempre continua suja até que algo limpe ela. Ou seja, como acontece na vida real.
Brasil tem muita mistura do urbano com estradas de terra e poeira, é inclusive comum ver carros sujos pelas ruas, portanto é muito importante que IMPUNES também represente isto.
Mais modelos
Estamos nos aproximando cada vez mais de um foco maior no trabalho do mapa do jogo, com uma reforma para o novo plano de ruas, e criação de props (objetos de decoração) para preencher o ambiente.
Eu adorei o resultado da caçamba de entulho!
Modelado pelo Zeneric com 5 pinturas criadas por mim, o resultado ficou muito natural e bonito. Como quase todos os props, há blend de nível de sujeira. Também pretendemos adicionar um trabalho de caminhão de carregar caçambas no futuro.
Mais alguns props:
A lixeira de rua é um modelo genérico onde, trocando o alpha da textura, eu consigo inúmeras variações de estilos de desenhos. É importante, pois no Brasil há realmente muitos diferentes padrões de desenhos em lixeiras. Ainda faremos mais.
Mas o destaque estão no carrinho de catador:
Ficou incrível! Também modelado pelo Zeneric com minha direção de arte, ficou muito icônico. Obviamente ainda iremos criar objetos pro conteúdo sendo levado dentro dele.
Claro, ainda não temos animações e mecânica de uma pessoa puxando um carrinho de catador (nem sequer temos pedestres ainda), mas isto é algo que faremos no futuro, e o catador será como um personagem, terá toda uma personalidade e lore.
Novas armas
IMPUNES já tem mais de 10 armas prontas (sem contar armas brancas), mas ainda não é o bastante. Zeneric modelou ainda mais armas pro jogo, sempre num padrão triple-A.
Teseu U2e, a pistola mais barata e comum do jogo, altamente personalizável com acessórios (como lanterna e laser), cor RGB e pinturas. Ainda faremos acessórios e pinturas.
Você tem ideias de estilos de pinturas? Nos envie nos comentários nas redes sociais.
Submetralhadora artesanal/caseira. Inspirada no formato de um MAC-10, é uma arma especial (não disponível pra compra).
Uma motosserra é sempre bem vinda em qualquer jogo que contenha violência, no entanto, este jogo não focará em gore, e ainda nem tenho certeza se existirá desmembramento (o sistema de corpo do jogo é muito complexo).
Nós ainda não temos animações e mecânica para uma pessoa usar motosserra, mas por enquanto usaremos como decoração até termos algo funcional. Mas a corrente já é animada com efeito de blur muito legal.
Útil para interiores, ou jogada em lixo, uma faca de cozinha de plástico colorida é uma faca com baixíssimo dano, mas ainda funciona! É uma só, mas com variação de lâmina.
E pra finalizar, uma faca de pente de memória RAM, uma ideia de um seguidor (não lembro o nome). Eu adorei o resultado! Perfeita pra encontrar jogada no lixo.
Puxaram nosso pé que devíamos colocar pintura preto fosco (padrão militar brasileiro) pro fuzil que mostramos no devlog anterior. Faremos, calma!
Iluminação global no espaço de tela
Compramos 2 diferentes assets de screen space global illumination. Umas pessoas devem pensar “mas Unity já não tem?” sim, mas pro HDRP, não URP que nós usamos (e pode demorar pra chegar). E como quase tudo, os assets fazem um trabalho melhor que o nativo da Unity, então vale mais a pena pagar umas dezenas de reais do que esperar a Unity entregar algo aceitável.
Isto possibilita uma iluminação mais realista e completa, por exemplo, o Sol batendo numa parede azul faz refletir o azul no rosto da pessoa, o Sol batendo na pintura do carro faz refletir a cor no chão etc. Também ajuda no ambient occlusion e sombras finas de contato.
Há como aproximar este resultado usando lightmaps direcionais de alta resolução, mas causa complicações pro uso de memória e possibilitar que objetos dinâmicos emitam e recebam luzes também, então esta solução screen-space faz um trabalho mais completo com menos consumo de recursos, além de ter altíssimas possibilidades de ajustes de qualidade para se adequar ao hardware do jogador.
Por um momento imaginei que com isto daria pra remover a iluminação global por lightmaps, mas ao testar, o desempenho dos lightmaps é tão minúsculo que não vale a pena, e os gráficos ficavam muito inferiores. No nosso caso, esta solução funciona melhor como uma camada adicional de iluminação pro jogo — algo que estamos caprichando, nós entendemos a importância de uma boa iluminação.
Luzes volumétricas
Compramos um excelente asset de luzes volumétricas pro jogo (de novo, para compensar o que a Unity não faz).
Eu tive medo disso impactar muito o desempenho do jogo, mas mesmo aplicando na cidade toda o desempenho continuou bom!
Não é só um cone suave, há também uma leve animação de neblina/poluição no centro. Há também como adicionar pequenas partículas de poeira, mas isto dá impacto significativo no desempenho, então usarei só em casos específicos ou gráficos ultra.
Como vocês devem saber, o jogo tem todo um calendário interno com estações do ano etc. No inverno eu pretendo ter madrugadas e manhãs com muita neblina e pessoas vestindo agasalhos. Ficará uma imersão muito legal!
Melhorias nos shaders
Sobre janelas com interiores falsos, eu já havia mostrado num devlog anterior, mas ainda havia aquele problema comum em jogos, como GTA Trilogy, onde um formato mais horizontal, como vitrines, causa muita distorção. Depois de muita pesquisa, eu encontrei uma forma de corrigir isto!
Eu também mudei a forma que as janelas acendem, agora em vez de separar conjuntos de janelas em diferentes meshes, eu defino um valor no vertex color de cada janela, e enviando um valor pro shader, ele define se acende. Está aí mais outra ideia pra quem estiver um jogo com ciclo de tempo.
Antes eu usava o RGB do vertex color para variar a cor de cada janela dos prédios etc. Mas é muito desnecessário, basta definir um degradê, e um só canal do vertex color pode ditar a cor da janela.
Ou seja, com toda essa melhoria, as janelas do jogo ficaram muito mais otimizadas, necessitando muito menos objetos na cena, e menos draw calls, que diminui tanto o uso de CPU quando GPU!
Eu também melhorei o shader de blend de texturas. Agora em vez de um blend linear, posso definir uma mask para uma transição mais natural entre texturas.
E finalmente eu melhorei o efeito de poças de chuva no asfalto, agora não são mais poças redondas, são formadas algumas linhas, como acontece em ruas reais.
Remasterizações continuam
Eu (Junior_Djjr) gastei 2 semanas baixando, comprando, criando, editando, melhorando, trocando etc as texturas do jogo. Em principal, mais de 20 boas texturas de tijolos brasileiros!
Agradecimentos ao Yuri também pode tirar umas fotos das ruas da cidade dele para fazer texturas. Caso mais gente esteja interessada (principalmente se mora em Balneário Camboriú) entre em contato, podemos pagar por serviços de foto pra eu fazer mais texturas pro jogo.
As quadras continuam passando por melhorias, utilizando novas texturas, e mudanças de escala, aumentando espaços de lotes, calçadas etc. O novo modelo atualizado das quadras será colocado no novo planejamento de ruas do jogo.
O que virá em seguida?
Agora pretendo migrar o jogo pra nova versão da Unity. Eu falei no devlog passado mas na verdade só agora a nova versão foi lançada.
Nós também temos um trabalho freelance pra fazer, que consumirá mais algumas semanas, e todos os meses eu reservo uma semana pra eu trabalhar no meu mod Urbanize para os apoiadores.
Ou seja, provavelmente o desenvolvimento do jogo será pausado por 1 mês, então o próximo devlog será só daqui 3 meses.
Depois eu vou querer continuar focando na inteligência artificial dos veículos, e já começamos a trabalhar numa garagem mecânica para tunar carros!
Não sei se ainda no próximo devlog ou no seguinte, mas depois de ter os veículos funcionando bem, adicionarei os pedestres. Uma coisa de cada vez.
Doações
Muito obrigado para todos que doaram, já juntamos algumas centenas de reais, isto nos deixa mais seguros em gastar em mais coisas pro jogo. Nos últimos meses gastamos centenas de reais com animações graças à vocês.
Prefira Pix: Qualquer valor; instantâneo; sem tarifas. Neste caso é somente Brasil.
A compatibilidade com o GTA San Andreas foi simplesmente abandonada pela NVIDIA. Nós revisitamos outras vezes, e o jogo continua péssimo, muito instável para o RTX Remix. Nós não pretendemos continuar esse projeto, são muito bugs, instabilidades e é pesado demais. Continue no bom e velho SkyGfx, ou experimente RenderHook ou SADX. Nós pretendemos investir num projeto gráfico mais estável que esses, fiquem de olho.
A NVIDIA revolucionou o modding de jogos antigos! Agora quase qualquer jogo antigo, inclusive GTA III/VC/SA clássicos, podem ter gráficos com Path Tracing (sucessor do Ray Tracing), e incrivelmente otimizados! Além de materiais com shaders de jogos modernos e outras trocas de assets (texturas/modelos) que não atingem os limites do jogo.
Isto é tão absurdo, que no momento (2023) praticamente não existe jogos modernos com suporte à Path Tracing.
Aqui está o download das configurações pro RTX Remix, com instruções e Ped Spec (pra corrigir bugs nas skins). Ainda há vários bugs, como na água, carros sem cores e falta da barra de vida. Para uma adaptação mais completa e correta, é necessário posicionamento manual de luzes e adição de shadermaps para texturas.
Roda em 40~50 FPS em 1080p com Path Tracing no High numa RTX 3060. Em 720p consegue 60 FPS.
Requer qualquer placa de vídeo com suporte à Ray Tracing. Não precisa ser RTX.
No download há somente o básico configurado para rodar bem no GTA San Andreas, mas com isto, já é possível ter os resultados das imagens, mesmo com várias limitações e bugs. Leia o Leiame/Readme no download! Tudo só tende a melhorar.
A compatibilidade com mods é excelente, basicamente todos os mods são compatíveis sem conflitos! Exceto casos mais óbvios, como ENB. Mesmo SkyGfx funciona parcialmente (eu irei melhorar a compatibilidade) e Proper Fixes funciona perfeitamente sem a necessidade do SkyGfx.
São muitos poucos arquivos e não atrasa o carregamento do jogo. Só requer Essentials Pack.
Fique atento à atualizações do RTX Remix e outros mods.
RTX Remix: NVIDIA Adaptação: Jéssica Natália
Nos acusaram de roubo pois não foi colocado “NVIDIA” nos autores. Sério que precisa especificar??
Atualização 2025:
A compatibilidade com o GTA San Andreas foi simplesmente abandonada pela NVIDIA. Nós revisitamos outras vezes, e o jogo continua péssimo, muito instável para o RTX Remix. Nós não pretendemos continuar esse projeto, são muito bugs, instabilidades e é pesado demais. Continue no bom e velho SkyGfx, ou experimente RenderHook ou SADX. Nós pretendemos investir num projeto gráfico mais estável que esses, fiquem de olho.
O nosso foco agora foi criar uma venda de armas imersiva e icônica, e muito mais!
Durante os últimos 2 meses de trabalho, nós fizemos isto:
O que foi feito:
Um interior de uma van escolar estacionária usada para vender armas ilegalmente. O interior é altamente detalhado e com estilo icônico, memorável e imersivo. Ainda haverá o lado de fora com um homem vendedor.
Sistema de navegação 3D, e compra de armas e munição dentro da van. Ainda será feito o menu para inspecionar e cuidar das suas armas (ver, limpar e arrumar) e um suporte à compra de armas addons.
Sistema de customização de armas dinâmico, modular e condicional, suportando alteração de peças e pinturas. Ainda será feito sistema de stats e adição de peças úteis (como mira, lanterna etc).
Efeito visual 3D de insetos e mariposas voando em luzes noturnas.
Criado vários novos objetos props (alguns podem ser usados como armas brancas), como: 2 sacos de lixo preto, 3 sacolas de lixo (transparentes, coloridas, diferentes logotipos de mercados), 2 lixeiras de rua, martelo, alicate, chave de boca, chave de fenda, balde, barris de metal (limpo, sujo, grande, pequeno), bateria de carro, caixa de ferramentas, caixas de madeira de fruta (pequena e grande, quebráveis), ventilador, quadro, lâmpada incandescente, lâmpada fluorescente espiral, caixa de som velha, rolo de fita entre outros.
Criado a lendária arma “Trinta e Doze”: um revolver de calibre 12, artesanal. Acesso especial (não disponível pra venda).
Criado um extintor de incêndio (ainda não há animações, mas já apaga fogo).
Nova pintura pra faca tática; recriado texturas da pistola; melhorado a sniper.
Sistema de ventilador animado, com pás que giram num sistema de blur volumétrico e emite um som de vento que muda conforme o apontamento em direção ao ouvinte num formato de cone. O ventilador também simula emissão de um vento que voa até atingir elementos da cena (cortina, bandeira e fios).
Sistema básico de danos para objetos quebráveis, como caixas de madeira.
Sistema de placa de carro com texto dinâmico. Funciona gerando uma textura em tempo real durante o jogo (similar ao GTA San Andreas), inclui normal map para simular relevo e margem de pintura e marca d’água igual à real.
Visual de placa de carro milimetricamente fiel às placas Mercosul, recriado de forma 1:1 conforme documentos oficiais. Inclui bandeira do estado e brasão da nossa cidade, fictícios.
Implementado FMOD: engine de áudio usada por vários jogos triple-A.
Criado som de motor baseado no Fusca, usando FMOD. Utiliza diferentes faixas de RPM.
Adicionado sons e outros ajustes na interface de usuário.
Adicionado algumas configurações ao menu de opções gráficas, no momento só coisas básicas como: resolução da tela, taxa de atualização, 4 modos de tela cheia ou janela, escala de renderização e filtro de upscale (FSR, com opção de ajuste de nitidez). Também pretendemos DLSS.
Sistema que carrega e salva em arquivo .json as configurações do jogo.
Sistema indicador de posição dentro e fora da tela (como ícones indicando a direção de algo fora da tela).
Criado otimizações para o jogo suportar dezenas de NPCs com baixo impacto no framerate. Ainda há o que melhorar.
Todos os shaders foram revisados, agora trabalha num “uber shader” de múltiplas compilações, para um workflow mais organizado, e criado reflexo anisotropic simples.
Implementado shader que usa GPU instancing para possibilitar objetos repetindo com incontáveis diferentes texturas (exemplo, sacolas), praticamente sem impactar o desempenho do jogo.
Criado um shader de pele com subsurface scattering simples (não simula a passagem de luz, mas o efeito final é bem semelhante e muito mais leve. No momento a Unity não dá suporte à SSS para URP). E rugas na pele para sobressair expressões faciais.
Shader de olho com simulação de profundidade na pupila, reflexos de umidade mais realistas, e simulação de reflexo tapetal, mais comum em olhos de animais noturnos.
Revisado as texturas e shaders das peles, cabelos e roupas. Ainda há o que melhorar.
Adicionado dezenas de roupas masculinas e femininas, inclusive uma camisa e bermuda com estilo abrasileirado. Ainda precisa de muitas melhorias nas roupas em geral.
Implementado um slider no criador de personagem que possibilita escolher, linearmente, quão branca ou negra é a pele da pessoa (muda toda a textura e a maneira que a pele é refletida).
Ótima evolução no sistema de multiplayer.
Bem vindo à escola
Para a venda de armas, decidimos fazer algo o mais icônico e memorável possível, uma van escolar, onde o vendedor abre as portas com a frase “olha as crianças do pai”.
Foi tudo modelado e texturizado pelo Zeneric, e eu (Junior_Djjr) cuidei da direção de arte (dizendo especificamente como deveria ser, no cosmético e criativo). A ideia de van escolar veio do Meck, Yuri ilustrou rótulos e Trok fez os textos simulando canetão.
Há toda uma ideia de lore por trás disso. Se trata de uma van escolar antiga, não mais funcional, de um homem de uns 50 anos, conservador, pai de família, mas que tem contatos ilegais com militares (o que explica armas de altíssimo nível, como o canhão CSRND). Ainda não sabemos exatamente onde ficará estacionada esta van, provavelmente no quintal da casa dele. Ninguém desconfiaria de uma van escolar!
Imersão não é só modelos e texturas, mas todo o ambiente: uma caixa de som velha, conectada no rádio da van, fica tocando algumas músicas brasileiras dos anos 30, o que teoricamente hoje são de uso livre (devido à morte de todos os integrantes há mais de 70 anos).
O ventilador de mesa (baseado no do meu quarto) há animação realista, pás com blur volumétrico e de fato simula vento, causando efeito de um vento que se move até a cortina, bandeira e fios, fazendo-os balançar quando o ventilador está em direção à eles. O efeito de som do ventilador também muda conforme a direção e distância da câmera (alterando o volume, pitch e spatial).
A imersão é literalmente sem igual, o resultado é nível triple-A, nós realmente nos esforçamos para isto, foi 1 mês de foco (incluindo objetos de decoração). Há detalhes finos em cada canto (literalmente, como teias de aranha) e até mesmo mariposas voando na luz de noite.
Compra de armas
Eu gosto muito de jogos que fazem menus integrados diretamente no mundo do jogo. A navegação desta van é totalmente 3D, onde a câmera é sempre posicionada de uma forma que você sabe que, apertar pra esquerda, irá se mover para a arma da esquerda etc. A navegação ficou bem agradável (algo que inicialmente eu estava preocupado).
Ao selecionar uma arma, ela se move em sua direção, pro lado da câmera, como se você tivesse pegado ela na mão para inspecionar. Lá você tem um menu para comprar a arma, comprar munição pra ela, e claro, personalizar!
Eu também criei um sistema de personalização simples mas eficiente. Você pode trocar uma peça por outra, ou mudar estilos de pintura ou materiais, que também mudará peças caso necessário. Eu ainda não criei um sistema de adicionar acessórios úteis (como miras, laser, lanterna etc).
Há também um sistema simples que muda quais peças podem ou não ser instaladas com base nas atualmente instaladas. E também pretendo criar um sistema de estatísticas, onde diferentes peças influenciam no desempenho da arma.
A compra de munição é outro detalhe icônico. Cada opção de munição está separada em diferentes latas: Lescau, Toby e Vacilon.
O sistema de munição do jogo será realista, cada munição que você compra pode ou não ser compatível com cada arma sua. Se você acha que isso pode ficar um pouco complexo pro gameplay arcade, embaixo do menu de compra há a lista de quais das suas armas são compatíveis, além do mais, também há opção de comprar a munição direto ao inspecionar uma arma, assim você não precisa ficar procurando qual bala é aquela arma.
Todas as quantias e valores ficam no mesmo menu, ou seja, no mesmo item mostra quantas munições você tem, pode ter, um multiplicador de compra, e o valor da compra. É importante lembrar que os números são placeholders, só serão realmente definidos e balanceados quando o gameplay do jogo estiver completo.
No fundos, há a inspeção de suas armas, e compra de armas addons, ainda não implementado, mas na caixa vermelha você poderá visualizar todas suas armas atuais, personalizar, e tratar elas (afinal, nós já fizemos sistema de sujeira e desgaste pras armas). E a caixa azul, é a seleção de armas adicionadas, por exemplo, baixadas da comunidade (é uma forma de adicionar infinitas armas sem ocupar espaço na van).
Armas e veículos são o ponto central de um gameplay de um jogo GTA-like, nós queremos que as armas tenham um valor real ao jogador, sejam caras e importantes, também nunca adicionaremos “skins” muito chamativas (haverá algumas legais, mas nunca nada de ouro ou coisa assim) pois queremos que o jogador se sinta avançado por simplesmente ter um fuzil preto nas costas.
Incrivelmente, ninguém ainda havia representado esta arma de forma realista e fiel (só uma tentativa do nosso seguidor). Nós fomos os primeiros, e ficou praticamente perfeita.
As fotos disponíveis são de qualidade ruim e não mostra ela muito bem, mas conseguimos representar de forma fiel (com certos toques artísticos).
A nossa ideia é que armas especiais (principalmente artesanais, não importa se é boa ou ruim) sejam únicas e não estejam disponíveis para compra. Ou seja, você pode sem querer encontrar um fuzil artesanal jogado num terreno baldio, e ele será único. Queremos algo assim com o Trinta e Doze, mas ainda não sabemos como será acessível (alguma missão?). Só sei que, quando decidirmos, não iremos falar. Procurem!
Melhorias gráficas nas pessoas
Você pode ter notado na imagem acima que, ao mirar, o personagem faz uma expressão facial franzindo a testa, isto não é novidade, mas agora também cria rugas/dobras na pele!
A Unity com o render pipeline URP (que a gente usa) não suporta subsurface scattering, para simulação realista da luz sendo transportada dentro da pele das pessoas, emitindo a cor interna avermelhada, mais notável em orelhas. E mesmo que tivesse, isto é um shader relativamente pesado para fazer da forma real, portanto eu me baseei num tutorial para fazer um shader que simule este mesmo efeito de forma mais “falsa”, e o resultado ficou excelente!
Sem esse shader, parece uma estátua de concreto pintado.
Note que nesta imagem eu usei uma cabeça highpoly de testes, isto não é o modelo de cabeça usada no nosso jogo (atualmente a nossa está bem inferior à esta, mas pretendemos melhorar). Outra coisa que precisamos melhorar são as roupas, portanto não vou mostrar muito ainda.
Esta é uma estampa de camisa que eu fiz do zero (inspirada nas camisas baratas de brechó), como demonstração.
Aqui uma prévia de uns extremos do criador de personagem:
Algo que eu também melhorei foram as texturas de pele, especialmente a pele negra, que, para se adequar à realidade brasileira, é um slider com infinitos intervalos entre a textura de pele branca e negra, o que também pode ser pintada por cima com algum tom avermelhado ou algo assim. A pele negra há menos efeito de SSS e mais efeito de brilho specular, assim como na vida real.
Eu também passei a usar um shader de cabelo (antes criei um, mas troquei pra um melhor) que simula melhor como a iluminação e reflexos.
Eu sempre achava que profundidade nos olhos fosse só um detalhe fino que jogos fazem, mas após colocar no jogo, eu notei o quão importante este detalhe é (eu não criei este shader). O desempenho é ótimo pois é um material único, não são múltiplas camadas.
Para deixar ainda melhor, fiz e coloquei um bom cubemap para simular o molhado dos olhos, e o efeito de reflexo tapetal, comum em olhos de animais noturnos, mas que também pode acontecer em olhos humanos.
Melhor dizendo, neste eu pedi pro Chat GPT fazer pra mim, pois eu pesquisei no Google e não encontrei nada. Mas provavelmente vou refazer. Pouquíssimos jogos têm este efeito, RDR2 é um deles (o que o RDR2 não tem, né?). Será um detalhe muito legal para ver animais no escuro com uma lanterna ou farol do carro, como corujas.
Isto é considerado clonagem de placa?
Eu criei o visual e sistema das placas dos carros, motos etc, da maneira mais perfeita e fiel possível.
Este modelo de Fusca não é do jogo, é um placeholder de cortesia do RicardoMDS do Heaven Roleplay. Os caras são feras! Estávamos desconfortáveis em usar modelos de carros americanos como placeholder, então pedimos um fusquinha temporário, pois ainda não temos ninguém pra modelar os veículos.
As placas repetem muitas vezes pelo jogo, e sempre estará na sua tela ao dirigir. É extremamente importante caprichar neste detalhe, portanto eu trabalhei nisto durante uns 3 dias.
Você pode perceber que algumas placas reais são levemente diferentes, mas eu segui os padrões definidos pelos documentos oficiais, milimetricamente, inclusive as fontes, e gera programaticamente uma textura do texto durante o jogo (GTA San Andreas fazia isso em 2004, já estamos em 2023, isto é o mínimo!) e também a textura pro normal map, para simular o relevo. Isto tudo é renderizado num shader que faz uma margem para pintar somente o centro da letra (como na vida real), coloca as marcas d’água, e também possibilita escolher a cor (para veículos comerciais, colecionador etc).
É tanto capricho que gastamos horas fazendo a bandeira do estado e cidade, algo que quase não será usado no jogo, mas faz parte do nosso trabalho de proporcionar uma lore completa.
Vocês já sabiam que a cidade do jogo se chama “Canário”, e agora vocês também estão sabendo que o estado se chama “Santa Camila” 🙂
Sons
Pra quem não me conhece, eu mexo com sons desde antes de 2010 e sou produtor de música eletrônica, e agora estou criando um jogo, eu me sinto na obrigação de caprichar na sonoplastia.
Eu gastei 2 dias procurando referências e testando métodos e ferramentas para criar um som de motor baseado no Fusca, e consegui um resultado bem legal, com auxílio do FMOD.
Eu me apaixonei pelo FMOD. O FMOD Studio é como se fosse um DAW, o que estou familiarizado, portanto no futuro eu pretendo desativar totalmente a engine de sons da Unity e usar somente FMOD pro jogo (organiza o trabalho e economiza CPU).
Mas nós precisamos de ajuda: é muito difícil encontrar boas fontes de som de motor e escapamento de veículos, no caso do Fusca foi fácil porque o motor e escapamento ficam no mesmo lugar, mas precisamos de sons de ambos separados (frente e atrás do carro), segurando o acelerador em diferentes faixas de RPM por alguns segundos, para criar loops dessas faixas, esta é a única forma de criar sons de motor realistas (pelo menos umas 5 diferentes faixas de RPM, e um idle). Se alguém quiser ajudar gravando uns sons assim, até pagaremos pelo serviço. Saber criar motores no Engine Simular também é interessante, eu testei, mas poucos parecem realmente naturais (parece bom pra moto), e poucas pessoas querem fazer motores comuns.
Configurações gráficas
Eu já havia trabalhado no sistema de menu de pausa, mas agora reservei um dia para implementar algumas configurações gráficas lá, e salvar e carregar um arquivo de .json configurações.
No momento só há o básico, como resolução da tela, taxa de atualização, 4 modos de tela cheia ou janela, escala de renderização e filtro de upscale (FSR, com opção de ajuste de nitidez). Também pretendemos DLSS.
Nós somos PC gamers como quase todos que estão aqui, portanto queremos dar muitas opções de configurações pro jogo, para que o jogador se sinta livre para experimentar, tudo com explicações amigáveis do que aquilo faz.
Outra coisa que sinto falta nos jogos, é separar configurações gráficas e mecânicas que impactam GPU ou CPU, pois é comum pessoas jogarem jogos com FPS baixo e tentarem abaixar configurações que afetam a GPU, sendo que o problema da pessoa está na CPU. Nós acreditamos que é importante que tudo isso seja mais fácil e amigável para pessoas iniciantes e medianas entenderem e conseguirem configurar de forma mais eficaz e simples.
Destruição
Eu comecei a fazer o básico dos objetos do jogo sofrerem danos e quebrarem (se separar em pedaços, ou desencaixar caindo no chão). Evitando ao máximo o uso de “valor de saúde”, em vez, trabalhar em nível de impactos.
Tudo foi modelado pelo Zeneric. Ainda será adicionado logotipos e textos nas sacolas.
Eu não pretendo fazer coisas como pedaços de muro se despedaçando etc. Primeiro que Unity não tem isto nativamente (é caro), segundo que isto impacta negativamente a otimização do mapa do jogo (quanto mais estático, mais otimizado). Vale mais a pena focar na destruição dos objetos dinâmicos, por exemplo, estourar uma sacola e espatifar lixo no chão com física (ainda não fizemos, mas esta é a ideia). O nosso objetivo com destruição busca ir pra esse lado.
Criador de mods
Farias trabalhou uns dias no software “2nibble Studio”, a nossa ferramenta para dar suporte à mods pros nossos jogos.
A grande novidade é que agora é feito em React, com back-end em Node.js, ou seja, pode rodar direto no navegador! A pessoa nem sequer vai precisar instalar nada, bastará acessar o site da 2nibble para criar e editar mods um editor amigável.
Também pretendemos automatizar parcialmente a adaptação de veículos de certos jogos, como GTA. Ou seja, você poderá abrir um carro de um mod do GTA lá, e boa parte da adaptação pro IMPUNES será feita automaticamente.
No editor também haverá como compartilhar o seu mod direto pro Steam Workshop, seja carro, moto, arma, item ou algum outro objeto. Ainda não sabemos se será possível um mapa completo, provavelmente quando o jogo estiver bem mais avançado.
Detalhe ao “para nossos jogos”. Isto não é exclusivo pro IMPUNES, qualquer outro jogo que criarmos, com suporte à mods, poderá usar. E desde antes do reinício do IMPUNES estamos com progresso num jogo de carro (que inclui versão mobile), portanto esta ferramenta também será para este e outros jogos futuros.
Multiplayer
Sendao está trabalhando sozinho no sistema de multiplayer do jogo, algo realmente muito difícil e desafiador, pois precisamos fazer do zero devido à vários motivos (principalmente, porque será um servidor standalone com game modes programados em Lua, similar ao MTA:SA), mas desde o último devlog, tudo evoluiu muito!
Qualquer pessoa já pode hospedar um servidor executando scripts Lua, entrar em outro servidor digitando IP e senha etc.
Ainda não está realmente agradável para jogar (falta muita coisa para melhorar e implementar), mas o básico já está funcional: andar, mirar e dirigir carros, com movimentação suave para compensação de lag. Nós queremos que IMPUNES seja mais que um jogo, mas sim, uma plataforma.
A evolução das inteligências artificiais
Eu sou um entusiasta de inteligências artificiais, e estamos já utilizando elas para desenvolver o IMPUNES.
Sendao usa Copilot e no momento eu uso Chat GPT. Ao meu ver, a principal utilidade, é você deixar de criar scripts simples e não importantes. Por exemplo, para testar o sistema de destruição, eu mandei o Chat GPT criar um script pra mim que atira uma bola no centro da câmera. Isto nem sequer será usado no jogo, é somente uma ferramenta de teste, um caso de uso excelente para você pedir pra um IA fazer pra você e economizar alguns minutos e um pouco de energia do seu dia.
Yuri também usou para algumas coisas, como o Toby, o cachorro humanoide para o rótulo de embalagem de chocolate em pó. Adobe Firefly também é incrível. Nós não gostamos da ideia de usar essas IA para criar o “núcleo” das coisas, mas é excelente para agilizar coisas secundárias.
No entanto, eu realmente adoraria incluir essas tecnologias dentro do próprio jogo, não hoje, mas eu acredito que em questão de meses, ou poucos anos, estarão extremamente acessíveis.
Como nós já explicamos, só queremos adicionar dublagem no jogo para algumas palavras e frases mais importantes, e focar em textos gerados dinamicamente por programação. No futuro, acreditamos que existirá excelentes ferramentas de geração de vozes que podem rodar em tempo real num jogo. Mas muito mais que isto, imagine algo como Character.AI, com pessoas treinadas com a nossa própria lore, rodando dentro do jogo, e você poder conversar com qualquer NPC. Seria incrível. Nem precisamos ir tão longe, imagine, dentro do jogo, ter redes sociais geradas em tempo real por IA! E essas IAs são influenciadas nos acontecimentos que você faz no mundo do jogo!
Nós estamos de olho nessa explosão recente de inteligência artificiais, e queremos no futuro implementar algo assim. Já tem algo semelhante ao GPT, aberto, rodando em Raspberry Pi (lento, mas funciona bem), nós acreditamos que no futuro algo assim pode rodar na GPU dentro do jogo, e vamos querer implementar.
Não nos importamos em compartilhar a ideia (caso outro jogo “roubar” esta nossa ideia), pois na verdade é bem óbvia e fácil de imaginar. Neste exato momento já existe assets pra Unity onde você pode conversar com NPCs usando o Open AI (mas usa API, portanto custa dinheiro). Esta tecnologia está evoluindo mais rápido do que você imagina.
Em suma, se você é um entusiasta de IA, irá adorar o nosso jogo. E se você odeia IA, saiba que nós usamos de forma moral, nós também não gostamos da ideia de usar IA para coisas importantes do jogo, nós vemos o uso como um auxílio de criatividade e produtividade em coisas secundárias.
O que virá em seguida?
Agora eu pretendo migrar o jogo pra Unity 2022.3 LTS, juntar a adaptação multiplayer (que está sendo trabalhada em separado), atualizar uns assets e outras coisas do meu PC. Após tudo isso, provavelmente nos próximos meses começaremos a focar nos NPCs e/ou polir o gameplay que temos no momento. Também é crucial otimizar o número de shaders, ainda mais que Unity é péssima nisso, eu gastei 8 horas esperando a Unity compilar os shaders para compilar o jogo pra gravar os vídeos (inclusive alguns vídeos eu decidi gravar em 720p dentro do editor por causa disso).
Nós realmente precisamos de pessoas para trabalhar no mapa, veículos, roupas e animações (e de certo modo, em sons, como explicado acima), mas ainda não temos dinheiro para pagar por esses serviços, e acreditamos que ainda não é o momento certo para abrir um financiamento coletivo. Eu era a única pessoa trabalhando no mapa, mas agora eu trabalho na programação, portanto o mapa do jogo está parado. É muito difícil encontrar pessoas habilidosas que estão dispostas a trabalhar por meses sem receber nada, com somente a possibilidade de receber por esses trabalhos futuramente, muitos aparecem mas logo desistem. No momento só há 2 desenvolvedores ativos, e 1 no multiplayer.
Nós continuaremos postando devlog somente a cada 2 meses, pois 1 mês passa rápido demais, e é broxante estamos animados trabalhando e termos que pausar para polir as coisas para mostrar ao público. Quanto menos pausas, melhor.
Doações
Muito obrigado para todos que doaram, já juntamos algumas centenas de reais, isto nos deixa mais seguros em gastar em mais coisas pro jogo. Boa parte das texturas da van foram compradas com esse dinheiro.
Prefira Pix: Qualquer valor; instantâneo; sem tarifas. Neste caso é somente Brasil.
Lá explica, com detalhes, toda a nossa ideia com este jogo. Eu recomendo altamente que leia para entender a nossa proposta e objetivo, afinal, este jogo é muito mais do que um GTA-like.
Não havia pessoas para trabalhar no projeto, portanto ele foi pausado durante vários meses para trabalharmos em um outro jogo menor, mas o destino nos trouxe de volta.
Voltamos a trabalhar no jogo em Dezembro de 2022, dentro de somente 2 meses, nós fizemos isto:
O que foi feito:
Implementado sistema de: carro, caminhão, reboque, ônibus articulado, moto, quadriciclo, triciclo, bicicleta e tricicleta.
Reimplementado o sistema de entrar e sair de qualquer tipo de veículo (pronto para produção, mas falta animações corretas). Inclui posicionamento dinâmico da mão na maçaneta e uso de física real para abrir e fechar a porta.
Animações de locomoção trocadas e manualmente ajustadas, e controle de personagem altamente melhorado para uma movimentação mais suave e polida.
Sistema de vegetação avançado com subsurface scattering, interação ao pisar em cima do mato, reação de vento realista, ajuste dinâmico de coloração que varia com o local e estação do ano e muito mais.
Novo sistema de fogo mais avançado (havíamos criado um próprio mas decidimos comprar um melhor), integrado com o sistema de vegetação: o fogo de espalha dinamicamente pelas plantas e árvores, deixando-as queimadas.
Criado 2 granadas explosivas: redonda e cilíndrica.
Criado 4 armas brancas: canivete “corta-fumo”, facão, faca tática, taco de baseball (madeira velha; arame farpado; alumínio). Elas gradualmente se sujam de sangue e outras sujeiras.
Criado 4 modelos de garrafas: refrigerante 600ml, refrigerante PET 2L, cerveja 350ml, dose/cachaça 1L. Inclui líquido dinâmico com física. A de cerveja e cachaça pode ser quebrada e usada como arma branca.
Criado uma árvore brasileira, com 9 variações: Terminalia Catappa.
Mais de 100 ícones pro minimapa.
Dezenas de outdoors e rótulos de garrafas.
Design próprio para as notas de dinheiro.
Implementado HBAO (Horizon Based Ambient Occlusion) que também inclui color bleeding para simular iluminação indireta.
Implementado neblina volumétrica.
Implementado um sistema mais avançado de GPU instancing para melhor otimização.
Adicionado algumas vegetações pelo mapa (ainda serão reposicionadas).
Adicionado efeitos visuais realistas e detalhados para boca-de-fogo (muzzle flash) e impacto das balas das armas (como detritos caindo no chão com física).
Adicionado novos sons para as armas.
Criado um sistema de expressões faciais e humor, controlado por scripts e ações específicas.
Melhorado algumas texturas e rosto dos personagens (mas ainda é principalmente um placeholder, muita coisa ainda mudará).
Criado um sistema de roda de ações/interações modular. Útil para futuras adições de mecânicas no jogo.
Criado ação para portões horizontais: você pode destrancar, trancar e empurrar o portão com a mão para ambos os lados. Ainda falta animação de arrombar.
Implementado um sistema modular de execução e gerenciamento de sons.
Criado som ambiente de vento dinâmico, que mistura 3 sons com base na intensidade.
Novo estilo de menu de pausa, agora transparente em tons de cinza, com fundo borrado (blur).
Criado um sistema de menu genérico modular que é construído dinamicamente por scripts internos ou externos.
Criado um shader similar ao dual-pass do SkyGfx que corrige várias limitações da renderização de texturas transparentes em jogos que usam deferred rendering (ainda não implementado no mapa, isto corrige os serrilhados nas texturas de grades).
Criado um shader de interior falso “parallax” de múltiplas camadas (interior, cortina, moldura). O algoritmo de profundidade foi criado por um expert, similar à solução de jogos como Forza e Spiderman (muito melhor que GTA Trilogy). Foi adicionado texturas separadas para o interior aceso e apagado, máscara de luz, vertex color para variar a cor, a luz interior atravessa levemente as cortinas, o vertex alpha varia a textura das cortinas, há correção para não distorcer vidros largos, suporta superfícies curvadas etc. Tudo otimizado num único polígono. Ainda não implementado no mapa.
Editado todas as quadras para serem um pouco mais espaçosas e arredondadas (leftover de quando este mapa era pra mobile). Ainda não implementado no jogo.
Implementado um sistema de sangue volumétrico 3D, que inclusive cai na superfície formando uma mancha com a mesma forma que o sangue foi tocado.
Criado um sistema de texto-para-textura. Você pode digitar qualquer texto, escolher estilo de fonte, cor etc, e esse texto será adicionado como pintura ou gravuras nas armas e outras coisas. Por exemplo, você pode ter um taco de baseball escrito “DIÁLOGO”, “BOA NOITE” etc. Também será usado para variar as placas dos veículos.
Mapa do jogo totalmente replanejado por uma pessoa formada em urbanismo. Agora maior, mais interessante, mais natural, e melhor inspirado na cidade real.
Iniciado a criação de uma ferramenta própria para criar mods pro jogo, como veículos, armas e objetos.
Iniciado a criação de um sistema próprio de multiplayer online.
Entre várias outras adições e melhorias menores…
É tanta coisa que, mesmo com controle de versões, eu (Junior_Djjr) gastei mais de 2 horas só para fazer a lista acima… Foram 2 dias para fazer este devlog, estou exausto.
Sistema de carros
Quando o IMPUNES (2NTD) ainda era um jogo top-down pra mobile, nós compramos o Randomation Vehicle Physics (hoje grátis e abandonado) devido ao estilo arcade e modular. Mas estava muito abaixo dos nossos planos atuais, que é um jogo mais realista e detalhado, portanto decidimos jogar fora tudo o que fizemos com ele, e comprar o Realistic Car Controller, que é muito melhor, e tem uma excelente física semi-arcade/corrida. Eu sinceramente gostei mais desse controle de carro do que o do GTA V.
Os sons também precisarão ser recriados, pois queremos implementar o FMOD (usado por vários jogos, inclusive Assetto Corsa, inclusive, se você fez sons pro FMOD, nós podemos te pagar uma licença de uso).
Sistema de motos e bicicletas
Pra o sistema de motos, estamos usando Simple Motocross Physics, e para bicicleta, Simple Bicycle Physics. Ambos são basicamente o mesmo sistema com leves alterações, e sinceramente, longe de ser production-ready, mas funciona bem e eu gastei uns bons dias corrigindo e melhorando o sistema, ainda há muito o que melhorar e expandir (por exemplo, não há danos ainda e o sistema de empinar está muito básico), mas já está incrivelmente divertido e natural de pilotar. Eu realmente não esperava que este jogo tivesse uma física de moto e bicicleta tão legal! E há até tricicleta (necessário pra nossa cidade)!
O ponto forte está nas animações procedurais. Praticamente todas as animações que você vê são procedurais calculadas com física simulada. Há até mesmo detalhes como o pulso movendo ao acelerar a moto, e os pedais da bicicleta voltando caso interromper no meio de uma pedalada.
No vídeo eu nem sequer mostrei os sons das motos, pois são muito ruins. Também iremos implementar os sons por FMOD.
Entrar e sair de veículos
O jogo já havia um sistema de entrar e sair de veículos, mas era um protótipo, agora eu programei um do zero, já preparado pra produção final, prevendo como será o comportamento de IAs etc. Toda a base já está funcional e estável, suportando inclusive sentar no banco detrás em carros de 2 portas (algo que eu realmente sinto falta no GTA). Só falta mais testes para implementar NPCs e outros ajustes para veículos específicos (como ônibus). Uma das dificuldades é que o jogo terá suporte à mods de carros, portanto tudo precisa ser modular.
O destaque está no sistema de portas: a mão é posicionada dinamicamente na maçaneta da porta usando IK, na qual desliza até o canto da porta para empurrá-la com física real. Sim, eu fiz questão de fazer todo o sistema de porta com física em vez de animação pré-definida, eu acho importante num jogo onde a mecânica principal é entrar e sair de carros, tudo fica muito mais natural, e ações do mundo podem te impedir de abrir a porta, assim te interrompendo. Em carros baixos, o canto da porta irá bater na calçada, te impossibilitando de abrí-la (o personagem sairá automaticamente pelo outro lado na segunda tentativa).
Infelizmente não pudemos fazer novas animações próprias e melhores, nós realmente precisamos de algum animador na equipe com experiência em IK, e de preferência criar animações com métodos avançados, como o uso do Kinect. Não temos dinheiro para comprar ou contratar mocap.
Animações de locomoção
Uma das coisas mais criticadas no nosso jogo, e que nós sempre deixamos claro que são placeholders, são as animações de andar, correr etc.
Compra ou contratação de mocap estão fora de questão (não temos verba), e animações de locomoção grátis da Mixamo, pior ainda. Gastamos algumas centenas de reais em animações de verdade, mas não era o bastante, pois o nosso controlador de personagem, mesmo que bem avançado e completo, é péssimo em movimentação (os assets de locomoção grátis pra Unreal são melhores que os pagos pra Unity, eu fico incrédulo), estava muito longe da qualidade de movimentação de um jogo triple-A. Eu gastei semanas fazendo ajustes nas animações e controle de personagem para ter o resultado atual, e valeu a pena.
Eu também adaptei os 3 níveis de movimentação (walk, jog, sprint) onde você aperta uma vez pra correr e começa a fazer “jog”, como vários jogos atuais, e diferentes animações para começar a andar com base na direção.
Algumas pessoas podem achar a movimentação ainda não tão natural, mas isto é proposital! Nós não queremos uma movimentação natural, pois a movimentação humana é naturalmente lenta, e um gameplay lento não é agradável de jogar, estamos procurando somente polir. Eu procurei uma movimentação um pouco mais voltada à jogos de aventura, mais ágil e leve de controlar, completamente o inverso de jogos como RDR2.
Eu usei root motion para movimentação, com blends relativamente rápidos, mas a rotação é totalmente por script para o jogador sentir melhor o controle de direção. Enquanto mirando, toda a movimentação é por script, pois mover influencia a mira, portanto escolhi algo mais linear e previsível para ficar melhor durante o combate.
Nós consideramos usar motion matching (altamente usado em jogos triple-A atuais), mas vimos uma equipe que fez isto com o mesmo sistema de personagem que a gente usa e demorou meses, então não vale a pena pra nós, pois simplesmente conseguir criar o jogo é mais importante que tudo. Quem sabe no futuro…
Ações
Sempre pensando em expandir o jogo no futuro, eu procuro fazer sistemas modulares que ajudam a adicionar novas mecânicas, e a roda de ações é uma delas.
Scripts, tanto internos quanto externos, podem adicionar ações para esta roda em determinadas condições de gameplay, principalmente para interagir com objetos.
É também excelente para economizar botões, pois o jogador poderá ter 4 diferentes ações/interações num único botão, e esta mesma interface pode ser usada para interagir não só com objetos do mapa, mas também dialogar com pessoas, ou usar um item do inventário (perceba que é bem similar ao meu mod Inventory System).
Aproveitando, eu implementei isto para os portões de abertura lateral (os de abertura por articulação você abre empurrando com o corpo), ou seja, você pode trancar e destrancar o portão, ou abrir e fechar puxando para os lados, a mão do personagem irá se mover proceduralmente. Eu também ajustei a física de uma forma que é possível andar devagar do lado do portão para empurrá-lo com a mão, não é a forma perfeita de fechar o portão neste jogo (principalmente no teclado, pois é necessário andar devagar), mas funciona e é imersivo.
O que falta é algo para arrombar o portão (afinal, não faz sentido você destrancar o portão de uma casa que não é sua) e fazer trancar também as portas e portões de articulação. Também algo para você escolher qual pessoa ou objeto interagir, quando há vários próximos (no momento sempre pega o mais próximo).
Menus
Eu criei um sistema de menu modular, já pensando no futuro, isto é, menu totalmente construído por um script interno ou externo, útil para outras mecânicas do jogo ou até mesmo mods com menus.
Com isto, foi definido um novo estilo de interface gráfica pro jogo, mais voltado ao cinza, com fundo borrado (blur).
Agora o menu de pausa ficou bem mais bonito:
Shader de interior parallax
Quanto mais tempo passa, tal efeito de janelas com profundidade se torna cada vez mais obrigatório nos jogos, não simplesmente por existir profundidade, mas fazer isto através de um shader é uma excelente e otimizada maneira.
Portanto, eu decidi que, sim, IMPUNES usará este shader nas janelas! E foi uma decisão um pouco difícil pois, além de conseguir um bom shader, também requer muito trabalho manual para adaptar as janelas à ele, senão ficará uma porcaria como no GTA Trilogy.
E eu já adianto que não existe isto perfeitamente pronto para usar na Unity, eu me baseei num algoritmo de profundidade do bgolus (Ben Golus), que é muito experiente com shaders. Assim como Forza, Spiderman e outros jogos, isto não usa cubemap, é uma textura única distorcida (UV warp) para dar sensação de profundidade, pois é mais otimizado e simples.
Com base nisto, eu finalizei o shader adicionando texturas separadas para o interior aceso e apagado, máscara de luz, vertex color para variar a cor, a luz interior atravessa levemente as cortinas, o vertex alpha varia a textura das cortinas, há correção para não distorcer vidros largos, suporta superfícies curvadas etc. Tudo otimizado num único polígono.
Ainda não foi implementado no mapa pois o mapa ainda será sendo re-planejado, portanto muita coisa irá mudar. Nós só poderemos implementar quando o mapa do jogo estiver estável, pouco propenso à mudanças, pois é necessário definir o material e segundo canal de mapeamento uv em cada janela, além de pintar as vértices etc. Será um aumento no tempo de produção do jogo, mas o resultado final vale a pena.
No momento estamos usando texturas placeholders do Forza Horizon 4 (o próprio autor compartilhou a textura). Quando tivermos props para modelar interiores no jogo, iremos criar alguns interiores próprios para gerar essas texturas (renderizadas) pro interior falso.
Vegetação e fogo
The Vegetation Engine é um dos assets pra Unity mais incríveis que eu já vi, e sinceramente, está muito acima do que a gente precisa pro jogo, mas fiz questão de comprá-lo. Lembrando que isto é só um sistema e shader de vegetação, não usaremos os assets (como modelos das árvores), nós estamos modelando nossas próprias árvores baseadas em espécies brasileiras, como por exemplo, esta amendoeira criada pelo Meck:
Há 9 variações de modelos da mesma espécie, já totalmente adaptada pro sistema de vegetação e com LODs manualmente criados.
O capricho é tanto que cada folha e galho na verdade foi inicialmente modelado em 3D com altíssimo highpoly, e cozinhado (baked) para uma textura única com shadermaps para simular o mesmo visual de maneira otimizada. Esta é a mesma técnica usada em jogos como GTA V. Nós também implementados a otimização de transparency overdraw.
Como dito no devlog anterior, eu criei um sistema de fogo próprio pro IMPUNES, estava ótimo, supria as nossas necessidades, mas após eu ver o Ignis, e implementação automática dele com o TVE, eu fiz questão de jogar tudo fora e comprá-lo. Além dele queimar se espalhando pela vegetação, ele tem uma ótima base de fogo para queimar objetos de madeira etc. E os efeitos visuais são excelentes (há opções de efeitos mais leves para PCs fracos).
Ilustrações
Ok, Junior_Djjr e Meck de novo, cadê as novas pessoas do projeto?
Yuri é uma delas, também conhecido como Yhdf, trabalhou bastante no GTA Underground e está cuidando de umas ilustrações do IMPUNES, como marcas, outdoors, embalagens etc.
Todas as marcas do jogo são fictícias, com inspiração em marcas brasileiras ou comuns no Brasil. Em breve eu mostrarei o rótulo de cada garrafa, são muitas!
E até mesmo, dinheiros fictícios! Eu simplesmente adorei, eu achei estas notas mais bonitas do que as notas de verdade!
Ele também criou mais de 100 ícones para o minimapa. As letras serão montadas por script (para auxiliar em missões da comunidade).
Perceba que há também vários ícones sobre pontos turísticos, estes desenhos são do padrão de placas brasileiras e estarão dentro do jogo desativados por padrão, onde você pode ativá-los no mapa do menu de pausa para ir em cada ponto turístico do jogo para explorar!
Tenha a nota de que vários ícones da imagem acima foram feitos agora para não precisar fazer no futuro em caso de necessidade. Ou seja, ícones como lojas de móveis só quer dizer que existe uma possibilidade de ter uma loja de móveis no jogo, não é nenhuma confirmação.
Armas
Se você está impressionado com tudo o que já foi mostrado, acalme-se, e veja as imagens abaixo, abrindo-as em tamanho original pra ver cada detalhe.
Nós já temos um total de 6 armas de fogo (inclusive uma bazuca!), 2 granadas e 4 armas brancas, não só isto, cada arma há opções de peças opcionais (o jogo terá personalização de armas) e pinturas (um total de 15 pinturas), tudo isto foi criado, com qualidade triple-A, em somente 1 mês, por 1 pessoa (eu fui sendo só um diretor de arte), e isto é só o começo, já está chegando mais!
Isto é uma obra do mais novo membro da equipe, Zeneric, um canadense velho e surdo. A real é que não temos esse “patriotismo” de “o jogo 100% brasileiro”, o nosso único objetivo é criar um jogo legal, não importa como. Há um americano entrando também.
Eu fiz os shaders das armas, e ficou um tanto interessante: há um sistema de sujeira gradual, na qual sujará com o tempo e contexto, por exemplo dropar uma arma na terra aumentará a sujeira dela, e as armas podem aparecer já um pouco sujas dependente do contexto. E separado disto, há um desgaste de uso, que deixará mais preta a ponta do cano das armas de fogo. Estas mecânicas são mais avançadas até que RDR2.
Até o momento, eu (Junior_Djjr) e Zeneric somos os únicos membros da equipe trabalhando diariamente no jogo, mas diferente de antes, hoje há vários outros ajudando periodicamente e temos esperanças de que isto melhore conforme o jogo progride.
Sangue
Qualquer jogo de violência precisa ter um bom efeito de sangue.
Compramos um sistema de sangue volumétrico 3D, não se trata de física de líquidos nem nada do tipo, é somente uma mesh 3D animada (ou seja, é na verdade uma física de líquidos, mas baked), portanto é muito otimizado.
Algo muito legal é que inclui um sistema que mancha a superfície simulando a forma que o líquido foi tocado. Eu não sei como isto funciona (são umas texturas bem misteriosas), mas funciona.
Para as armas, eu criei um shader que faz blend de 3 intensidades de overlay de sangue, assim, principalmente armas cortantes, se encherão de sangue conforme o uso, mas um detalhe interessante é que o sangue também pode secar com o tempo, assim mudando de cor e brilho para simular sangue seco.
Texto para textura
Mesmo em 2004, GTA San Andreas já tinha placas de carros com texto variável, construído dinamicamente durante o jogo. É um absurdo um jogo não fazer o mesmo em pleno 2023.
Ainda não temos carros prontos para colocar as placas dinâmicas, mas veio a ideia: que tal escrever algo como gravura ou pintura nas armas?
Ou seja, no IMPUNES você pode colocar textos personalizados nas suas armas. Isto é uma mecânica muito divertida para personalizar tacos de baseball, pois é comum a venda de tacos com diversos diferentes textos.
Tal sistema é bem simples e interessante de existir, pretendemos aproveitar mais dessa mecânica, por exemplo escrever na roupa, provavelmente pichação, não sabemos ainda.
Ferramenta para criar mods
Farias, programador numa subsidiária da Microsoft, há pouco tempo atrás recebeu o título de MVP da Microsoft pra mixed reality (no momento só existe duas pessoas na América latina, ele e o cara com quem ele trabalha) e continua aqui conosco há vários anos, mas trabalhando pouco tempo pois ele é muito ocupado.
Ele começou a criar uma espécie de versão simplificada da Unity em forma de aplicativo para a comunidade criar mods de modelos 3D pro jogo (veículos, armas, objetos).
Você cria o modelo no Blender e transfere para este software para finalizar a adaptação pro jogo, não só IMPUNES, mas também para futuros jogos da 2nibble, tudo com uma interface gráfica amigável e simplificada.
Para isto, foi criado um formato proprietário de arquivo de extensão “.2nm”, exclusivo para nossos jogos, que é carregado e lido durante a execução do jogo. E sim, toda a base já está funcional.
Multiplayer online
Sendao, um americano com 30 anos de experiência em programação, trabalhou muito com web backend e networking para jogos, começou a fazer bases para um sistema próprio de servidor multiplayer online pro IMPUNES.
Unity tem soluções multiplayer, mas nenhuma é eficaz para o que nós realmente queremos, que é algo inspirado no MTA:SA, onde a comunidade hospeda servidores com modos de jogo próprios, personalizados em programação Lua.
A real é que um multiplayer online nunca foi o foco inicial do jogo, a nossa ideia sempre foi focar no singleplayer para criar uma base sólida de jogadores, e depois, caso o jogo ir bem, fazer o multiplayer online. Mas o destino está nos arrastando para trabalhar no multiplayer online já de início.
Sendao tem alta experiência com redes, e um outro programador (brasileiro) que se interessou em nos ajudar, já programou um sistema multiplayer do zero pro jogo CrossFire, então temos 2 cabeças experientes para criar um bom multiplayer pros nossos jogos, e precisamos aproveitar a oportunidade.
Isto não quer dizer que está confirmado que IMPUNES terá multiplayer online. Mas está progredindo!
Planos futuros
Outro novo membro da equipe, Luiz Phillipp, formado em arquitetura e urbanismo, está criando um projeto urbanístico pra cidade de Canário!
Agora a cidade se parece muito mais com uma versão simplificada de “Balneário Camboriú”. No entanto, isto são os planos para a versão “alpha” do jogo, a versão “beta” haverá também o lado oeste, inspirado na cidade real de “Camboriú”, com locais mais pobres “da quebrada”, e a versão completa do jogo incluirá a zona rural.
O plano antigo foi montado por eu e Meck há muitos anos atrás, no “Projeto 2NTD”, era uma cidade de 1,5 kms de extensão, agora foi aumentada para em torno de 2,5 kms de extensão, e se contar as montanhas da imagem acima, atinge 6 kms (a extensão do GTA San Andreas, de fato, o objetivo do mapa completo é em torno da área do GTA San Andreas, ou seja, mais da metade do GTA V).
Brayan, que também é formado em arquitetura e urbanismo e está nos auxiliando nos planos, começou a modelar um edifício inspirado no Yachthouse (onde Neymar mora), está ficando muito legal mas ainda em fase inicial, em breve mostraremos. E sim, ele terá a altura real (quase 300 metros), será um dos maiores edifícios da vida real já representado em jogos.
Tanto Luiz quanto Brayan notaram que as quadras que eu modelei faltam espaçamento e maiores tamanhos de lote, além de uma calçada mais larga para um melhor gameplay, portanto, além de toda a programação que eu citei ter feito, eu também trabalhei mais na modelagem do mapa, editando todas as quadras para maior espaços, lotes, e arredondando mais as curvas (pois o mapa havia sido modelado pra mobile). Portanto agora as quadras não encaixam mais nas ruas antigas, precisamos finalizar o novo planejamento de ruas, e modelar a base delas, para poder encaixar as quadras novamente e poder mostrar o mais novo mapa do jogo.
Já adianto que o novo plano de cidade do jogo, não será tão plana, isto é, agora o cenário haverá mais elevações, mas ainda não tanto (como na real).
E lembrando mais uma vez de que as texturas, blends e decals de sujeiras, pichações, vegetações etc só serão adicionados quando o mapa estiver mais avançado. Ainda há muito trabalho pela frente.
Ideias
Ok, mas desenvolver um jogo não é só programar, modelar ou desenhar, é, antes de tudo, idealizar.
Junto com esta postagem, foi postado pela primeira vez um texto explicando toda a nossa ideia com o jogo IMPUNES no site da 2nibble, tentando resumir as informações já confirmadas ou praticamente confirmadas. Eu recomendo altamente que você leia para entender a nossa proposta (o texto não é tão longo), pois este jogo não é um “GTA clone”, o nosso objetivo é algo muito diferente — no entanto, nós não nos importamos em sermos chamados de “GTA brasileiro”, entendemos que GTA é mais que um jogo, é um gênero.
Mas queremos deixar claro que o gameplay do IMPUNES será muito diferente do GTA, a ideia é um roleplay sandbox infinitamente expansível com conteúdos nossos e da comunidade.
O GTA, mesmo que sendo um jogo de mundo aberto, ainda é um jogo linear. IMPUNES é totalmente não-linear, até mesmo as regras de gameplay serão escolhidas por você, e a direção que você escolhe em seu gameplay mudará o destino das coisas.
Este jogo está longe de ser um jogo de 1 pilar só, está muito longe de ser sustentado como “o GTA brasileiro”, é muito mais que isto. Nós andamos discutindo muito sobre ideias, por exemplo, recentemente Yuri compilou o plano sobre o sistema de reputação de personagem num documento de 5 páginas (e que ainda aumentará. Edit: já subiu pra 17 páginas). Nós sabemos muito bem o que estamos fazendo, e temos todos os planos para criar um jogo original e divertido, não simplesmente um jogo que é legal porque se passa no Brasil.
Equipe
Nós abrimos contratações um tempo atrás, devido à um temporário hype que o jogo recebeu, houve em torno de 40 pessoas entrando em contato querendo ajudar. Nós chamamos 10, e sobrou praticamente ninguém.
A real é que as pessoas ficam animadas querendo ajudar mas logo o ânimo desaparece, ou há outras necessidades de vida mais importantes, uns desistiram e outros fazem trabalhos ocasionais. Afinal, estamos milhares de reais no negativo, não recebemos nenhum financiamento ainda, mas pretendemos abrir no futuro, no momento só há por doações. Estamos longe da possibilidade de pagar salário para mais pessoas ajudarem, portanto a gente trabalha como “sócios”, prestadores de serviço, onde cada pessoa recebe pontos de prestação de serviço que no futuro serão convertidos para uma porcentagem dos lucros.
No momento só há 2 ou 3 pessoas trabalhando diariamente, mas felizmente, há vários outros ajudando e dispostos a começar a ajudar em breve, e nós acreditamos que irá aparecer ainda mais pessoas conforme a gente prova a nossa capacidade.
Se você é um dos 40 que quiseram trabalhar com a gente, e ainda sente vontade, nos contate novamente por mensagem na página do Facebook (recomendado) ou por e-mail. Não iremos entrar em contato de novo com as pessoas anteriores, afinal, se você ainda está aqui, é porque você realmente está interessado.
Nós não aceitamos pessoas iniciantes, no entanto, nada adianta pessoas experientes mas sem interesse, portanto, você realmente estar interessado é um fator que pode ser até mais importante que seu nível de experiência. Estamos precisando de ajuda em praticamente qualquer área, principalmente animadores e modeladores, exceto programação.
Doações
Prefira Pix: Qualquer valor; instantâneo; sem tarifas. Neste caso é somente Brasil.