🤔 Para Refletir :
"Medo de usar script calls e plugins? Isso existe?"
- Delayzado

RPG Maker MZ Otimizando jogos em RPG Maker MV/MZ

Marinhomaker Masculino

Cidadão
Membro
Membro
The light and the darkness
Juntou-se
21 de Novembro de 2016
Postagens
231
Bravecoins
232
Boa noite meus caros Makers, aqui quem vos fala é o Midnight Star (Marinhomaker)

Venho aqui abordar uma questão muito importante, a otimização dos projetos realizados nas engines RPG Maker MV/MZ!

Tema abordado na Brave Jam, a otimização é algo que deve ser feito com muito cuidado, e em diversas etapas, não é fácil, mas é algo que pode variar.
Infelizmente, muito do problema da otimização de jogos dessa engine está justamente na hora da exportação, meu projeto da brave jam, exportado para windows, ficou com 183MB de peso, já a exportação para android, bateu a marca de 17MB apenas.

Estejam cientes de que, qual for a sua necessidade, parte é irreversível até o momento, eu já vi que usando versões mais antigas de RPG Maker MV, é possível exportar packs menos complexos e com menos soluções de bugs, mas em pró de em torno de menos 30MB, você perde a encriptação, e pode ter seus arquivos roubados.

Mas enfim, vamos para a abordagem que eu quero fazer, as otimizações! Eu aviso logo de antemão, que o processo pode ser bem sofrido.

Exclusão de arquivos desnecessários: É uma boa parte da otimização em si, mas pode ser muito prejudicial, o que ocorre, é que quando temos arquivos de plugins, o RPG Maker não identifica quando os mesmos estão sendo utilizados, e os exclui juntos, então, nessas horas, só temos duas opções:

Opção 1- Controle de arquivos: Faça uma pasta de backup de arquivos de plugins, pode ser dentro do próprio projeto mesmo, observe que arquivos os plugins estão usando, alguns chegam a utilizar informações de database, então tal, pode requerer também que sejam feitas buscas manuais lá, algo um pouco complexo às vezes.

Opção 2- Jogue e teste cada possibilidade do seu jogo: Eu sugiro, para ser mais prático, que faça duas exportações, mande uma versão com arquivos não excluídos (sugiro que coloque o nome (não otimizado), para que não gere conflito para a otimização), e exporte outra versão, só que com as otimizações realizadas, como de praxe, teste o jogo, você deverá receber erros de falhas ao não encontrar arquivos, para resolver isso, vá para a pasta do jogo que possui todos os arquivos, busque nos diretórios indicados, o arquivo que falta, copie e cole na devida pasta que ele deve estar, se a pasta não estiver, no projeto com as otimizações, crie uma pasta com o nome que foi indicada a ausência do arquivo, dê um retry, o arquivo será carregado e o jogo prosseguirá.

Acreditem, excluir arquivos não utilizados é uma parte do que pode ser feito, mas ainda é possível enxugar mais o seu projeto.
Após eu fazer essa otimização no meu projeto e a exportação, as versões exportadas foram de 383MB para 248MB!
Mas ainda foi possível enxugar dos 248MB para os 183MB, mas que tipo de bruxaria foi necessária para tal? Nem reza de pai santo deu jeito.

O bom de estar na era nutella, é que existe solução para tudo em alguns cliques e dígitos.
Esses arquivos que possuímos, como áudios e gráficos, muitas vezes possuem uma carga excessiva de dados que podemos remover por meio de alguns softwares, online ou baixados, eu vou mostrar as ferramentas que utilizei.

Compress PNG Images Online

Santo site, vem me ajudando desde 2018, com meu projeto Azia's Birthday, quando eu entrei em desespero pelo peso do meu projeto e já sentindo que iriam reclamar desse peso, me lembrei desse Site.

No site, podemos enviar apenas 20 arquivos por vez, mas podemos baixar todos de uma vez, uma vez que a otimização esteja concluída, eu notei que as otimizações nele ficam muito entre os 70% e 90%, assim, reduzindo todos os gráficos manualmente, essa é uma das médias de peso que você pode eliminar de arquivos de gráficos.
E acredite, de 30 a 40 megas de arquivos de gráfico, é muita coisa, eu consegui reduzir dos 37 se não me engano para os 10,1MB.

Mas cuidado, esses métodos são extremamente manuais, preferencialmente, faça o backup desses arquivos para o caso de você perder algo importante.


E só um adendo antes de você prosseguir, se você está achando que é trabalho demais e que não dá pra você, então adeus para RPG Maker MV/MZ, sua engines são outras, preferencialmente, não tenha preguiça de fazer a otimização que seja, game dev requer muito disso, testes, tempo e dedicação, pode ser complicado, não reconhecido, mas se game dev é o que você quer, tem que saber que a área é boa, mas tem seus pontudos espinhos, eu que não sou da área, mas quis fazer o game nessa engine, fiz tal, então se você quer mesmo fazer games nessa engine, é quase obrigação tal.

Prosseguindo, às vezes, o Compress PNG Online pode acabar te deixando na mão e parando de responder, nesse caso, existe outro que você pode passar a recorrer:
Tiny png

Esse daqui me quebrou o galho também, funciona da mesma maneira que o outro, só que eu não posso confirmar se é mais eficaz, pois só otimizei 14 arquivos nele, mas ajudou.

Ótimo, já otimizamos nossos gráficos, mas e os áudios?
Se dor é o que você quer, eu lhe entregarei mais uma maneira prática de otimizar seu game arquivo por arquivo.

Audio Compressor

Nesse daqui a gente pode comprimir os OGGs de nosso jogo, no entanto, você só pode otimizar um por vez, na pasta se eu sugiro que não otimize, pois são mais de 200 arquivos, mas a pasta ao todo, pega só 2 megas, se fossem poucos, beleza, mas são arquivos demais e 2 megas não é quase nada, tem horas que realmente não é necessário tal, mas no geral, se forem poucos arquivos, mas pesados, ou mesmo pesados e muitos, é preferível que otimize os áudios das pastas bgm, bgs e me.

Durante a otimização, você irá perceber uma escala de bitrate, em ogg, eu pude notar que foi possível reduzir a escala de bitrate para 45 sem perda de qualidade (ou talvez perca um pouco de qualidade e só eu não note, mas eu não notei), menos que isso, o programa não permite.

Para os usuários de RTP de plantão, nessa imagem, é possível notar que houve uma estimativa de redução do áudio apresentado, de 4.21MB para 413KB, uma redução de peso agressiva.
9qi7iu30lgu0eugzg.jpg


Se você aplica tal para todos os seus arquivos de áudio, é capaz reduzir bastante o peso deles, eu reduzi uma pasta de 50MB de áudios para 11MB, compactando a grande maioria dos arquivos que eram bem pesados.

Conclusão:
Fazendo uma otimização ideal, é possível reduzir drasticamente o peso do jogo, todavia, para os padrões RPG Maker, a exportação de PC ainda deixa o game muito pesado, mas cabe a cada um analisar as necessidades que tiverem para poderem chegar a conclusão de se vale a pena usar RPG Maker MV ou não.

Talvez a engine receba futuras melhorias, o que acho difícil demais, mas com a vasta biblioteca de sistemas, como plugins do Yanfly, a Master Engine do Moghunter, e mais outros scripts interessantes tipo Animon battle system, que está aqui no condado, é sempre bom avaliar e fazer mesmo essas otimizações, pois o RPG Maker MV ainda sim pode ser sempre um alternativa interessante, e que apesar de sua otimização não ser nenhum pouco boa, ainda sim, tivemos uma vasta biblioteca que pode colocar essa engine adiante e mesmo assim, ter muitos usuários, assim como eu sou usuário da engine.

No final, espero que eu tenha ajudado, sintam-se livres para comentarem abaixo, críticas para eu melhorar o tópico e caso tenham dúvidas, no que eu puder ajudar, eu dou alguma instrução, enfim, Midnight Star (Marinhomaker) saindo!
 
Última edição:
Excelente material, fica bem pouco pra eu adicionar aqui.

Umas notas breves é que a recomendação é você sempre começar um novo projeto, especialmente esses de Jam, partindo de um completamente em branco, com Banco de Dados e pasta de recursos ambos limpos. Demora um pouco fazer um então é recomendável sempre ter um pronto. Também é bom ter um preenchido, mas para fins de consulta.

Uma coisa legal de notar é que no MV um projeto tem uns 400MB de conteúdo enquanto no MZ reduziram isso bastante, principalmente por não precisar mais de audios duplicados, animações reformuladas e provavelmente também fizeram a lição de casa e comprimiram alguns arquivos também.

Por fim, há várias ferramentas de compressão por aí. A primeira e mais eficaz é você já ter as limitações em mente na hora de FAZER os recursos, como limitar números de cores, tamanho e formato dos arquivos, etc. Depois de pronto muitas vezes comprimir a qualidade acaba sendo uma atrocidade que "deforma" os arquivos (as vezes é imperceptível, mas sempre é de doer o coração), principalmente se você usar configurações muito agressivas de compactação.

Para esses casos procurem conhecer os métodos de compressão loss-less, isso é, sem perdas na qualidade, para evitar ter perdas, pois as vezes elas podem não ser sentidas em telas ou equipamentos de sons "regulares", mas que ficam muito aparentes em equipamentos um pouco melhores. No fim qualidade vs tamanho é um balanço delicado, mas é possível sim conseguir boa qualidade com bom tamanho! É só saber encontrar essa medida!

E vamos que vamos!
 
Ressuscitando a clássica matéria do Geraldo para as gerações futuras. Vale lembrar que nem só de arquivos se otimiza um projeto. Talvez até mais importante é a forma como você lida com eles e como as coisas funcionam no projeto. Os sistemas estão otimizados? O código funciona da melhor forma pra reduzir o uso de memória? Tu pode ter todas as imagens e arquivos de áudio otimizados, mas como o programa lida com eles?
 
Ressuscitando a clássica matéria do Geraldo para as gerações futuras. Vale lembrar que nem só de arquivos se otimiza um projeto. Talvez até mais importante é a forma como você lida com eles e como as coisas funcionam no projeto. Os sistemas estão otimizados? O código funciona da melhor forma pra reduzir o uso de memória? Tu pode ter todas as imagens e arquivos de áudio otimizados, mas como o programa lida com eles?
Sem dúvidas de grade ajuda, afinal recursos, mesmo computacionais, são caros a um jogo.

Claro que para uma jam, otimização de sistemas e coisas assim costumam ser um pouco contraproducentes, afinal escrever sistemas para espelhar pedaços de imagem ou reaproveitar certos recursos as vezes gasta um pouco de tempo. Otimizar os sistemas e recursos sempre é uma tarefa detalhada e que pode demorar.

Lembrando que isso que falo é só justificável para uma jam, um jogo de verdade sem as devidas otimizações não é igualmente aceitável. Muito bem notado e ótimo guia!
 
Muitíssimo grato pelo apoio pessoal! É sempre bom gerar uma discussão construtiva, onde chegamos a melhores resultados e dicas para os conterrâneos e que assim, todo mundo possa sair ganhando, ótimos pontos a se denotarem!
Espero que no geral, a comunidade saia ganhando pelas discas que nós demos aqui e sou grato pela participação de vocês!
 

Concordo em partes. Se você já tiver a prática de otimizar, vai fazer assim desde o início. Então mesmo um jogo feito às pressas precisa deste cuidado. Diria até que mais importante em concursos como JAMs, porque é onde o desempenho será avaliado. Lançando um jogo normalmente você quer, claro, que ele funcione muito bem na máquina de qualquer um. Mas o público vai esperar pelas correções porque o objetivo deles é só se divertir. Em JAMs, você está competindo. Qualquer erro, por menor que seja, pode te desclassificar da disputa.
 
Voltar
Topo Inferior