2022-06-13 – Relâmpagos e Chuva no meu Game Engine, em C++…
Aqui está a nova adição ao meu Game Engine, efeitos de relâmpagos, e é de notar que já atingi 5000 FPS no Shoot’Em Up sem chuva, e com muitos milhares de gotas de chuva, ainda atinjo uns 500 FPS facilmente.
Um amigo recomendou-me ao invés de colocar relâmpagos reais, que criei há tempos, colocar apenas os efeitos de luz no fundo do jogo.
E ficou altamente, eu estava a pensar antes adicionar estes efeitos junto com o relâmpago, mas talvez bastem as luzes pelo que vi, fica altamente mesmo:
Vejam em tempo real, durante um jogo, do meu jogo de exemplos Shoot’Em Up:
No exemplo acima, podem ver que eu a data altura no fim, meti a nave inimiga muito lenta para eu poder acelerar, e desligo aí a chuva, e zás, sobem logo os FPS para 3500 ou mais. Já atingiram 5000!
Os relâmpagos ficam altamente em todo o lado, vejam aqui mesmo debaixo de água:
Ou será melhor o vídeo inteiro?
Acima podem ver também os paineis que criei com as estatísticas do jogo. 🙂
E podem ver que chego a ter uns 10.000 objectos de chuva no ecrã em simultâneo, cada um deles a verificar o tempo todo em tempo real todos os píxeis e se cada um deles colide com algo ou não, com os seus splashes, tudo! E os salpicos ao baterem nos jogadores, inimigos, objectos, tudo perfeito. 🙂
E mesmo assim, usando apenas um único core do meu portátil que é apenas um I5 com 8GB (em Linux não preciso de mais), usando um dos 8 cores, ter esta performance.
Está super-optimizado, é que não basta usar uma linguagem super poderosa como C++, há que saber programar e optimizar o código.
Estes eram os relâmpagos que criei em tempos:
Podem ver noutros posts meus sobre o género, os meus trabalhos com relâmpagos e “raios da morte”, etc.
Vejam a velocidade do jogo sem limites, com os 5000 FPS (na realidade limitei a 1500 FPS desse core apesar de aparecerem 5000, senão era injogável), para verem como fica:
Mas pronto, o importante é que nestes dias que dediquei ao Game Engine (por ter estado muitas semanas parado devido a excesso de trabalho), eu optimizei muito mais o código, está super, super rápido e super optimizado, além de estar em C/C++, o que ajuda (mas um mau programador pode colocar algo em C++ quase tão lento quanto algo em Python, não basta usar C++), e além de optimizações, ainda adicionei efeitos de relâmpagos lindos.
Mas o game engine está cada vez melhor, cada vez mais rápido, mais optimizado, mais capaz, mais flexível, com código mais legível, e mais lindo!
Os relâmpagos ficaram lindos, não?
Durante umas semanas não devo tocar nele, devido ao trabalho.
Mas um dia voltarei!!!
E lembrem-se, de quem eu sou. Isto é apenas o começo. ;P
2022-06-13.
Publicado no mesmo dia no LinkedIn, em https://www.linkedin.com/feed/update/urn:li:activity:6942241484465188864/.
«Além de super-optimizado (chegar até 5000 FPS num I5), já tem uns relâmpagos para dar beleza à coisa.
Tenho muitos vídeos e imagens disto a funcionar no Platformer e Shooter (dois tipos de exemplos do meu game engine), aqui:
Mas reparem que são 5000 FPS sem chuva, ou uns 500 FPS com milhares de gotas de chuva, cada uma delas um objecto que testa o tempo todo colisões píxel-a-píxel com tudo o que há no ecrã, com splashes, etc, em tempo real.
E agora com relâmpagos fica lindo mesmo. 🙂
E usando só um único core de um simples portátil I5 de 8GB (de 5ª geração apenas).
Em C/C++, claro está.
Eu falei que sozinho iria criar um game engine do zero, e criar jogos que ficariam melhores que os que as equipas inteiras da Sega e outras, criaram nos anos 90 não falei?
Pois, bem, isto é só o começo.
Com a optimização que fiz, posso puxar, MUITO, mas mesmo MUITO mais pelo CPU e efeitos especiais.
Quando voltar a isto daqui a umas semanas, trago notícias novas.»
2022-06-13.