{"version":"1.0","provider_name":"Visual Studio Blog","provider_url":"https:\/\/devblogs.microsoft.com\/visualstudio","author_name":"Visual Studio Team","author_url":"https:\/\/devblogs.microsoft.com\/visualstudio\/author\/vsblog\/","title":"How Visual Studio gives Halfbrick ninja powers - Visual Studio Blog","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"bAx7Mhitb4\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/how-visual-studio-gives-halfbrick-ninja-powers\/\">How Visual Studio gives Halfbrick ninja powers<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/how-visual-studio-gives-halfbrick-ninja-powers\/embed\/#?secret=bAx7Mhitb4\" width=\"600\" height=\"338\" title=\"&#8220;How Visual Studio gives Halfbrick ninja powers&#8221; &#8212; Visual Studio Blog\" data-secret=\"bAx7Mhitb4\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/visualstudio\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/01\/VS-logo-featured-image.webp","thumbnail_width":560,"thumbnail_height":350,"description":"For this post we welcome Nicholas Cornelius and Miguel Pastor from Halfbrick as guest authors on the Visual Studio Blog. Halfbrick games, including Fruit Ninja and Jetpack Joyride, are released on multi platforms. To minimize per-platform overhead, our games are written primarily in C++ with only small portions of platform-specific code written in Java or [&hellip;]"}