2023-02-25 – Criação de um Sistema de Zooming para o meu Game Engine em C++…
De volta ao Game Engine, para criar um sistema de Zoom em real-time para o meu Game Engine, criado do zero em C++.
Estive super mega ocupado nas últimas semanas, pois não tive um único dia livre para programar, e estarei ainda mais uma, mas já começam as coisas a abrandar e por isso tive algumas horitas para melhorar o meu game engine.
Neste caso criei um sistema de zoom que era importante, pois estava cansado de usar o KMagnifier (do Fedora KDE spin – Plasma), para ampliar e ver detalhes do jogo, pois apesar de funcionar muito bem, implicava usar sempre duas aplicações em simultâneo.
Mantive as scanlines associadas ao que é renderizado, pelo que elas ampliam com zoom também:
Por defeito eu usava uma janela de 640×480, e aqui uso de 1280×960, 2 vezes maior, e permito um zoom out de 16x, ou seja, no vídeo deve estar a 80×60 de resolução escalados a 1280×960, se virmos é:
x: 1280 – 640 – 320 – 160 – 80
y: 960 – 480 – 240 – 120 – 60
Este zoom vai ser um dia muito útil também para resize das janelas de jogo.
Ele faz a conversão de tudo, sem afectar a performance do jogo, ou seja, a afectação é negligível, pois a maior perda de performance em termos de FPS deve-se à renderização em si para o ecrã, e não tanto no jogo, pois eu optimizei muito o sistema todo, mas não posso controlar muito da renderização, que é pesada e depende das placas de vídeo em si e dos sistemas.
Agora também tenho a vantagem de poder gravar vídeos a ampliar o meu game engine em funcionamento, sem ter de “filmar” duas aplicações em simultâneo, pois basta-me “filmar” apenas o game engine e nele amplio.
Também poderei usar isto depois em jogos, para deixar o jogador ampliar ou reduzir consoante lhe dê mais jeito, ou até aumentar e reduzir o tamanho da própria janela do jogo, e ajustando em tempo real o próprio jogo ao tamanho da janela.
Por isso este sistema de zoom será super útil não só para debugging e desenvolvimento, bem como gravar vídeos, para os próprios jogos, para resize de janelas, etc, etc.
Ainda há alguns bugs a corrigir como podem ver no vídeo, mas depois corrijo.
Nas próximas semanas irei gradualmente com o tempo livre que terei mais do que antes (pois apesar de estar ocupado vários dias na minha profissão, terei vários livres já, coisa que não tive em Janeiro e Fevereiro), dar mais uns toques no meu Game Engine e nos meus outros projectos.
Espero não voltar a estar tanto tempo sem partilhar nada, sem programar.
Talvez melhore depois este sistema e os bugs que ainda tem, e depois tentarei melhorar o Knowledge Tester, e após isso irei finalmente colocar o sistema de neve terminado já no Game Engine bem como desenhar métodos de disparar tiros e bombas para o meu Game Engine.
Trarei notícias mais tarde.
Hasta!
2023-02-25.
Publicado no meu LinkedIn, no mesmo dia, em:
https://www.linkedin.com/feed/update/urn:li:ugcPost:7035356240708837376/