{"id":347,"date":"2020-10-27T06:52:00","date_gmt":"2020-10-27T06:52:00","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=347"},"modified":"2023-10-07T03:19:07","modified_gmt":"2023-10-07T03:19:07","slug":"2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/","title":{"rendered":"2020-10-27 &#8211; Adding &#8220;Ghost Frames&#8221; (Player Movement Shadows) to my C\/C++ Game Engine&#8230;"},"content":{"rendered":"\n<p>Vejam os efeitos visuais quando o Eric salta.<\/p>\n\n\n\n<p>Eu queria ter uma visualiza\u00e7\u00e3o melhor da par\u00e1bola dos saltos, para ver se as f\u00f3rmulas que criei para a representar estavam bem constru\u00eddas, e achei que a melhor maneira seria fazer este efeito visual, para ver os locais por onde andei e saltei nos \u00faltimos segundos, e assim ter uma no\u00e7\u00e3o melhor dos saltos e matem\u00e1tica envolvida em funcionamento.<\/p>\n\n\n\n<p>T\u00eam ainda no canto superior direito um print-screen a ser tirado e onde podem ver outro salto a ser feito, mas com saltos a\u00e9reos (atrav\u00e9s do &#8220;jet power jump&#8221; que criei).<\/p>\n\n\n\n<p>Usei uma fun\u00e7\u00e3o que criei, que far\u00e1 um efeito de ligeira distor\u00e7\u00e3o visual por onde ele passa, para dar um efeito de velocidade elevada quando ele corre.<\/p>\n\n\n\n<p>Um dos muit\u00edssimos efeitos especiais que vou criar para o meu game engine, para um dia fazer jogos brutais, ao n\u00edvel do Sonic ou melhores, mas n\u00e3o em 3D, pois isso j\u00e1 envolveria muitos computadores para renderizar imagens, muito tempo, artistas 3D, etc, ser\u00e1 tudo 2D. <img loading=\"lazy\" decoding=\"async\" alt=\"?\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t4c\/1\/16\/1f642.png\" width=\"16\" height=\"16\"><\/p>\n\n\n\n<p>H\u00e1 outra funcionalidade, quando ele bate com a cabe\u00e7a no tecto, ele avisa que bateu com a cabe\u00e7a, para simular a mec\u00e2nica do Super Mario, etc.<\/p>\n\n\n\n<p>A m\u00e1quina estava sobrecarregada, da\u00ed os 45 FPS.<\/p>\n\n\n\n<p>2020-10-27.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vejam os efeitos visuais quando o Eric salta. Eu queria ter uma visualiza\u00e7\u00e3o melhor da par\u00e1bola dos saltos, para ver<\/p>\n","protected":false},"author":1,"featured_media":348,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,284,5,3,285,289,4,133],"tags":[7,118,207,24,23,308,117,281,128,126,262,26,25],"class_list":["post-347","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-development","category-platformers","category-programacao","category-projectos","category-shoot-em-up","category-horizontal-shooter","category-softwares","category-video-jogos","tag-c","tag-desenvolvimento-de-jogos","tag-dev","tag-game-dev","tag-game-engine","tag-ghost-frames","tag-motor-de-jogos","tag-platformer","tag-shoot-em-up","tag-shooter","tag-sombras","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>2020-10-27 - Adding &quot;Ghost Frames&quot; (Player Movement Shadows) to my C\/C++ Game Engine... - 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\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2020-10-27 - Adding &quot;Ghost Frames&quot; (Player Movement Shadows) to my C\/C++ Game Engine... - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Vejam os efeitos visuais quando o Eric salta. Eu queria ter uma visualiza\u00e7\u00e3o melhor da par\u00e1bola dos saltos, para ver\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-27T06:52:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T03:19:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2020-10-27 &#8211; Adding &#8220;Ghost Frames&#8221; (Player Movement Shadows) to my C\/C++ Game Engine&#8230;\",\"datePublished\":\"2020-10-27T06:52:00+00:00\",\"dateModified\":\"2023-10-07T03:19:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\"},\"wordCount\":239,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579\",\"keywords\":[\"C++\",\"Desenvolvimento de Jogos\",\"Dev\",\"Game Dev\",\"Game Engine\",\"Ghost Frames\",\"Motor de Jogos\",\"Platformer\",\"Shoot Em Up\",\"Shooter\",\"Sombras\",\"VideoGames\",\"VideoJogos\"],\"articleSection\":[\"Desenvolvimento de Jogos\",\"Platformers\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Shoot 'Em Up\",\"Shooter Horizontal\",\"Softwares\",\"Video Jogos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\",\"name\":\"2020-10-27 - Adding \\\"Ghost Frames\\\" (Player Movement Shadows) to my C\/C++ Game Engine... - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579\",\"datePublished\":\"2020-10-27T06:52:00+00:00\",\"dateModified\":\"2023-10-07T03:19:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579\",\"width\":1366,\"height\":768,\"caption\":\"2020-10-27 - Adding \\\"Ghost Frames\\\" (Player Movement Shadows) to my C\/C++ Game Engine...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2020-10-27 &#8211; Adding &#8220;Ghost Frames&#8221; (Player Movement Shadows) to my C\/C++ Game Engine&#8230;\"}]},{\"@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":"2020-10-27 - Adding \"Ghost Frames\" (Player Movement Shadows) to my C\/C++ Game Engine... - 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\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/","og_locale":"en_US","og_type":"article","og_title":"2020-10-27 - Adding \"Ghost Frames\" (Player Movement Shadows) to my C\/C++ Game Engine... - Gon\u00e7alo Ferreira","og_description":"Vejam os efeitos visuais quando o Eric salta. Eu queria ter uma visualiza\u00e7\u00e3o melhor da par\u00e1bola dos saltos, para ver","og_url":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2020-10-27T06:52:00+00:00","article_modified_time":"2023-10-07T03:19:07+00:00","og_image":[{"width":1366,"height":768,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2020-10-27 &#8211; Adding &#8220;Ghost Frames&#8221; (Player Movement Shadows) to my C\/C++ Game Engine&#8230;","datePublished":"2020-10-27T06:52:00+00:00","dateModified":"2023-10-07T03:19:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/"},"wordCount":239,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579","keywords":["C++","Desenvolvimento de Jogos","Dev","Game Dev","Game Engine","Ghost Frames","Motor de Jogos","Platformer","Shoot Em Up","Shooter","Sombras","VideoGames","VideoJogos"],"articleSection":["Desenvolvimento de Jogos","Platformers","Programa\u00e7\u00e3o","Projectos","Shoot 'Em Up","Shooter Horizontal","Softwares","Video Jogos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/","url":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/","name":"2020-10-27 - Adding \"Ghost Frames\" (Player Movement Shadows) to my C\/C++ Game Engine... - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579","datePublished":"2020-10-27T06:52:00+00:00","dateModified":"2023-10-07T03:19:07+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-10-27-Adding-player-movement-shadows-to-my-C-Cpp-Game-Engine.png?v=1618147579","width":1366,"height":768,"caption":"2020-10-27 - Adding \"Ghost Frames\" (Player Movement Shadows) to my C\/C++ Game Engine..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2020\/10\/27\/2020-10-27-adding-ghost-frames-player-movement-shadows-to-my-c-c-game-engine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2020-10-27 &#8211; Adding &#8220;Ghost Frames&#8221; (Player Movement Shadows) to my C\/C++ Game Engine&#8230;"}]},{"@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\/347"}],"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=347"}],"version-history":[{"count":1,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/347\/revisions"}],"predecessor-version":[{"id":349,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/347\/revisions\/349"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/348"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}