Desenvolvimento de JogosPlatformersProgramaçãoProjectosSoftwaresTopVideo Jogos

2025-01-09 – Testes de Balística com Granadas e um Pai Natal, no meu Game Engine em C++…

Este foi o Pai-Natal que me visitou no Natal, pois nunca tive tantos problemas no Natal, incluindo um carro avariado, por isso aqui está ele.

Isto são testes de balística já adaptados ao funcionamento de inimigos no meu Game Engine, a preparar para um dia criar os homens que atiram granadas que aparece no Batman the Movie da Ocean de 1989, o qual farei um remake em breve com o meu Game Engine, este que vêem aqui, que crio do zero em C++…

Mas falta fazer muito, e explico abaixo.

Vejamos:

2025-01-09 – Testes de Balística com Granadas e um Pai Natal, no meu Game Engine em C++…

Estive para o fazer no Natal, porque crio sempre algo adaptado às ocasiões festivas pelas quais passo, mas na altura com tanta falta de tempo e ainda por cima problemas como um carro avariado, não tive tempo para o fazer.

Além disso, para o meter a funcionar, tive de fazer mais alterações ao Game Engine do que imaginava, porque ele até agora funcionava com alguns elementos que entravam no arranque do jogo, pré-definidos, e alguns outros eram dinâmicos, em tempo real, como as balas, etc.

Mas não tinha ainda criado um sistema para lançar personagens reais como inimigos, no ecrã em tempo real, ou granadas, que ao contrário de balas, têm comportamentos muito específicos, pois como podem ver, movimentam-se em parábolas, rodam quando são atiradas, causam explosões, etc:

2025-01-09 - Testes de Balística com Granadas e um Pai Natal, no meu Game Engine em C++...
2025-01-09 – Testes de Balística com Granadas e um Pai Natal, no meu Game Engine em C++…

Vejamos em câmera lenta a granada:

2025-01-09 - Testes de Balística com Granadas e um Pai Natal, em Câmera Lenta, no meu Game Engine em C++...
2025-01-09 – Testes de Balística com Granadas e um Pai Natal, em Câmera Lenta, no meu Game Engine em C++…

No jogo original do Batman the Movie de 1989, abaixo na versão para Commodore Amiga, podem ver as granadas:

Os Bandidos no jogo Batman the Movie de 1989, na Versão Amiga, a disparar contra o jogador e a cair quando são atingidos…

Ou aqui ampliado:

2024-12-07 - Os bandidos a atirar granadas no jogo Batman the Movie 1989 na versão para Commodore Amiga...
2024-12-07 – Os bandidos a atirar granadas no jogo Batman the Movie 1989 na versão para Commodore Amiga…

Parece estúpido, mas tem a ver com a forma como vou desenvolvendo o meu Game Engine, que é: “em cada dia faço o que me vem à cabeça”, sem qualquer planeamento.

Chegou a hora de o fazer, de poder criar inimigos de forma dinâmica em tempo real, e outros objectos como granadas.

Antes era só os que arrancavam com a máquina, e alguns em tempo real como balas, bolhas, etc.

Neste momento posso lançar já qualquer coisa em tempo real, mesmo que mais complexas.

Isto fez com que tivesse de alterar dezenas de ficheiros de código do meu Game Engine, para que tudo funcionasse, e como sabem, está em C++, a linguagem mais complexa, que à mínima coisa tudo pode crashar, aliado ao facto de ter Multi-Threading, etc, etc.

Por isso levei mais dias e não lancei o Pai-Natal no Natal.

Estive para o lançar no Dia de Reis, altura em que abríamos presentes antigamente e ainda se faz em Espanha.

Mas por muita falta de tempo, pois estou em mudanças para o Porto, etc, só hoje terminei esta parte.

Falta ainda muito.

As granadas neste momento detectam colisões a nível de píxel, quer contra o jogador quer contra paredes e chão, e têm um movimento de parábola algo apressado.

Falta fazer movimentos de parábola mais perfeitos, com base nos exemplos de teste que lancei antes, como podem ver abaixo:

2023-12-26 – Finalizadas e melhoradas o sistema Balístico do meu Game Engine em C++…

Já agora, um amigo (P.T.) perguntou-me se não seria bug a corda lançada no fim ter agarrado abaixo do tecto, a quem respondi:

«É mesmo assim, é que eu não me dei ao trabalho de separar as plataformas da parede, e eu uso um sistema de transparências, onde apenas os píxeis que não são transparentes é que têm colisões, e eu copiei isto do Batman the Movie, e o que fiz foi simples: cada tile de 32 píxeis do Batman the Movie, ou é colisão ou é background.

E acontece que nos 32 píxeis cabe essa plataforma e parte da parede.

Por isso a corda assim que chegou aos 32 píxeis desse píxel, agarrou.

Para ser perfeito, eu teria de usar tiles de background com a parede, e meter apenas tiles mais fininhos (esses da plataforma) como colisão, e ao fazer isso já funcionaria na perfeição.

É uma boa pergunta vou incluí-la na descrição. 😀

Mas não é bug, é feature hehe, foi de meter tiles à pressa. ;P»

Falta depois melhorar a Inteligência Artificial do Pai Natal neste caso, fazer com que dispare para outros lados, para cima, etc, e até fazer com que o Pai Natal (neste caso) consiga calcular qual o melhor ângulo e força com que atira uma granada de forma a que nos atinja, pois directamente poderia falhar mas com um arco maior ou com mais altura acertar.

Isso fica para depois.

O meu Game Engine sofreu muitas alterações, por umas 10 ou 15 vezes actualizei no meu Git privado mais de 50 ou 70 ficheiros de cada vez.

Isto porque em Dezembro fiz uma grande remodelação no meu Game Engine para o optimizar.

Em breve mostro isso também.

Hoje ficam-se com as minhas granadas e o meu Pai Natal dedicado ao Natal. 🙂

Hasta!

2025-01-09.

Partilhado no mesmo dia no LinkedIn em:

https://www.linkedin.com/posts/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&utm_medium=member_desktophttps://www.linkedin.com/posts/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&utm_medium=member_desktop

Próximo post associado ao meu Game Engine em C++:

2025-01-20 – Optimização do uso de memória (-90%) do meu Game Engine em C++ (Criação dos meus próprios containers), e adaptando-o para Multi-Threading em simultâneo…

Post anterior sobre o meu Game Engine, sobre o meu sistema de teste de colisões:

2024-12-15 – O meu novo Sistema de Teste de Colisões e um Mapa de Níveis melhorado, no meu Game Engine em C++…

Post anterior do meu Game Engine sobre o mesmo assunto do jogo Batman the Movie 1989:

2024-12-07 – Adicionei os bandidos do Batman the Movie de 1989, com os seus disparos e comportamento, ao meu Game Engine em C++…
2024-12-07 - Os bandidos a atirar granadas no jogo Batman the Movie 1989 na versão para Commodore Amiga...
2024-12-07 – Os bandidos a atirar granadas no jogo Batman the Movie 1989 na versão para Commodore Amiga…
2025-01-09 - Testes de Balística com Granadas e um Pai Natal, em Câmera Lenta, no meu Game Engine em C++...
2025-01-09 – Testes de Balística com Granadas e um Pai Natal, em Câmera Lenta, no meu Game Engine em C++…

Leave a Reply

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

RSS
Follow by Email
LinkedIn
LinkedIn
Share
URL has been copied successfully!