{"id":4036,"date":"2025-01-09T08:10:07","date_gmt":"2025-01-09T08:10:07","guid":{"rendered":"https:\/\/www.goncalo.pt\/por\/?p=4036"},"modified":"2025-01-24T18:19:29","modified_gmt":"2025-01-24T18:19:29","slug":"2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/","title":{"rendered":"2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026"},"content":{"rendered":"\n<p>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\u00e1 ele.<\/p>\n\n\n\n<p>Isto s\u00e3o testes de bal\u00edstica j\u00e1 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\u00eaem aqui, que crio do zero em C++\u2026<\/p>\n\n\n\n<p>Mas falta fazer muito, e explico abaixo.<\/p>\n\n\n\n<p>Vejamos:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing.mp4\"><\/video><figcaption class=\"wp-element-caption\">2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Estive para o fazer no Natal, porque crio sempre algo adaptado \u00e0s ocasi\u00f5es festivas pelas quais passo, mas na altura com tanta falta de tempo e ainda por cima problemas como um carro avariado, n\u00e3o tive tempo para o fazer.<\/p>\n\n\n\n<p>Al\u00e9m disso, para o meter a funcionar, tive de fazer mais altera\u00e7\u00f5es ao Game Engine do que imaginava, porque ele at\u00e9 agora funcionava com alguns elementos que entravam no arranque do jogo, pr\u00e9-definidos, e alguns outros eram din\u00e2micos, em tempo real, como as balas, etc.<\/p>\n\n\n\n<p>Mas n\u00e3o tinha ainda criado um sistema para lan\u00e7ar personagens reais como inimigos, no ecr\u00e3 em tempo real, ou granadas, que ao contr\u00e1rio de balas, t\u00eam comportamentos muito espec\u00edficos, pois como podem ver, movimentam-se em par\u00e1bolas, rodam quando s\u00e3o atiradas, causam explos\u00f5es, etc:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"551\" height=\"309\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\" alt=\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++...\" class=\"wp-image-4037\" style=\"width:1138px;height:auto\"\/><figcaption class=\"wp-element-caption\">2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Vejamos em c\u00e2mera lenta a granada:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"157\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-with-grenades-in-slow-motion.gif\" alt=\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, em C\u00e2mera Lenta, no meu Game Engine em C++...\" class=\"wp-image-4038\" style=\"width:1137px;height:auto\"\/><figcaption class=\"wp-element-caption\">2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, em C\u00e2mera Lenta, no meu Game Engine em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<p>No jogo original do Batman the Movie de 1989, abaixo na vers\u00e3o para Commodore Amiga, podem ver as granadas:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2024\/12\/2024-12-07-Batman-the-Movie-thugs-shooting-and-throwing-grenades-Amiga-version-1989.mp4\"><\/video><figcaption class=\"wp-element-caption\">Os Bandidos no jogo Batman the Movie de 1989, na Vers\u00e3o Amiga, a disparar contra o jogador e a cair quando s\u00e3o atingidos&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Ou aqui ampliado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"318\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2024-12-07-Batman-the-Movie-thugs-throwing-grenades-Amiga-version-1989.gif\" alt=\"2024-12-07 - Os bandidos a atirar granadas no jogo Batman the Movie 1989 na vers\u00e3o para Commodore Amiga...\" class=\"wp-image-4041\" style=\"width:1138px;height:auto\"\/><figcaption class=\"wp-element-caption\">2024-12-07 &#8211; Os bandidos a atirar granadas no jogo Batman the Movie 1989 na vers\u00e3o para Commodore Amiga&#8230;<\/figcaption><\/figure>\n\n\n\n<p>Parece est\u00fapido, mas tem a ver com a forma como vou desenvolvendo o meu Game Engine, que \u00e9: &#8220;em cada dia fa\u00e7o o que me vem \u00e0 cabe\u00e7a&#8221;, sem qualquer planeamento.<\/p>\n\n\n\n<p>Chegou a hora de o fazer, de poder criar inimigos de forma din\u00e2mica em tempo real, e outros objectos como granadas.<\/p>\n\n\n\n<p>Antes era s\u00f3 os que arrancavam com a m\u00e1quina, e alguns em tempo real como balas, bolhas, etc.<\/p>\n\n\n\n<p>Neste momento posso lan\u00e7ar j\u00e1 qualquer coisa em tempo real, mesmo que mais complexas.<\/p>\n\n\n\n<p>Isto fez com que tivesse de alterar dezenas de ficheiros de c\u00f3digo do meu Game Engine, para que tudo funcionasse, e como sabem, est\u00e1 em C++, a linguagem mais complexa, que \u00e0 m\u00ednima coisa tudo pode crashar, aliado ao facto de ter Multi-Threading, etc, etc.<\/p>\n\n\n\n<p>Por isso levei mais dias e n\u00e3o lancei o Pai-Natal no Natal.<\/p>\n\n\n\n<p>Estive para o lan\u00e7ar no Dia de Reis, altura em que abr\u00edamos presentes antigamente e ainda se faz em Espanha.<\/p>\n\n\n\n<p>Mas por muita falta de tempo, pois estou em mudan\u00e7as para o Porto, etc, s\u00f3 hoje terminei esta parte.<\/p>\n\n\n\n<p>Falta ainda muito.<\/p>\n\n\n\n<p>As granadas neste momento detectam colis\u00f5es a n\u00edvel de p\u00edxel, quer contra o jogador quer contra paredes e ch\u00e3o, e t\u00eam um movimento de par\u00e1bola algo apressado.<\/p>\n\n\n\n<p>Falta fazer movimentos de par\u00e1bola mais perfeitos, com base nos exemplos de teste que lancei antes, como podem ver abaixo:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/12\/2023-12-26-Ballistic-improvements-and-tests-on-my-Cpp-Game-Engine.mp4\"><\/video><figcaption class=\"wp-element-caption\">2023-12-26 &#8211; Finalizadas e melhoradas o sistema Bal\u00edstico do meu Game Engine em C++&#8230;<\/figcaption><\/figure>\n\n\n\n<p>J\u00e1 agora, um amigo (P.T.) perguntou-me se n\u00e3o seria bug a corda lan\u00e7ada no fim ter agarrado abaixo do tecto, a quem respondi:<\/p>\n\n\n\n<p>\u00ab\u00c9 mesmo assim, \u00e9 que eu n\u00e3o me dei ao trabalho de separar as plataformas da parede, e eu uso um sistema de transpar\u00eancias, onde apenas os p\u00edxeis que n\u00e3o s\u00e3o transparentes \u00e9 que t\u00eam colis\u00f5es, e eu copiei isto do Batman the Movie, e o que fiz foi simples: cada tile de 32 p\u00edxeis do Batman the Movie, ou \u00e9 colis\u00e3o ou \u00e9 background.<\/p>\n\n\n\n<p>E acontece que nos 32 p\u00edxeis cabe essa plataforma e parte da parede.<\/p>\n\n\n\n<p>Por isso a corda assim que chegou aos 32 p\u00edxeis desse p\u00edxel, agarrou.<\/p>\n\n\n\n<p>Para ser perfeito, eu teria de usar tiles de background com a parede, e meter apenas tiles mais fininhos (esses da plataforma) como colis\u00e3o, e ao fazer isso j\u00e1 funcionaria na perfei\u00e7\u00e3o.<\/p>\n\n\n\n<p>\u00c9 uma boa pergunta vou inclu\u00ed-la na descri\u00e7\u00e3o. \ud83d\ude00<\/p>\n\n\n\n<p>Mas n\u00e3o \u00e9 bug, \u00e9 feature hehe, foi de meter tiles \u00e0 pressa. ;P\u00bb<\/p>\n\n\n\n<p>Falta depois melhorar a Intelig\u00eancia Artificial do Pai Natal neste caso, fazer com que dispare para outros lados, para cima, etc, e at\u00e9 fazer com que o Pai Natal (neste caso) consiga calcular qual o melhor \u00e2ngulo e for\u00e7a 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.<\/p>\n\n\n\n<p>Isso fica para depois.<\/p>\n\n\n\n<p>O meu Game Engine sofreu muitas altera\u00e7\u00f5es, por umas 10 ou 15 vezes actualizei no meu Git privado mais de 50 ou 70 ficheiros de cada vez.<\/p>\n\n\n\n<p>Isto porque em Dezembro fiz uma grande remodela\u00e7\u00e3o no meu Game Engine para o optimizar.<\/p>\n\n\n\n<p>Em breve mostro isso tamb\u00e9m.<\/p>\n\n\n\n<p>Hoje ficam-se com as minhas granadas e o meu Pai Natal dedicado ao Natal. \ud83d\ude42<\/p>\n\n\n\n<p>Hasta!<\/p>\n\n\n\n<p>2025-01-09.<\/p>\n\n\n\n<p>Partilhado no mesmo dia no LinkedIn em:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/posts\/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&amp;utm_medium=member_desktop\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.linkedin.com\/posts\/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&amp;utm_medium=member_desktop<\/a><a href=\"https:\/\/www.linkedin.com\/posts\/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&amp;utm_medium=member_desktop\">https:\/\/www.linkedin.com\/posts\/goncalopt_este-foi-o-pai-natal-que-me-visitou-no-natal-activity-7283093909835046912-WE5D?utm_source=share&amp;utm_medium=member_desktop<\/a><\/p>\n\n\n\n<p>Pr\u00f3ximo post associado ao meu Game Engine em C++:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-gon-alo-ferreira wp-block-embed-gon-alo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"N5L2SZ9pKM\"><a href=\"https:\/\/www.goncalo.pt\/por\/2025\/01\/20\/2025-01-20-optimizacao-do-uso-de-memoria-90-do-meu-game-engine-em-c-criacao-dos-meus-proprios-containers-e-adaptando-o-para-multi-threading-em-simultaneo\/\">2025-01-20 &#8211; Optimiza\u00e7\u00e3o do uso de mem\u00f3ria (-90%) do meu Game Engine em C++ (Cria\u00e7\u00e3o dos meus pr\u00f3prios containers), e adaptando-o para Multi-Threading em simult\u00e2neo&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;2025-01-20 &#8211; Optimiza\u00e7\u00e3o do uso de mem\u00f3ria (-90%) do meu Game Engine em C++ (Cria\u00e7\u00e3o dos meus pr\u00f3prios containers), e adaptando-o para Multi-Threading em simult\u00e2neo&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2025\/01\/20\/2025-01-20-optimizacao-do-uso-de-memoria-90-do-meu-game-engine-em-c-criacao-dos-meus-proprios-containers-e-adaptando-o-para-multi-threading-em-simultaneo\/embed\/#?secret=5PKK0qTnsY#?secret=N5L2SZ9pKM\" data-secret=\"N5L2SZ9pKM\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">2025-01-20 \u2013 Optimiza\u00e7\u00e3o do uso de mem\u00f3ria (-90%) do meu Game Engine em C++ (Cria\u00e7\u00e3o dos meus pr\u00f3prios containers), e adaptando-o para Multi-Threading em simult\u00e2neo\u2026<\/figcaption><\/figure>\n\n\n\n<p>Post anterior sobre o meu Game Engine, sobre o meu sistema de teste de colis\u00f5es:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-gon-alo-ferreira wp-block-embed-gon-alo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"DlhBHuB4OD\"><a href=\"https:\/\/www.goncalo.pt\/por\/2024\/12\/15\/2024-12-15-o-meu-novo-sistema-de-teste-de-colisoes-e-um-mapa-de-niveis-melhorado-no-meu-game-engine-em-c\/\">2024-12-15 &#8211; O meu novo Sistema de Teste de Colis\u00f5es e um Mapa de N\u00edveis melhorado, no meu Game Engine em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;2024-12-15 &#8211; O meu novo Sistema de Teste de Colis\u00f5es e um Mapa de N\u00edveis melhorado, no meu Game Engine em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2024\/12\/15\/2024-12-15-o-meu-novo-sistema-de-teste-de-colisoes-e-um-mapa-de-niveis-melhorado-no-meu-game-engine-em-c\/embed\/#?secret=7nK2MCH4CE#?secret=DlhBHuB4OD\" data-secret=\"DlhBHuB4OD\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">2024-12-15 \u2013 O meu novo Sistema de Teste de Colis\u00f5es e um Mapa de N\u00edveis melhorado, no meu Game Engine em C++\u2026<\/figcaption><\/figure>\n\n\n\n<p>Post anterior do meu Game Engine sobre o mesmo assunto do jogo Batman the Movie 1989:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-gon-alo-ferreira wp-block-embed-gon-alo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"92mVBvm6hD\"><a href=\"https:\/\/www.goncalo.pt\/por\/2024\/12\/07\/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 &#8211; Adicionei os bandidos do Batman the Movie de 1989, com os seus disparos e comportamento, ao meu Game Engine em C++\u2026<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;2024-12-07 &#8211; Adicionei os bandidos do Batman the Movie de 1989, com os seus disparos e comportamento, ao meu Game Engine em C++\u2026&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2024\/12\/07\/2024-12-07-adicionei-os-bandidos-do-batman-the-movie-de-1989-com-os-seus-disparos-e-comportamento-ao-meu-game-engine-em-c\/embed\/#?secret=FL8yYCQDbP#?secret=92mVBvm6hD\" data-secret=\"92mVBvm6hD\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">2024-12-07 \u2013 Adicionei os bandidos do Batman the Movie de 1989, com os seus disparos e comportamento, ao meu Game Engine em C++\u2026<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"318\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2024-12-07-Batman-the-Movie-thugs-throwing-grenades-Amiga-version-1989.gif\" alt=\"2024-12-07 - Os bandidos a atirar granadas no jogo Batman the Movie 1989 na vers\u00e3o para Commodore Amiga...\" class=\"wp-image-4041\" style=\"width:1138px;height:auto\"\/><figcaption class=\"wp-element-caption\">2024-12-07 &#8211; Os bandidos a atirar granadas no jogo Batman the Movie 1989 na vers\u00e3o para Commodore Amiga&#8230;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"157\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-with-grenades-in-slow-motion.gif\" alt=\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, em C\u00e2mera Lenta, no meu Game Engine em C++...\" class=\"wp-image-4038\" style=\"width:1141px;height:auto\"\/><figcaption class=\"wp-element-caption\">2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, em C\u00e2mera Lenta, no meu Game Engine em C++&#8230;<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Este foi o Pai-Natal que me visitou no Natal, pois nunca tive tantos problemas no Natal, incluindo um carro avariado,<\/p>\n","protected":false},"author":1,"featured_media":4037,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,284,5,3,4,164,133],"tags":[271,132,7,391,280,118,207,156,24,23,15,117,272,270,304,392,269,281,120,26,25],"class_list":["post-4036","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-development","category-platformers","category-programacao","category-projectos","category-softwares","category-top","category-video-jogos","tag-balistica","tag-batman-the-movie","tag-c","tag-comemorativos","tag-demo","tag-desenvolvimento-de-jogos","tag-dev","tag-fisica","tag-game-dev","tag-game-engine","tag-matematica","tag-motor-de-jogos","tag-movimentos-balisticos","tag-movimentos-parabolicos","tag-natal","tag-pai-natal","tag-parabolas","tag-platformer","tag-programacao","tag-videogames","tag-videojogos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Este foi o Pai-Natal que me visitou no Natal, pois nunca tive tantos problemas no Natal, incluindo um carro avariado,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-09T08:10:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-24T18:19:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"551\" \/>\n\t<meta property=\"og:image:height\" content=\"309\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026\",\"datePublished\":\"2025-01-09T08:10:07+00:00\",\"dateModified\":\"2025-01-24T18:19:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\"},\"wordCount\":1185,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\",\"keywords\":[\"Bal\u00edstica\",\"Batman The Movie\",\"C++\",\"Comemorativos\",\"Demo\",\"Desenvolvimento de Jogos\",\"Dev\",\"F\u00edsica\",\"Game Dev\",\"Game Engine\",\"Matem\u00e1tica\",\"Motor de Jogos\",\"Movimentos Bal\u00edsticos\",\"Movimentos Parab\u00f3licos\",\"Natal\",\"Pai Natal\",\"Par\u00e1bolas\",\"Platformer\",\"Programa\u00e7\u00e3o\",\"VideoGames\",\"VideoJogos\"],\"articleSection\":[\"Desenvolvimento de Jogos\",\"Platformers\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Softwares\",\"Top\",\"Video Jogos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\",\"name\":\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\",\"datePublished\":\"2025-01-09T08:10:07+00:00\",\"dateModified\":\"2025-01-24T18:19:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif\",\"width\":551,\"height\":309,\"caption\":\"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/","og_locale":"en_US","og_type":"article","og_title":"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira","og_description":"Este foi o Pai-Natal que me visitou no Natal, pois nunca tive tantos problemas no Natal, incluindo um carro avariado,","og_url":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2025-01-09T08:10:07+00:00","article_modified_time":"2025-01-24T18:19:29+00:00","og_image":[{"width":551,"height":309,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif","type":"image\/gif"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026","datePublished":"2025-01-09T08:10:07+00:00","dateModified":"2025-01-24T18:19:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/"},"wordCount":1185,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif","keywords":["Bal\u00edstica","Batman The Movie","C++","Comemorativos","Demo","Desenvolvimento de Jogos","Dev","F\u00edsica","Game Dev","Game Engine","Matem\u00e1tica","Motor de Jogos","Movimentos Bal\u00edsticos","Movimentos Parab\u00f3licos","Natal","Pai Natal","Par\u00e1bolas","Platformer","Programa\u00e7\u00e3o","VideoGames","VideoJogos"],"articleSection":["Desenvolvimento de Jogos","Platformers","Programa\u00e7\u00e3o","Projectos","Softwares","Top","Video Jogos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/","url":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/","name":"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026 - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif","datePublished":"2025-01-09T08:10:07+00:00","dateModified":"2025-01-24T18:19:29+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2025\/01\/2025-01-09-Santa-Claus-armed-with-grenades-on-my-Cpp-Game-Engine-ballistic-testing-just-a-direct-grenade-hit.gif","width":551,"height":309,"caption":"2025-01-09 - Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2025\/01\/09\/2025-01-09-testes-de-balistica-com-granadas-e-um-pai-natal-no-meu-game-engine-em-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2025-01-09 &#8211; Testes de Bal\u00edstica com Granadas e um Pai Natal, no meu Game Engine em C++\u2026"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4036"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=4036"}],"version-history":[{"count":6,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4036\/revisions"}],"predecessor-version":[{"id":4079,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/4036\/revisions\/4079"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/4037"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=4036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=4036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=4036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}