2021-01-24 – Testes com ondas no ecrã no meu Game Engine em C/C++…
No dia 24 ainda não tinha aquelas ondas animadas que partilhei ontem, mas como me esqueci desta imagem, partilho hoje.
Podem ver que tinha várias superfícies de ondas já aplicadas nos locais correctos, e uma em separado para testar os splashes, e só após ter tudo isto a funcionar na perfeição, é que pude aplicar as ondas em blocos, aos mapas do jogo, sem problemas.
Relembro que estas coisas podem parecer simples de vista, mas englobam vários ficheiros de código, que se conjugam por sua vez com outras centenas de ficheiros de código, e o programador tem de saber onde tudo se enquadra, quais as classes (cada uma num ficheiro) ou funções que se conjugam com cada uma, se alterarmos uma podemos estragar dezenas de outras, etc.
O que vêem aqui não reflecte a realidade que está por detrás disto tudo.
Não é tão básico quanto criar joguinhos para telemóveis, o que será 100 vezes mais fácil.
Isto deve ser feito com calma, passo a passo, para que nada falhe. E bem testado, por alguém que conheça bem o que está fazer. Pois se um bug passa despercebido agora, é tipo bola de neve e daqui a 1 semana pode ter estragado o game engine todo.
E com calma fui fazendo e testando.
2021-01-24.
Post do dia 25 no LinkedIn com a mesma imagem:
Uma imagem do dia 25, aqui podem ver o funcionamento das ondas em tempo real mas nesta não vêem os splashes mas não consigo partilhar gifs grandes no Linkedin, partilho mais tarde.
Mas o que se passa é que o Game Engine automaticamente verifica quais as posições onde há água no mapa do jogo, e na superfície dela desenha as ondas, calcula o movimento das mesmas (marés, etc) consoante a posição de cada pedaço de onda em relação a outros (dividi em bocados/tiles de 32 píxeis), aplica os splashes (mergulhos) a todas consoante a sua posição, pelo que podemos ver a superfície junta ou separada, assim se tiver um bloco enorme no meio da superfície, escuso de calcular e desenhar o que não é visível, e poupar CPU assim.
Ele calcula consoante o tamanho da superfície, o tamanho das suas ondas, movimento, etc.
Na imagem podem ver isso. Falta evitar com que as bolhas saiam fora dessa superfície, e fazer o mergulho apenas quando toco na água e não manualmente como faço agora para testes.
Mais tarde partilho resultados, que não tenho tido muito tempo para o meu querido game engine ultimamente.
Imagem de 2021-01-25.