2021-02-01 – Optimização de código após criar as ondas realistas no meu Game Engine em C/C++…

Uma primeira experiência de ter as ondas realistas e com as bolhas a não vir à tona de água. Mais tarde fiz melhoramentos extra como optimização de código, porque neste momento o peso era tanto que desceram os FPS de uns 175 para uns 40, mas mais tarde optimizei o código e voltei a perto dos 200, porque inicialmente crio um rascunho e depois de funcionar optimizo, para evitar optimizações prematuras.

Fiz um vídeo melhor até (GIF animado aliás) mas partilho depois.

O próximo passo é fazer a optimização do corte das bolhas virem à tona de água, e depois criar os splashes quando mergulho.

2021-02-01.

Post relacionado no LinkedIn:

Como podem ver as bolhas já não saem da água, isto é calculado em tempo real e pesa muito no CPU se for mal feito, com este rascunho original, os FPS baixaram de 175 (com todas as 1001 coisas que o jogo já tem em cima) para 35 com isto, o 1º passo foi recuperar, já subi para as 100-120 de novo, e vou optimizar mais código até ter isto perfeito, tirando o máximo proveito possível das caches dos cpus, placas gráficas, não esquecendo que certos computadores têm memórias lentas e que há certos truques que não funcionarão, mas o game engine vai andando, isso é que importa. E cada vez mais realista.

Pode parecer estranho porque perco tanto tempo com ondas, mas é necesssário lembrar que isto será o meu game engine, significa que sempre que eu quiser usar água num jogo, usarei estas classes/funções, e o trabalho já estará todo feito e não terei de o repetir. Assim, se levei um mês nas horas vagas a meter isto perfeito, por exemplo, se um dia criar 30 jogos, esse mês a dividir por 30, dá um dia de desenvolvimento apenas, e poupo 30 meses. Quanto mais o usar mais compensará.

Relembro que o programo propositadamente numa máquina portátil super lenta com celeron 1600 sobrecarregado sem aceleração gráfica e que me força a ter isto optimizado, e cada uma das milhares de bolhas que circulam no jogo (neste ecrã umas 100-200), as centenas de inimigos e animações, as layers de fundos em profundidade,as colisões entre tudo, resolução 640*480 com 16 milhões de cores, cálculo de enormes superfícies de água em tempo real, vai ficar na mesma com 200 FPS. E trabalhar numa máquina antiga faz-me não esquecer da optimização o tempo todo, para que corra bem em máquinas mais fracas. Claro que terei opçoes depois para reduzir a performance para máquinas mais antigas, mas relembro que tem 4 vezes mais píxeis também que os jogos tradicionais. Mas pronto, o Game Engine, continua a evoluir.

2021-02-01 - Optimização de código após criar as ondas realistas no meu Game Engine em C/C++...
2021-02-01 – Optimização de código após criar as ondas realistas no meu Game Engine em C/C++…

Leave a Reply

Your email address will not be published. Required fields are marked *

RSS
Follow by Email
LinkedIn
LinkedIn
Share