Teste: bass.dll nova VS antiga + crash na CLEO+

Atualização: Havia um crash na CLEO+ quando uma moto da polícia tentava atirar. Corrigido.
Como sempre, coloquei na Lista de Crash. Baixem a nova versão. Eu espero que não tenha mais nenhum problema, se encontrarem, avisem o mais rápido possível, mesmo que seja incompatibilidade com algum mod. Inclusive, provavelmente o crash corrigido agora era alguma incompatibilidade.
   
 Atualização: Sobre a bass.dll, o problema parecia super raro, pois praticamente ninguém respondeu, mesmo assim, eu decidi que o download agora virá com a versão antiga da bass.dll pois parece ter resolvido para algumas pessoas. Edit: aparentemente era uma incompatibilidade com MoonLoader, que só é compatível com bass.dll antiga. Eu avisei ao autor da CLEO para que não atualize a bass.dll ainda.

O texto ainda continua aí:

Algumas pessoas relataram crash ao fechar o jogo na nova CLEO, que inclui uma nova bass.dll.

Não só para estas pessoas que estão com problemas, como para quem não tem problema, eu recomendo testar a versão antiga da bass.dll para ver se este problema é resolvido, ou aparece algum problema novo.

Algo bom da nova bass.dll é melhor suporte para certos dispositivos de áudio. bass.dll não é um projeto da CLEO mas sim da Un4seen, lá sempre há novas versões.
 
Avisem nos comentários qualquer coisa. Caso a velha bass.dll funcione bem para todas as pessoas, voltarei a incluí-la no download. Abaixo está o download da versão antiga.
  
download-baixar-4532137

Fãs do 171 me pagaram 300 reais por dia para dizer isto

Atualização:
Os devs do 171 soltaram uma nota defendendo algo que eu estou há 3 dias sem parar falando que eu NÃO SOU CONTRA, que é o uso de assets.

Isto já foi além da desonestidade, já faz 3 dias que eu estou falando que eu não sou contra o uso de assets, eu até falei que eu já comprei até mais assets que o 171 pros meus jogos, mas não adianta, as pessoas continuam falando que eu disse isso, e ignoram totalmente o ponto da crítica, que é a falta de transparência nas metas e o resultado entregado.

Não adianta, já faz 3 dias a mesma coisa, todo mundo só inventa coisas que eu não falei e não concordo, para defender, sendo que o que eu realmente falei ninguém consegue defender.
 
Eu duvido que a maioria das pessoas que doaram pra esse projeto acreditavam que essas metas de dezenas de milhares de reais eram somente para implementar sistemas prontos (e ainda mal implementados). Isto é uma denúncia de falta de transparência com os apoiadores, mas youtubers e sites de notícia adoram a palavra “fraude” pra gerar cliques.
 

Atualização 2022:
Com o lançamento do jogo 171, analisando os arquivos, agora eu tenho as provas concretas do que eu andei falando desde 2015:
  • Havia uma meta de 85 mil reais para criar um sistema de dia e noite, pegaram o dinheiro e compraram um asset de 39 dólares (200 reais) na Unreal Marketplace: Ultra Dynamic Sky. Há inclusive chuva, mas por algum motivo, eles propositalmente desativaram ainda (nós reativamos). Edit: as pessoas estão falando que menti dizendo que eu falei que eles disseram que custa 85 mil, sendo que não é isto o que está escrito, está escrito “havia uma meta”, mesmo que você desconsidere metas anteriores, esta meta adicional ainda é de 27 mil reais, que inclui um item que custou 200 reais, então eu pergunto, é honesto existir essa meta? Eles pelo menos deviam ter dito que eles iriam comprar um sistema pronto, pois a meta dava a entender que eles iriam criar o sistema do zero (e por isso precisa atingir aquela meta). Edit 2: Explicando ainda mais isso do ciclo de dia e noite para deixar claro, existia uma meta de 58 mil, não tinha o ciclo de dia e noite lá, mas na meta de 85 mil tinha como um item, isto dá a entender que eles precisavam de 85 mil reais para criar o ciclo de dia e noite, que nem com 58 mil eles não conseguiriam, no entanto, o sistema custa só 200 reais.
  • O sistema de carros obviamente também não foi criado por eles, é o FGear, de 100 dólares (550 reais).
  • O sistema de controle de personagem e armas é grátis: Advanced Locomotion.
  • Animações grátis da Mixamo.
  • Cachorros editados do Animalia.
  • Minimapa do Journeyman Minimap, de 300 reais.
  • GPS é o Roadmap Navigation de 50 reais.
  • Não criaram nem o sistema de NPCs, é o World Director NPC de 550 reais.
  • Os efeitos de impacto são do Ballistics FX, 550 reais.
  • Vento do Adaptive Binaural Wind (não mais a venda).
  • O menu do jogo é o Ezitna Kit System (nos arquivos se chama “Antize Menu”) (400 reais).
  • Água do Branching River Tool (180 reais).
  • Fios/cabos do Ultimate Cable System FT, 26 reais.
  • Escadas do Impromptu Stairs (27 reais).
  • Árvores do In Tree Creator (250 reais).
  • Algumas vegetações e texturas do Redwood Collection (não sei qual deles).
  • Sangue do YI Blood Droplets (eu acho que este), 160 reais.
  • Os códigos do jogo quase não têm conteúdo deles, e quando tem, é péssimo.
  • Quase todos os nomes dos arquivos são em inglês de vários assets, inclusive vegetação, props e texturas, e vários arquivos em português foram só renomeados também.
  • Vários personagens e armas estão com nomes em inglês e estilos de texturas completamente diferentes, indicando que também não foram criados por eles. A granada por exemplo é daqui, veja, 60 reais.
  • Eles adicionaram um shader de upscale/sharpness e disseram que é DLSS, sendo que é ativado mesmo em placas de vídeo da AMD.
  • Ao analisar os arquivos, fica ainda mais claro a má otimização do jogo.
  • Edit: já que a merda tá feita, vou listar mais alguns (nem todos são pagos e uns são só ferramentas, o que não é problema, pode ser útil pra vocês entenderem melhor como foi criar este jogo): DonMeshPainting, PrefabTool, MagicNode, PTMTool, FMod, Linter, ObjectPool, SkinnedDecal, rdLODtools, UIWS, RoadmapNavigation, AsyncLoadingScreen.

Isto é quase o jogo inteiro, e totaliza menos de 3 mil reais de custo (edit: com mais assets encontramos, deve chegar a 4 mil), e eles muito provavelmente compram em promoção (não sei da Unreal, mas Unity sempre faz 50% de desconto). Ainda deve ter mais que ainda não vimos, pois eles trocaram o nome de vários arquivos.

Ou seja, o sistema do jogo é um asset flip onde a única coisa criada por eles foi o mapa (exceto boa parte da vegetação e texturas), carros, armas (não todas), alguns personagens e quase nenhum script.

Se compra o lápis e papel para criar o desenho, mas não se compra o desenho (e ainda inventando metas de maneira desonesta). Eu mesmo já comprei muitos assets pros meus jogos, mas eu nunca inventei metas de milhares de reais pra depois comprar um sisteminha barato e pronto e enfiar no jogo de qualquer jeito todo bugado. Se comprar sistemas prontos fosse a ideia inicial deles, eles deviam ter deixado transparente! Pois muita gente doou para eles pensando que eles iriam criar essas coisas em vez de comprar prontas, afinal, as metas eram valores altos.

É um absurdo afirmar que esse jogo é “100% brasileiro” onde 90% do sistema é comprado de gringos na Unreal Marketplace.

Respondendo mais uma vez esse argumento de que o dinheiro serviu pra sustentar os 7 desenvolvedores, primeiro, não são 7, são 3 ou 4 (1 game designer, 2 modeladores e 1 designer (de texturas ou artes?), chega a ser engraçado as pessoas realmente acharem que o dinheiro foi usado como salário para eles trabalharem diariamente nesse jogo, se tivessem trabalhado diariamente, o jogo seria muito melhor, sendo que eles nem sequer estudaram coisas básicas, como otimização, não souberam programar nem o básico, preferiram gastar 300 reais num minimapa em vez de criar um do zero (eu já programei um minimapa do zero duas vezes, uma delas durante uma game jam).

E quem fica dizendo que Catarse pega 13%, tem que pagar recompensas etc, ainda sobra uns 200 mil, assim como quem fica falando que o jogo é criado em 7~8 anos devido a mudança de engine, em vez de 10 anos, se contar o início de tudo (final de 2010) é quase 12 anos. Dizer “10 anos” é uma média, depende se você quer contar antes ou depois da mudança de engine.

Daí eu deixo a pergunta no ar:
Será que vale o que eles entregaram (neste nível de conteúdo, polimento e otimização), mesmo com 10 anos de desenvolvimento e quase 300 mil reais de investimento, mesmo com quase todo o gameplay base comprado já pronto? E foi justo eles terem inventado metas de crowdfunding que depois foram convertidas na compra de 3 mil reais de assets prontos?

Edit: eu não consigo acreditar que há pessoas (inclusive o Gigaton) não entendendo o ponto disso tudo, eu estou dizendo que é desonesto eles terem comprado o jogo praticamente inteiro, e inventando metas onde quando atinge, eles usam o dinheiro para comprar itens prontos e baratos (algo que nem precisava de meta alguma), ou seja, tudo é desonesto, e principalmente para mostrar para as pessoas que ficam comparando o 171 com o GTA dizendo que eles criaram tudo sozinhos e que o jogo é 100% brasileiro etc, sendo que não é assim que indie funciona. Mesmo eles tendo comprado quase o jogo inteiro, eles ainda tinham quase 300 mil reais e 10 anos para polir, e não poliram.

Edit: agora há pessoas mentindo falando que eu afirmei que foi fraude, sendo que em absolutamente nenhum momento eu falei isso, eu só falei que é desonesto e criticável o que eles entregaram mesmo tendo usarem coisas prontas e gastarem tanto dinheiro e tempo com o jogo, não há absolutamente nada de fraude no que eles fizeram, somente incompetência e falta de transparência em dizer que eles iriam comprar assets em vez de criar os sistemas do zero. Eles ainda não se pronunciaram.

Edit: eu postei tudo isso no início do dia, e durante o dia INTEIRO eu recebi mensagens de pessoas discordando de mim falando que não há problema em usar assets prontos, sendo que eu deixei claro que isto não é o ponto desse texto! Eu mesmo falei que eu uso muitos assets em meus jogos, e eu já gastei até mais dinheiro do que o 171 em assets, eu não disse que é errado jogos usarem assets prontos, mas as pessoas estão distorcendo para fazer parecer que eu falei isso.


 
Os fanboys do jogo 171 começaram a me dar mais de 300 reais por dia.
 
01-9254400
 
Isto na verdade é um flood de cliques nos anúncios do site com o objetivo de criar cliques inválidos e fazer a minha conta ser banida.
 
Como eu sei que são eles?
 
Coisas assim aconteceram outras 2 vezes logo no dia seguinte que eu crio uma postagem sobre o 171 (mesmo que eu tenha elogiado). Eu já falei isto numa outra postagem:
 
Mas o gado não aceita estar errado. Criaram uma página no Facebook para difamar os meus trabalhos (inventando mentiras, por exemplo sobre a quantidade de anos que os jogos estiveram em desenvolvimento, espalhando que o 2NTD não era jogo mobile etc), fizeram floods nos comentários do blog e divulgação de vídeos do jogo nos comentários do blog e Facebook, e realizaram ataques DDoS no Fórum MixMods.
Isto aconteceu há 1 ano atrás: num dia o fórum ficou lento, eu passei 1 mês pensando que era bug, cheguei a tentar realizar ações de manutenção no fórum, por passar tanto tempo, e durante o dia todo, a ideia de que isto era um ataque era inimaginável, pois nenhum idiota ficaria 1 mês 24 horas por dia atacando um fórum só para deixá-lo mais lento.
Isto coincidentemente aconteceu poucos dias depois de eu criar uma postagem sobre o 171, era inimaginável, mas ativei o modo anti-ataque do Cloudflare e resolveu.
Agora, quando eu criei esta postagem, voltou a acontecer logo em seguida, e ativei de novo o modo anti-ataque e resolveu de novo, o que indica que, sim, existe pessoas idiotas o bastante para passar 1 mês 24 horas por dia tentando deixar um fórum lento porque o dono dele criticou um jogo.
 
Neste novo caso, aconteceu no mesmo dia que eu postei o Warpunk, que é novo jogo que eu estou criando. Tire suas próprias conclusões.
 
01-2767338
 
A comunidade fanática do jogo 171 é tão tóxica e mente fechada que, quando recebem críticas, são capazes de se organizarem para tentar fazer a pessoa perder o emprego.
 
Os anúncios da MixMods são o meu emprego hoje, o Google Adsense cobre 70% dos ganhos, e por eu ter criticado a comunidade fanática do 171, eles chegaram ao extremo de tentar me fazer perder esse emprego.
 
É óbvio que isto nunca irá acontecer, estamos falando da maior inteligência artificial do mundo, Google, e os produtos Google Ads e Google Adsense são a fonte de lucro deles, eles têm ferramentas ultra inteligentes que detectam e invalidam esses cliques automaticamente, assim todos os cliques falsos serão desconsiderados sem a necessidade de banimento. O que importa é a intenção.
O máximo que pode acontecer é de alguns cliques não serem invalidados e eu ganhar alguns reais com isto. Só é chato que agora eu preciso esperar o recebimento para ter a visão real dos ganhos finais.
 
Ainda mais: eles decidiram fazer isto no dia que eles viram que eu estava criando um jogo novo, ou seja, agindo diretamente contra a criação de um novo jogo indie, por que alguém precisa chegar a esse extremo?
 
Isto que nem sou hater do 171, eu sempre disse que o jogo é “ok” (e após os 300 mil reais que eles conseguiram, está melhorando bastante, o poder do dinheiro) e eu só acho a comunidade muito overrate e fanática (olha só, mais uma vez a própria comunidade prova que estou certo), eu disse que pretendo comprá-lo, e mais recentemente venho fazendo elogios, por exemplo à compra do mocap e sistema de luta (se eles realmente criaram). Se eu fosse um hater, o que aconteceria? Cercariam minha casa segurando tochas?
 
Antes eu comparava a comunidade fanática do 171 com torcedores de futebol fanáticos, mas agora eu vejo que é muito pior (exceto torcida organizada), nenhum torcedor de futebol tenta duas vezes por mais de 1 mês derrubar um site e acabar com o emprego de uma pessoa só porque criticou (parcialmente) os torcedores de um time (e olha que esta pessoa nem segue time algum). Isto é mais comparável com psicopatia.
 
Este é o preço por dar sua opinião verdadeira na internet.

Palm Foliage Improvement (palmeiras originais melhoradas)

Vegetação HD para GTA San Andreas, mas diferente: base/tronco original do GTA SA com folhas em HD.
gta-sa-mod-hd-palms-vegetation-gta-v-to-sa-6045755
Troca realmente todas as palmeiras do jogo, 28 arquivos .dff.
gta-sa-mod-hd-palms-vegetation-gta-v-to-sa-9721692

gta-sa-mod-hd-palms-vegetation-gta-v-to-sa-1508700

gta-sa-mod-hd-palms-vegetation-gta-v-to-sa-2100112
Cada arquivo .dff varia entre somente 100 KB e 300 KB, portanto, ainda é bem leve, e no download vem opção de .txd com texturas não tão HD. 
  
‎Autora: Firefly
download-baixar-4532137
  
Veja também:

SAVE 256 Cars (salvar 256 carros)

Um mod CLEO clássico do Zaz!
Você pode salvar até 256 veículos pelo mapa de San Andreas.
gta-sa-mod-cleo-save-256-cars-zaz-garage-8525017
Consiste em 8 diferentes estacionamentos, onde é possível salvar 32 veículos cada, incluindo peças tuning (exceto Tuning Mod, que é um sistema totalmente diferente).
saveareas-2653023
O funcionamento é simples:
Nestes locais, haverá uma marca vermelha. Entre nela à pé para os carros aparecerem, e dentro de um carro para salvá-lo. Você mesmo o estaciona. Ao sair do local, será salvo automaticamente num arquivo (não precisa salvar o jogo).
O texto do mod era muito mal escrito, portanto eu (Junior_Djjr) o redigitei e adicionei opção de tradução para português.
  
‎Autor: Zaz
download-baixar-4532137
  
Veja também:

[Warpunk] Construção construindo (mês 6)

Antes tarde do que nunca: mais uma atualização sobre o progresso de desenvolvimento do nosso jogo, Warpunk!


warpunk-jogo-brasileiro-rts-2nibble-dev-7-3777076

Antes de tudo, vamos explicar esse “atraso”:
Eu (Junior_Djjr) sempre pensei neste jogo como algo rápido, a ideia inicial era que uma versão beta seja lançada no início de 2021, mas por fim estou trabalhando no jogo praticamente sozinho, e mesmo assim, eu também comecei a recriar a MixMods no WordPress, e eu, junto com parte da equipe 2nibble, estamos iniciando um e-commerce (ainda secreto) previsto para Dezembro, portanto tudo está muito corrido, criando o site, estudando o assunto, praticando e montando o estoque. Eu até mesmo voltei para a administração do GTA Brasil, trabalhei muitíssimo e parei de novo, e a nova versão da CLEO+ que ficou 6 vezes maior do que a atualização da CLEO 4. Então, é, esta “demora” não foi atoa, eu nunca de fato foquei em desenvolvimento de jogos.

E ainda, recentemente eu tive uma entrevista de emprego para o cargo de Especialista em Unity Engine numa empresa brasileira que trabalha ou já trabalhou com a Globo, Folha de São Paulo, Saraiva, AVON, Abril, Valor Econômico, Philips, Honda, Mercedes-Benz… O meu cargo seria para o desenvolvimento de aplicações para Microsoft Hololens através da Unity Engine. Eu estou esperando o resultado, mas seja qual for, farei uma postagem aqui sobre isto ter me inspirado a continuar — mesmo se eu não for aceito, o que é provável pois eu não tenho experiência de trabalho, só a oportunidade já me deixou feliz.

Inclusive, eu mostrei Warpunk e IMPUNES na entrevista, isto me obrigou a antes passar uma semana polindo o jogo (se bem que eu acabei mostrando rápido demais, nem chegou perto de alguma chance de bug), assim o Warpunk hoje está com excelente estabilidade, praticamente sem bugs conhecidos (mas ainda bastante prototipado). Eu também poli o nosso outro jogo guardado na gaveta, mas nem cheguei a mostrar (pois os 8 GB de RAM aqui não aguentava 3 Unity abertas ao mesmo tempo).


Vídeo gameplay #2

Como de costume, um vídeo do gameplay atualizado!



O que foi trabalhado?

Eu estou gostando de contabilizar o tempo gasto no jogo, pois este jogo é mais como uma prática e desafio pessoal. Não faço ideia de quantos dias trabalhei neste jogo desde a última publicação. Considerei 2 meses, acredito que estamos no mês 6. Mas com certeza passou das 15 mil linhas de código (lembrando que agora foquei em polimento).

Um dos meus focos nesse meio tempo foi no sistema de construção.

Embaixo do minimapa há botões que na versão final serão preenchidos com diferentes visualizações do mapa, e um deles, faz aparecer a grade no mapa todo, para você saber onde é possível ou não construir algo.

warpunk-jogo-brasileiro-rts-2nibble-dev-4-7420846

Enquanto posicionando a construção à ser construída, caso ela precise de uma fonte de energia e/ou recursos, e não há nenhuma próxima, piscará o ícone informando a falta.

Ainda pretendo mudar, pois pisca a cada 1 segundo e pode atrasar o jogador nesta decisão, colocarei “sub-ícones” nos cantos dos quadrados, assim sempre visíveis.

No momento o pipeline URP da Unity não suporta decals ou projectors, felizmente encontrei um ótimo shader do Kink3d para isto. É screen-space (ou seja, não é renderizado no mundo, mas sim na sua tela), consegui fazer parecer ser renderizado somente no chão simplesmente alterando a ordem de renderização. Gostei do resultado.

Inspirado em vários jogos RTS, como Earth2150, as luzes no chão são indicadores de recursos disponíveis à serem coletados (quanto maior e mais brilhante, mais recursos disponíveis, e abaixam com o uso). Somente a coleta de recursos consegue ser construída em cima destas luzes.

Tais campos de recursos são bases, mas, lembre-se, isto é um jogo open world, você não é obrigado a usar aquele campo de recursos para construir sua base lá, você pode procurar por outros campos espalhados pelo mapa para utilizá-los, construir sua base principal longe do campo etc. Não existe bases fixas (pelo menos não no modo normal), e a opção de mapa procedural faz com que você nunca saiba onde estão.

warpunk-jogo-brasileiro-rts-2nibble-dev-3-6872600

O progresso de construção usará uma sequência de modelos que trocam entre si.

Foi necessário usar o método mais simples possível, não há nem animações (além do crossfade com alpha dithering), pois somos uma equipe pequena (inclusive eu tive que modelar todas as construções sozinho, exceto a de pesquisa que o Vítor fez a base), então o jogo precisa ser simples para que seja fácil de expandir.
Também preferi o alpha dithering pois é genérico, diferente de um shader dissolve que é “mágico” demais para o estilo do jogo.

Outro detalhe é que o mesmo progresso de construção é usado para a “desconstrução” durante a demolição de uma construção/estrutura destruída, com a única diferença de que os objetos de materiais de construção são ignorados. Eu acredito que o resultado ficará excelente junto com efeitos especiais de fumaça e poeira.

warpunk-jogo-brasileiro-rts-2nibble-dev-11-1021528

Também recriei o efeito especial de chuva utilizando o VFX Graph, para que seja processado na GPU.
Como sempre, a direção da chuva é influenciada pela direção do vento (assim como fumaça e vegetação).

warpunk-jogo-brasileiro-rts-2nibble-dev-8-4320932
warpunk-jogo-brasileiro-rts-2nibble-dev-9-9405151

O tema deste cenário em específico é floresta tropical brasileira, portanto, faltava casas brasileiras lá.
Lembrando que o jogo se passa num cenário apocalíptico (não confundir com pós-apocalíptico), portanto tais casas estão abandonadas. São destrutíveis.

warpunk-jogo-brasileiro-rts-2nibble-dev-6-6088455

Para poder reutilizar sem a criação de novos modelos (na verdade, eu ainda irei, mas para evitar), eu fiz um shader que possibilita a pintura de até 4 cores. Baseado nas coordenadas no mapa, a textura base e todas as 4 cores (2 na parede, 1 na porta e 1 na janela) são trocadas aleatoriamente.
Para deixar ainda mais natural, por volta da casa será gerado, aleatoriamente, props. Na imagem acima há um poço. Ainda pretendo fazer mais coisas assim.
Lembrando que, devido a existência de um editor de mapa, não pretendo focar tanto no mapa procedural, o resultado já está bem legal.

warpunk-jogo-brasileiro-rts-2nibble-dev-5-7486510

Por parte do Meck, ele modelou a unidade de construção para a raça/civilização steampunk.

warpunk-jogo-brasileiro-rts-2nibble-dev-12-1764107

Nós tivemos a ideia de usar simplesmente um caminhão que carrega recursos. A quantidade de recursos será visível na caçamba (e o número ao selecionar, é claro).

O caminhão vai até o local de construção, levanta a caçamba para “descarregar” os recursos da caçamba e assim iniciar a construção. Isto bate com a ideia da construção continuar sendo construída sem a necessidade de uma unidade de construção lá, afinal, a unidade de construção é só um transportador de recursos, e iremos preservar a simplicidade de não adicionar pessoas: não há pessoas visíveis trabalhando lá, é construído automaticamente.

Podemos aproveitar isto para possibilitar levar recursos de um local ao outro.
No momento a ideia de gameplay é um coletor de recursos, e um distribuidor deles. O distribuidor distribui recursos para construções próximas, e a unidade de construção pode reabastecer ou entregar os recursos lá quando quiser. Se você tem múltiplas bases ou é aliado à outro jogador, você pode levar estes recursos para outro local, basta fabricar várias unidades de construção, abastecê-las e fazê-las levar os recursos para um outro distribuidor, o que deixa o gameplay ainda mais open world e dinâmico.

Também já discutimos muito a ideia de incluir um trem para o steampunk, que possa viajar para entregar recursos e unidades, sobre os métodos mais simples de implementar, vantagens e desvantagens para o gameplay… Ainda não sabemos se será incluído, mas se for, será mais futuramente. Mas ainda existirá um pequeno trem para a coleta dos recursos — é obrigatório que steampunk tenha algum trem!



Prévias 3D otimizadas

Não só curiosidade técnica, mas esta dica também pode servir para outros desenvolvedores de jogos.

Anteriormente, cada prévia do modelo 3D na interface do jogo era uma renderização de uma câmera. PÉSSIMO para a performance.

Eu pesquisei por soluções de otimização e nenhuma realmente solucionava o problema, que é, a cada prévia, era necessário abrir e fechar uma nova renderização de câmera, e mesmo basicamente sem conteúdo, só o processamento da câmera já causa esse impacto.

A solução que idealizei foi simples: renderiza tudo de uma só vez, e corta a imagem final para múltiplas imagens.

warpunk-jogo-brasileiro-rts-2nibble-dev-10-8526231
Nota: objetos iguais foram renderizados separadamente pois, por testes, internamente são considerados diferentes. Eu já fiz a otimização de reutilizar objetos iguais.

Para isto, basta usar uma câmera ortográfica (isto é, sem FOV) para que todo o conteúdo, não importa a posição que está na câmera, seja renderizado igualmente, assim, posso dividir a renderização da câmera em uma grade, posicionar cada objeto em cada posição, renderizar, e cortar a imagem final.

O único problema é que se um objeto ser grande demais, ele ocupa parte do espaço do objeto vizinho, mas basta deixar uma boa margem para que isto não ocorra, e ao cortar a grade, considere essa margem, para que não fique um espaço sobrando por volta da prévia.

Isto faz com que a prévia não seja perspectiva, mas, quem liga? Deu um toque especial ao design, pois a prévia perdeu o efeito de profundidade, e eu achei que isto combinou mais com o fato da prévia estar na interface, que é 2D.

A nova performance desse método ficou abaixo comparado com renderização de poucas prévias (2 ou 3), a vantagem é, você pode renderizar dezenas de prévias que a performance continuará essencialmente a mesma (é uma complexabilidade praticamente constante).

Mas você pode pensar “ok, mas agora além de renderizar uma câmera com resolução muito maior, ainda terá que pegar esta imagem final e cortar,o corte não causa impacto negativo na performance?”.
Sim, não considerei multi threading ainda, mas por enquanto, a solução foi separar toda essa tarefa em 2 frames: nos frames ímpares, a câmera é renderizada, e nos pares, é realizado o corte, sendo assim, com o jogo em 60 FPS, a prévia será de 30 FPS (quem se importa? É só um modelo 3D rodando, ele poderia ser até estático), e nos frames que não está renderizando, o jogo usa os recursos para cortar a imagem do frame anterior.
O processo de corte é leve e rápido, mas mesmo assim foi uma ótima ideia que liberou um pouco de recursos neste outro frame, pois eu posso usar os frames pares para separar outras tarefas do jogo e assim nivelar a performance novamente, pois no momento, esta decisão fez com que os frames ímpares fossem um pouco mais lentos do que os pares (e eu sei que isto é péssimo).

No momento somente as prévias de pesquisa estão com esse novo sistema implementado, eu ainda implementarei no resto.


PunkScript

Já é mais do que provado que, uma das melhores ferramentas de modding, é a possibilidade de adição de scripts externos à linguagem interna do jogo, por exemplo, CLEO para GTA.

Pensando nisto, estava mais do que óbvio que eu (Junior_Djjr) iria implementar algo assim nos jogos que eu crio!

warpunk-jogo-brasileiro-rts-2nibble-dev-1-9804204

Warpunk haverá uma linguagem de programação interna intitulada “PunkScript“, baseada em Lua, interpretada por MoonSharp.

Será programável no Visual Studio Code (concorrente do Notepad++) utilizando uma extensão, semelhante a como mods CLEO hoje são feitos para GTA III/VC/SA.

Se linguagens de programação extremamente simples, como Sanny Builder e gta3script através da CLEO do GTA, já possibilitam mods incríveis, imagine isto com suporte oficial e utilizando Lua como base!

Lua é uma das linguagens de programação mais utilizadas no mundo, mesmo para jogos, seja total (por exemplo, World of Warcraft) ou parcial.

Não só como ferramenta de modding, mas isto também simplifica o trabalho do próprio desenvolvimento do jogo, separando a linguagem principal (no nosso caso, o C#) para uma linguagem mais simplificada para os trabalhos mais simples. Literalmente todos os GTAs, desde o 1 ao 5, usam linguagem interna para programar as missões.  De Lua deve haver muitos, mas um exemplo que eu tenho em mente é Metal Gear Solid V, onde boa parte do trabalho do jogo é realizado em scripts Lua (inclusive missões?).

warpunk-jogo-brasileiro-rts-2nibble-dev-2-1963578

Ainda é um protótipo, mas muito provavelmente usaremos isto para programar o modo campanha singleplayer. Isto é, você poderá criar as suas próprias missões e modo campanha, ou baixar em forma de mod!

Não só Warpunk: Isto tudo pode ser tratado como uma versão alpha/beta de linguagens internas para os nossos próximos jogos. Se IMPUNES voltar, você pode ter certeza absoluta que também implementaremos isto nele.

Também utilizaremos para testes práticos de desenvolvimento direto na própria build. Sabe aqueles jogos que têm um console para digitar comandos? (comum em jogos da Valve) Isto, mas não só uma linha, de fato existirá uma maneira de digitar e rodar scripts inteiros, tudo in-game. Pode ser muito útil para testar gameplay no modo editor.

Lembrando que muitos jogos modernos, inclusive o nosso, basicamente não existe crash, caso algo errado ocorra o script simplesmente é interrompido com uma mensagem de erro minimamente compreensível, portanto os mods, mesmo que mal feitos, não irão destruir o seu gameplay. Ainda não tenho certeza se suportará modo de depuração.

Eu pensei em já implementar isto no NPD, mas seria no mínimo uma semana de trabalho (desconsiderando futuros suportes e atualizações, visto que é algo novo que ainda estou experimentando) pra um jogo que quase ninguém se interessa, então eu acho que não vale a pena.



Nos siga no FacebookTwitter para acompanhar o desenvolvimento deste e outros projetos.