{"id":419,"date":"2009-07-05T18:01:07","date_gmt":"2009-07-05T21:01:07","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=419"},"modified":"2009-07-05T18:01:07","modified_gmt":"2009-07-05T21:01:07","slug":"metal-gear-nanna-criando-jogos-usando-c-e-open-gl-parte-i","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=419","title":{"rendered":"Metal Gear Nanna &#8211; Criando jogos usando C++ e Open GL &#8211; Parte I"},"content":{"rendered":"<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-420 alignleft\" title=\"metal_gear_nanna\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\" alt=\"Metal Gear Nanna\" width=\"339\" height=\"324\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png 416w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna-300x286.png 300w\" sizes=\"(max-width: 339px) 100vw, 339px\" \/><\/a>Iniciei um novo hobby neste final de semana: cria\u00e7\u00e3o de jogos. De <strong>todas <\/strong>as atividades, a que mais me diverte sem sombra de d\u00favidas consiste em programar (h\u00e1 momentos nos quais tenho de me beliscar para acreditar que me pagam para isto!).<\/p>\n<p>Ap\u00f3s ter desenvolvido zilh\u00f5es de aplica\u00e7\u00f5es empresariais\/corporativas, acabo por ter a impress\u00e3o\/certeza de que sempre estou executando as mesmas tarefas: CRUD, valida\u00e7\u00e3o de dados, formul\u00e1rios, bancos de dados, etc. Que t\u00e9dio!<\/p>\n<p>A solu\u00e7\u00e3o para acabar com o problema consiste em buscar algo completamente diferente do feij\u00e3o com arroz. O que poderia ser mais distinto que o desenvolvimento de um jogo?<\/p>\n<ul>\n<li>A interface com o usu\u00e1rio n\u00e3o \u00e9 a partir de formul\u00e1rios<\/li>\n<li>N\u00e3o preciso lidar com banco de dados algum (ainda irei escrever um dia sobre a minha teoria de que bancos de dados emburrecem programadores)!<\/li>\n<li>\u00c9 significativamente mais complexo, pois preciso gerenciar detalhes de gerenciamento de recursos com muito maior detalhamento.<\/li>\n<li>N\u00e3o estou preso a nenhuma restri\u00e7\u00e3o comercial!<\/li>\n<\/ul>\n<h2>Objetivos pessoais<\/h2>\n<p>Meus objetivos pessoais neste projeto consistem em me aprofundar no aprendizado do C++ e OpenGL a partir de uma aplica\u00e7\u00e3o real. J\u00e1 faz no m\u00ednimo uns 6 anos que sei C++, por\u00e9m nunca tive uma oportunidade de us\u00e1-la em um projeto real. Visto que a oportunidade n\u00e3o veio, porque n\u00e3o cri\u00e1-la?<\/p>\n<p>Al\u00e9m disto, ano passado fiz a mat\u00e9ria &#8220;Computa\u00e7\u00e3o Gr\u00e1fica&#8221; na faculdade, aonde aprendi OpenGL, que abriu meus olhos para o fato de que desenvolver aplica\u00e7\u00f5es gr\u00e1ficas n\u00e3o \u00e9 algo t\u00e3o complexo como at\u00e9 ent\u00e3o imaginava. Na realidade, como exporei nesta s\u00e9rie de posts, \u00e9 quase f\u00e1cil.<\/p>\n<h2>Enredo e Objetivo<\/h2>\n<p>O personagem principal da hist\u00f3ria \u00e9 Nanna (minha esposa (ali\u00e1s, uma bela maneira de homenagear quem amamos, n\u00e3o \u00e9 mesmo?)), que ap\u00f3s entrar para o grupo dos Vigilantes do Peso precisa vencer as tenta\u00e7\u00f5es da vida diet\u00e9tica. A jogabilidade ser\u00e1 basicamente a mesma presente no jogo Metal Gear original para MSX.<\/p>\n<p><span style=\"color: #ff0000;\">(a prop\u00f3sito, enquanto escrevia este post, descobri que existe uma vers\u00e3o do jogo para PC que pode ser baixada <a href=\"http:\/\/www.angelfire.com\/mech\/msxmetalgearpc\/\" target=\"_blank\">aqui<\/a>)<\/span><\/p>\n<figure id=\"attachment_421\" aria-describedby=\"caption-attachment-421\" style=\"width: 376px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/mgs_msx.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-421 \" title=\"mgs_msx\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/mgs_msx.jpg\" alt=\"\" width=\"376\" height=\"332\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/mgs_msx.jpg 470w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/mgs_msx-300x264.jpg 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/a><figcaption id=\"caption-attachment-421\" class=\"wp-caption-text\">Metal Gear original para o MSX<\/figcaption><\/figure>\n<p>Nanna dever\u00e1 chegar \u00e0 sede dos vigilantes do peso saindo de sua casa. Mas o caminho n\u00e3o \u00e9 t\u00e3o tranquilo quanto aparenta, pois Nanna precisa evitar os malditos &#8220;Traficantes de Del\u00edcias&#8221; que, caso a vejam, acabar\u00e3o por convenc\u00ea-la a comer alguma coisa.<\/p>\n<p>Cada um destes traficantes possui um raio de vis\u00e3o que Nanna dever\u00e1 evitar. Caso a vejam, autom\u00e1ticamente nossa heroina perder\u00e1 pontos. O jogo termina se uma das condi\u00e7\u00f5es abaixo for satisfeita:<\/p>\n<ul>\n<li>Nanna est\u00e1 com pontos menores ou iguais a zero.<\/li>\n<li>Nanna chegou \u00e0 sede dos vigilantes do peso em todas as fases.<\/li>\n<\/ul>\n<p>Ainda n\u00e3o pensei se ser\u00e1 poss\u00edvel restaurar pontos perdidos, por\u00e9m nada impede que, al\u00e9m dos malditos traficantes, tamb\u00e9m existam &#8220;academias&#8221; espalhadas pelos diversos n\u00edveis do jogo aonde Nanna poder\u00e1 voltar \u00e0 boa forma.<\/p>\n<h2>Plataforma adotada<\/h2>\n<p>Como mencionei acima, um dos objetivos deste projeto consiste em me aprofundar em C++ e OpenGL. Dentre as diversas IDEs existentes atualmente, acabei por adotar o <a href=\"http:\/\/www.bloodshed.net\/devcpp.html\">Dev-C++<\/a> pelas raz\u00f5es abaixo:<\/p>\n<ul>\n<li>Possui pouqu\u00edssimos recursos, o que faz com que eu me sinta o mais pr\u00f3ximo poss\u00edvel do compilador.<\/li>\n<li>Possui integra\u00e7\u00e3o com as bibliotecas do OpenGL que precisarei.<\/li>\n<li>Caso no futuro eu desista desta IDE, ela n\u00e3o imp\u00f5e nenhuma estrutura de diret\u00f3rios ou restri\u00e7\u00e3o que me impe\u00e7a de no futuro utilizar o editor\/IDE que eu queira.<\/li>\n<\/ul>\n<p>Ser\u00e1 utilizada a biblioteca GLUT do OpenGL para o desenvolvimento deste jogo. GLUT significa Open <strong>GL<\/strong> <strong>U<\/strong>tility <strong>T<\/strong>oolkit, que consiste em uma biblioteca de funcionalidades da Open GL cujo principal objetivo consiste em abstrair o sistema operacional da aplica\u00e7\u00e3o, tornando-a assim multiplataforma. Dentre estes detalhes, encontra-se a cria\u00e7\u00e3o de janelas e componentes de interface. A biblioteca GLUT foi implementada para basicamente todos os principais sistemas operacionais em uso atualmente. Sendo assim, voc\u00ea poder\u00e1 pegar o c\u00f3digo fonte qeu disponibilizarei e compil\u00e1-lo no sistema operacional de sua prefer\u00eancia.<\/p>\n<h2>Configurando o ambiente de desenvolvimento<\/h2>\n<p>Instalado o Dev-C++ em seu site oficial (<a href=\"http:\/\/www.bloodshed.net\/devcpp.html\" target=\"_blank\">http:\/\/www.bloodshed.net\/devcpp.html<\/a>), tudo o que voc\u00ea precisar\u00e1 fazer consiste em instalar a biblioteca GLUT no mesmo.<\/p>\n<p>Abrindo o Dev-C++, clique no item de menu &#8220;Check for Updates\/Packages&#8230;&#8221;. Surgir\u00e1 uma janela tal como na imagem abaixo:<\/p>\n<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/webupdate_devcpp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-422\" title=\"webupdate_devcpp\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/webupdate_devcpp.png\" alt=\"\" width=\"500\" height=\"412\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/webupdate_devcpp.png 593w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/webupdate_devcpp-300x247.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Localize o pacote GLUT na listagem presente e em seguida clique no bot\u00e3o &#8220;Download selected&#8221;. Pronto: o GLUT ser\u00e1 baixado e em seguida instalado para uso pelo Dev-C++.<\/p>\n<h2>O que est\u00e1 por vir<\/h2>\n<p>N\u00e3o tenho experi\u00eancia ALGUMA no desenvolvimento de jogos, sendo assim, estou adotando um racioc\u00ednio <em>out of the box<\/em> neste processo, ou seja, o motor respons\u00e1vel pelo funcionamento de Metal Gear Nanna ser\u00e1 inteiramente baseado na minha experi\u00eancia como jogador de Metal Gear 1 e 2 para MSX.<\/p>\n<p>Como consequ\u00eancia, irei reinventar in\u00fameras vezes a roda neste processo, o que \u00e9 exatamente a inten\u00e7\u00e3o aqui. Pretendo com isto saber a fundo como funcionam todos os aspectos no desenvolvimento de jogos no n\u00edvel mais baixo poss\u00edvel.<\/p>\n<p>No pr\u00f3ximo post irei disponibilizar o c\u00f3digo fonte j\u00e1 criado e expor o modelo por tr\u00e1s do funcionamento de Metal Gear Nanna (e, espero, irei tamb\u00e9m expor gr\u00e1ficos bem melhores do que os obtidos por mim at\u00e9 a escrita deste post).<\/p>\n<p>At\u00e9 l\u00e1!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Iniciei um novo hobby neste final de semana: cria\u00e7\u00e3o de jogos. De todas as atividades, a que mais me diverte sem sombra de d\u00favidas consiste em programar (h\u00e1 momentos nos quais tenho de me beliscar para acreditar que me pagam para isto!). Ap\u00f3s ter desenvolvido zilh\u00f5es de aplica\u00e7\u00f5es empresariais\/corporativas, acabo por ter a impress\u00e3o\/certeza de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[41],"tags":[],"class_list":["post-419","post","type-post","status-publish","format-standard","hentry","category-metal-gear-nanna"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico<\/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:\/\/devkico.itexto.com.br\/?p=419\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Iniciei um novo hobby neste final de semana: cria\u00e7\u00e3o de jogos. De todas as atividades, a que mais me diverte sem sombra de d\u00favidas consiste em programar (h\u00e1 momentos nos quais tenho de me beliscar para acreditar que me pagam para isto!). Ap\u00f3s ter desenvolvido zilh\u00f5es de aplica\u00e7\u00f5es empresariais\/corporativas, acabo por ter a impress\u00e3o\/certeza de [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=419\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2009-07-05T21:01:07+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=419\",\"name\":\"Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\",\"datePublished\":\"2009-07-05T21:01:07+00:00\",\"dateModified\":\"2009-07-05T21:01:07+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=419\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=419#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Metal Gear Nanna &#8211; Criando jogos usando C++ e Open GL &#8211; Parte I\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico","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:\/\/devkico.itexto.com.br\/?p=419","og_locale":"pt_BR","og_type":"article","og_title":"Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico","og_description":"Iniciei um novo hobby neste final de semana: cria\u00e7\u00e3o de jogos. De todas as atividades, a que mais me diverte sem sombra de d\u00favidas consiste em programar (h\u00e1 momentos nos quais tenho de me beliscar para acreditar que me pagam para isto!). Ap\u00f3s ter desenvolvido zilh\u00f5es de aplica\u00e7\u00f5es empresariais\/corporativas, acabo por ter a impress\u00e3o\/certeza de [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=419","og_site_name":"\/dev\/Kico","article_published_time":"2009-07-05T21:01:07+00:00","og_image":[{"url":"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=419","url":"https:\/\/devkico.itexto.com.br\/?p=419","name":"Metal Gear Nanna - Criando jogos usando C++ e Open GL - Parte I - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png","datePublished":"2009-07-05T21:01:07+00:00","dateModified":"2009-07-05T21:01:07+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=419#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=419"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=419#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/07\/metal_gear_nanna.png"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=419#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Metal Gear Nanna &#8211; Criando jogos usando C++ e Open GL &#8211; Parte I"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/419"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=419"}],"version-history":[{"count":1,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions"}],"predecessor-version":[{"id":423,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions\/423"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}