{"id":32156,"date":"2020-04-30T10:06:54","date_gmt":"2020-04-30T02:06:54","guid":{"rendered":"\/blog\/?p=32156"},"modified":"2021-07-13T11:37:55","modified_gmt":"2021-07-13T03:37:55","slug":"battle-city-remake-on-gamego-with-makecode-arcade","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/","title":{"rendered":"Battle City Remake on GameGo With Makecode Arcade"},"content":{"rendered":"\n<p>Originally appeared on&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.instructables.com\/id\/Battle-City-Remake-on-GameGo-With-Makecode-Arcade\/\" target=\"_blank\">instructables.com<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Battle City Remake on GameGo with Makecode Arcade\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/medGqdwWIDg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>GameGo<\/strong>&nbsp;is a Microsoft Makecode compatible retro gaming portable console in development by <a href=\"https:\/\/blog.tinkergen.com\/\">TinkerGen<\/a> STEM education. It is scheduled for&nbsp;<a href=\"https:\/\/blog.tinkergen.com\/2020\/04\/14\/gamego-a-retro-gaming-platform\/\">release on 20th of May, 2020<\/a>. It is based on STM32F401RET6 ARM Cortex M4 chip and made for STEM educators or just people who like having fun creating retro video games.You can follow this tutorial and try the game in Makecode Arcade simulator and run it on GameGo, when it becomes available for purchase (<a href=\"https:\/\/shop.tinkergen.com\/productscomingsoon\">sign up for our newsletter<\/a>&nbsp;to get notified about start of online sales).<\/p>\n\n\n\n<p>In this article we\u2019re going to try our hand on recreating a classic Battle City tank shooter game, originally produced and published in 1985 by Namco for&nbsp;<strong>Nintendo Entertainment System (NES)<\/strong>. In the original game the player controls a tank and shoot projectiles to destroy enemy tanks. The enemy tanks attempt to destroy the player\u2019s base, as well as the player\u2019s tank itself. We\u2019ll make some modification to the game play to better accommodate block programming practices with&nbsp;<strong>GameGo<\/strong>, but our remake will still retain a lot of similarity to the original game. Let\u2019s begin!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Our Alter-ego \u2013 Yellow Tank<\/h3>\n\n\n\n<p>Open Makecode Arcade at&nbsp;<a href=\"https:\/\/arcade.makecode.com\/\">https:\/\/arcade.makecode.com\/<\/a>&nbsp;and click on new project. We\u2019ll begin my making our alter-ego the yellow tank. Choose Set&nbsp;<strong>mySprite to sprite of kind player<\/strong>&nbsp;block and draw a yellow tank facing upwards as our starting sprite, put that block inside of&nbsp;<strong>on start<\/strong>&nbsp;block. Add&nbsp;<strong>move mySprite with buttons<\/strong>&nbsp;block. Now we have a tank that we can move with buttons in simulation! Great, but it is always facing the same direction, even when we move down or sideways\u2026<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture-3.png?w=1024\" alt=\"\" class=\"wp-image-261\"\/><\/figure>\n\n\n\n<p>To correct that, let\u2019s add four more blocks, one for each direction button.Create a new variable, called&nbsp;<strong>direction<\/strong>&nbsp;\u2013 we will save the direction of movement of our tank in it, 100 will correspond to down, -100 will correspond to up, 200 for right and -200 for left. Why these numbers? You\u2019ll see later, when we add the projectiles that our tank will fire. The logic within each four of these blocks is very simple \u2013 we check if new direction(from button press) is the same as direction before. If it is, we basically don\u2019t do any changes. If it isn\u2019t we change the tank\u2019s sprite and in case with downward and left direction we flip the sprite\u2019s image to avoid drawing additional sprites. Finally let\u2019s assign the starting value of direction to -100 (tank upwards), since this is how our tank starts the game. Try moving the yellow tank now, the sprite will change according to direction of the movement now! Excellent, now let\u2019s add bullets.<\/p>\n\n\n\n<p>We\u2019ll fire bullets with&nbsp;<strong>set projectile to projectile (draw small silver square for that sprite) from mySprite with vx vy velocities<\/strong>. Inside of&nbsp;<strong>on button A pressed<\/strong>&nbsp;block, we need to check for absolute value of direction to see if yellow tank is facing up\/down of left\/right. We then proceed to fire the projectile with the velocity of direction variable \u2013 that\u2019s why we had -100\/100\/-200\/200 for direction values.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture1-1.png?w=1024\" alt=\"\" class=\"wp-image-262\"\/><\/figure>\n\n\n\n<p>Now we have yellow tank that can fire projectiles and move. If yellow simulated tanks could have feeling it would surely feel lonely in this blank void without enemies and things to do. So, for the next step let\u2019s add enemies for it to pass the time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Bring Out the Enemies<\/h3>\n\n\n\n<p>We\u2019ll start this step by creating a bunch of new variables:&nbsp;<strong>two arrays<\/strong>&nbsp;(one for holding enemy sprites and another one for holding enemy directions),<strong>&nbsp;spawn time<\/strong>&nbsp;variable for storing the time period between spawns,&nbsp;<strong>enemy count&nbsp;<\/strong>for storing maximum number of enemies at the same time. We\u2019ll also add two projectiles(projectile and enemy projectile) firing in on start block \u2013 that will help us to avoid an error later.<\/p>\n\n\n\n<p>Next we create&nbsp;<strong>on game update every \u2026 ms<\/strong>&nbsp;block, insert spawn_time variable there.The logic inside of the block is simple \u2013 if the total number of enemies at the battlefield is less than maximum allowed number of enemies, add an enemy to enemy_sprite_list and add 200 (going right) direction for that enemy.<\/p>\n\n\n\n<p>Next, in the&nbsp;<strong>on created sprite of kind Enemy<\/strong>&nbsp;block we add some graphical effects, place it on a random empty tile and call&nbsp;<strong>pick_direction<\/strong>&nbsp;function for this sprite. In&nbsp;<strong>on sprite of kind Enemy hits wall<\/strong>, we call the same function,&nbsp;<strong>pick_direction<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture2-2.png?w=1024\" alt=\"\" class=\"wp-image-264\"\/><\/figure>\n\n\n\n<p>What is in that function? Here is where things start to get a little bit complicated, so hold on. There\u2019s 50 percent chance of enemy tank going up and 50 percent of it going down \u2013 we change the sprite accordingly. The only trick here is that we also need to change the value corresponding to that particular enemy tank in&nbsp;<strong>enemy_directions_list<\/strong>&nbsp;to it\u2019s new direction, so we\u2019d have it fire bullets in the right direction. For that we find the index of enemy sprite in&nbsp;<strong>enemy_sprite_list<\/strong>&nbsp;and change that item\u2019s value in&nbsp;<strong>enemy_directions<\/strong>&nbsp;list.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture3-1.png?w=867\" alt=\"\" class=\"wp-image-265\"\/><\/figure>\n\n\n\n<p>Finally, let\u2019s add shots firing. We add another&nbsp;<strong>on game update every 500 ms<\/strong>&nbsp;block and put a for item in&nbsp;<strong>enemy_sprite_list<\/strong>. With 30% chance an enemy sprite will fire enemy projectile in it\u2019s movement direction.<\/p>\n\n\n\n<p>If we launch the game in simulation now, we can see our yellow tank and enemy tanks appearing in the same point and going into empty space. We can shoot and they can shoot our yellow tank, but nothing would happen. It feels so devoid of meaning still&nbsp;&nbsp;Let\u2019s add the decorations and game mechanics as the last step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: 42 of the Game<\/h3>\n\n\n\n<p>We\u2019re going to start this step by adding life and score from Info tab and setting life to 10 and score to zero. Then we add block&nbsp;<strong>set tile map to \u2026<\/strong>&nbsp;. Draw the file map to look something like you see in the screenshot above. Don\u2019t forget to add the walls!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture4-1.png?w=1009\" alt=\"\" class=\"wp-image-266\"\/><\/figure>\n\n\n\n<p>Let\u2019s add&nbsp;<strong>on sprite of kind Projectile overlaps otherSprite of kind Player<\/strong>&nbsp;\u2013 this is when enemy\u2019s bullets hit our yellow tank. We need to make sure these projectiles are enemy\u2019s bullets and not our own, so we\u2019ll add that if condition within block and if it evaluates as True, then we subtract one from life count. Similar to it, in another block<strong>&nbsp;on sprite of kind Projectile overlaps otherSprite of kind Enemy<\/strong>&nbsp;we make sure that projectile is a projectile from yellow tank and if this condition evaluates as True, we destroy otherSprite(the enemy tank), remove it from the list of&nbsp;<strong>enemy_sprite_list<\/strong>&nbsp;and add one to score.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture5.png?w=1024\" alt=\"\" class=\"wp-image-267\"\/><\/figure>\n\n\n\n<p>The last thing is victory and defeat conditions \u2013 for victory, we\u2019ll check if score is higher or equals 10 in forever block. If it is, then we show the victory screen. And in on life zero block we show the Game Over screen.<\/p>\n\n\n\n<p>Now try it out in the simulation to see if the game is running as expected. Then upload it to&nbsp;<strong>GameGo<\/strong>&nbsp;and enjoy smashing enemy tanks!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture6.png?w=1024\" alt=\"\" class=\"wp-image-268\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Endless Game and Improvements<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/tinkergen.files.wordpress.com\/2020\/04\/capture-4.png?w=1024\" alt=\"\" class=\"wp-image-269\"\/><\/figure>\n\n\n\n<p>In our GitHub repository you can download two files for Makecode arcade \u2013 one is exactly the same you would get if you follow this instructable and the other one is upgraded version, which has randomly generated level progression. It has 10 levels, each one is randomly generated with increased number of enemies in each successive level.<\/p>\n\n\n\n<p>And of course, there is even more things you or your students can add to the game on top of that! There\u2019s&nbsp;<strong>better music, breakable walls, different victory conditions<\/strong>&nbsp;and so on!<\/p>\n\n\n\n<p>If you do make an improved version of the game, share it in the comments below! For more information on&nbsp;<strong>GameGo and other hardware<\/strong>&nbsp;for makers and STEM educators, visit our website,&nbsp;<a href=\"https:\/\/tinkergen.com\/\">https:\/\/tinkergen.com\/<\/a>&nbsp;and subscribe to&nbsp;<a href=\"https:\/\/blog.tinkergen.com\/\">our blog<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Originally appeared on&nbsp;instructables.com GameGo&nbsp;is a Microsoft Makecode compatible retro gaming portable console in development by<\/p>\n","protected":false},"author":3497,"featured_media":32157,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[3097,3095,2541,3080,795,3978,826,3098],"class_list":["post-32156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-acade","tag-edtech","tag-makecode","tag-retro-gaming","tag-steam","tag-steam-education","tag-stem-education","tag-tinkergen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio<\/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.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio\" \/>\n<meta property=\"og:description\" content=\"Originally appeared on&nbsp;instructables.com GameGo&nbsp;is a Microsoft Makecode compatible retro gaming portable console in development by\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-30T02:06:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-13T03:37:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"leslie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"leslie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/\",\"name\":\"Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png\",\"datePublished\":\"2020-04-30T02:06:54+00:00\",\"dateModified\":\"2021-07-13T03:37:55+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/773b99c9e7dd26504c50baac761c4400\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png\",\"width\":1800,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Battle City Remake on GameGo With Makecode Arcade\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/773b99c9e7dd26504c50baac761c4400\",\"name\":\"leslie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/668c09b44fc5039121c14f6dd35d0f10?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/668c09b44fc5039121c14f6dd35d0f10?s=96&r=g\",\"caption\":\"leslie\"},\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/leslie\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio","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.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/","og_locale":"en_US","og_type":"article","og_title":"Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio","og_description":"Originally appeared on&nbsp;instructables.com GameGo&nbsp;is a Microsoft Makecode compatible retro gaming portable console in development by","og_url":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2020-04-30T02:06:54+00:00","article_modified_time":"2021-07-13T03:37:55+00:00","og_image":[{"width":1800,"height":600,"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png","type":"image\/png"}],"author":"leslie","twitter_card":"summary_large_image","twitter_misc":{"Written by":"leslie","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/","url":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/","name":"Battle City Remake on GameGo With Makecode Arcade - Latest News from Seeed Studio","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png","datePublished":"2020-04-30T02:06:54+00:00","dateModified":"2021-07-13T03:37:55+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/773b99c9e7dd26504c50baac761c4400"},"breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png","width":1800,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/04\/30\/battle-city-remake-on-gamego-with-makecode-arcade\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Battle City Remake on GameGo With Makecode Arcade"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/773b99c9e7dd26504c50baac761c4400","name":"leslie","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/668c09b44fc5039121c14f6dd35d0f10?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/668c09b44fc5039121c14f6dd35d0f10?s=96&r=g","caption":"leslie"},"url":"https:\/\/www.seeedstudio.com\/blog\/author\/leslie\/"}]}},"modified_by":"Lily","views":4637,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png",1800,600,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-80x80.png",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-300x100.png",300,100,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-768x256.png",640,213,true],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-1030x343.png",640,213,true],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-1536x512.png",1536,512,true],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png",1800,600,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05.png",32,11,false],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-1536x600.png",1536,600,true],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-936x600.png",936,600,true],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-1024x341.png",1024,341,true],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-720x380.png",720,380,true],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/04\/5-05-05-675x450.png",675,450,true]},"author_info":{"display_name":"leslie","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/leslie\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/32156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/3497"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=32156"}],"version-history":[{"count":2,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/32156\/revisions"}],"predecessor-version":[{"id":48167,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/32156\/revisions\/48167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/32157"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=32156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=32156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=32156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}