<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Nonostante Games</title>
  
  
  <link href="/atom.xml" rel="self"/>
  
  <link href="https://www.nonostante.io/"/>
  <updated>2019-12-06T23:27:34.722Z</updated>
  <id>https://www.nonostante.io/</id>
  
  <author>
    <name>Nonostante</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>KLAC - Update #2 - New levels, bosses and MacOS support</title>
    <link href="https://www.nonostante.io/news/2019-03-27-klac-update-2.html"/>
    <id>https://www.nonostante.io/news/2019-03-27-klac-update-2.html</id>
    <published>2019-03-27T13:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.722Z</updated>
    
    <content type="html"><![CDATA[<p>Today we’re so excited to write about the next KLAC update planned for the next month.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/klac/game-ico.png" title="KLAC game logo"><span class="game-title">KLAC</span><span class="game-subtitle">Word puzzle</span></div><span class="game-stores"><a class="store-ios" href="/games/klac/download/ios.html"></a><a class="store-android" href="/games/klac/download/android.html"></a><a class="store-windows" href="/games/klac/download/windows.html"></a><a class="store-amazon" href="/games/klac/download/amazon.html"></a><a class="store-macos" href="/games/klac/download/macos.html"></a><a class="store-steam" href="/games/klac/download/steam.html"></a><a class="store-itchio" href="/games/klac/download/itchio.html"></a></span></div><p><strong>KLAC</strong> is a spatial-word puzzle game with a minimal and elegant design.</p><h2 id="Change-Log"><a href="#Change-Log" class="headerlink" title="Change Log"></a>Change Log</h2><p>Here’re the new features KLAC will include:</p><ul><li>40+ new levels</li><li>Bosses and Super-Hard mode</li><li>MacOS Support (with iCloud sync)</li></ul><h2 id="MacOS-Support"><a href="#MacOS-Support" class="headerlink" title="MacOS Support"></a>MacOS Support</h2><p>KLAC finally is heading to the Mac App Store. KLAC runs smoothly on MacOS and it will support both fullscreen and mini mode.</p><p>Thanks to iCloud, all progress are kept in sync among all Apple devices, including iPhone, iPad and MacBook. You can play on a device and hop on another one to continue to play seamlessly.</p><img src="/imgs/klac/klac-mockup-apple.png"><h2 id="Release-date-End-of-May"><a href="#Release-date-End-of-May" class="headerlink" title="Release date: End of May"></a>Release date: End of May</h2><p>This update of <strong>KLAC</strong> is coming soon. This will mark the first release for MacOS. All other platforms will receive the update in the same time frame.</p><p>Save the date and keep supporting us.</p><h2 id="Try-out-the-beta"><a href="#Try-out-the-beta" class="headerlink" title="Try out the beta"></a>Try out the beta</h2><p>In the meanwhile you can play the beta for free:</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/klac.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="klac">Access the beta</a><p>You can know more about <strong>KLAC</strong> on the <a href="/games/klac">game page</a> or <a href="/tags/klac">devblog</a>.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>KLAC</strong> is currently in development, stay tuned for more coming in the next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      KLAC is a minimalist word puzzle game for Android, iOS, Windows and MacOS
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/klac/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="KLAC" scheme="https://www.nonostante.io/tags/klac/"/>
    
  </entry>
  
  <entry>
    <title>RUNA: Arrange and spread the light - a gorgeous puzzle game</title>
    <link href="https://www.nonostante.io/news/2018-11-27-runa-announcement.html"/>
    <id>https://www.nonostante.io/news/2018-11-27-runa-announcement.html</id>
    <published>2018-11-27T16:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.723Z</updated>
    
    <content type="html"><![CDATA[<p>Today we’re so excited to write about our new game.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/runa/game-ico.png" title="RUNA game logo"><span class="game-title">RUNA</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="store-ios" href="/games/runa/download/ios.html"></a><a class="store-android" href="/games/runa/download/android.html"></a><a class="store-windows" href="/games/runa/download/windows.html"></a><a class="store-amazon" href="/games/runa/download/amazon.html"></a></span></div><p><strong>RUNA</strong> is a spatial-word puzzle game with a minimal and elegant design.</p><img src="/imgs/runa/share-img.png"><h2 id="A-way-throughout-the-shadows"><a href="#A-way-throughout-the-shadows" class="headerlink" title="A way throughout the shadows"></a>A way throughout the shadows</h2><p>Arrange and spread the light. Irradiate the way up to higher sky.</p><p>Set the order, set the route, set the focus. Let the energy flows on the path of the Light.</p><div class="screenshot-scroll"><ul><li class="screenshot" style="background-image:url(/imgs/runa/media/mobile_screenshot1.png)"></li><li class="screenshot" style="background-image:url(/imgs/runa/media/mobile_screenshot2.png)"></li><li class="screenshot" style="background-image:url(/imgs/runa/media/mobile_screenshot3.png)"></li></ul></div><p>RUNA is a gorgeous puzzle game with celestial graphics and delicate sounds.</p><p>You’ll make use of reasoning, logic, experimentation and research.</p><h2 id="Release-date"><a href="#Release-date" class="headerlink" title="Release date!"></a>Release date!</h2><p><strong>RUNA</strong> will be available for iOS on <strong>30th January 2019</strong>.</p><p>On Android (open beta) and Windows Phone later the month after.</p><p>Save the date and keep supporting us.</p><h2 id="Try-out-the-beta"><a href="#Try-out-the-beta" class="headerlink" title="Try out the beta"></a>Try out the beta</h2><p>In the meanwhile you can play the beta for free:</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/runa.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="runa">Access the beta</a><p>You can know more about <strong>RUNA</strong> on the <a href="/games/runa">game page</a> or <a href="/tags/klac">devblog</a>.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>RUNA</strong> is currently in development, stay tuned for more coming in the next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      RUNA is a gorgeous puzzle game for Android, iOS and Windows
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/runa/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="RUNA" scheme="https://www.nonostante.io/tags/runa/"/>
    
  </entry>
  
  <entry>
    <title>KLAC: Snap, Split and Stick - a spatial word puzzle game</title>
    <link href="https://www.nonostante.io/news/2018-09-30-klac-announcement.html"/>
    <id>https://www.nonostante.io/news/2018-09-30-klac-announcement.html</id>
    <published>2018-09-30T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.721Z</updated>
    
    <content type="html"><![CDATA[<p>Today we’re so excited to write about our new game.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/klac/game-ico.png" title="KLAC game logo"><span class="game-title">KLAC</span><span class="game-subtitle">Word puzzle</span></div><span class="game-stores"><a class="store-ios" href="/games/klac/download/ios.html"></a><a class="store-android" href="/games/klac/download/android.html"></a><a class="store-windows" href="/games/klac/download/windows.html"></a><a class="store-amazon" href="/games/klac/download/amazon.html"></a><a class="store-macos" href="/games/klac/download/macos.html"></a><a class="store-steam" href="/games/klac/download/steam.html"></a><a class="store-itchio" href="/games/klac/download/itchio.html"></a></span></div><p><strong>KLAC</strong> is a spatial-word puzzle game with a minimal and elegant design.</p><img src="/imgs/klac/share-img.png"><h2 id="Snap-Split-and-Stick"><a href="#Snap-Split-and-Stick" class="headerlink" title="Snap, Split and Stick!"></a>Snap, Split and Stick!</h2><p>KLAC is minimal. It’s hard. It’s wonderful.<br>Lots of things, we can say…</p><p>But, you’ll trust us?<br>When you KLAC, you - for sure - will.</p><div class="screenshot-scroll"><ul><li class="screenshot" style="background-image:url(/imgs/klac/media/mobile_screenshot1.png)"></li><li class="screenshot" style="background-image:url(/imgs/klac/media/mobile_screenshot2.png)"></li><li class="screenshot" style="background-image:url(/imgs/klac/media/mobile_screenshot3.png)"></li></ul></div><h2 id="Release-date-03-October"><a href="#Release-date-03-October" class="headerlink" title="Release date: 03 October!"></a>Release date: 03 October!</h2><p><strong>KLAC</strong> will be available for iOS on <strong>3rd October 2018</strong>.</p><p>On Android (open beta) and Windows Phone later this month.</p><p>Save the date and keep supporting us.</p><h2 id="Try-out-the-beta"><a href="#Try-out-the-beta" class="headerlink" title="Try out the beta"></a>Try out the beta</h2><p>In the meanwhile you can play the beta for free:</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/klac.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="klac">Access the beta</a><p>You can know more about <strong>KLAC</strong> on the <a href="/games/klac">game page</a> or <a href="/tags/klac">devblog</a>.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>KLAC</strong> is currently in development, stay tuned for more coming in the next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      KLAC is a minimalist word puzzle game for Android, iOS and Windows
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/klac/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="KLAC" scheme="https://www.nonostante.io/tags/klac/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - iPhone Wallpapers to celebrate the new update</title>
    <link href="https://www.nonostante.io/news/2018-07-16-ermo-iphone-wallpapers.html"/>
    <id>https://www.nonostante.io/news/2018-07-16-ermo-iphone-wallpapers.html</id>
    <published>2018-07-16T12:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.720Z</updated>
    
    <content type="html"><![CDATA[<p>To celebrate the release of the <a href="/games/ermo">ERMO</a> new update, we created some wonderful wallpapers for iPhone and iPhoneX.</p><div class="screenshot-scroll"><ul><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-1-80.jpg)"></li><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-2-80.jpg)"></li><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-3-80.jpg)"></li><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-4-80.jpg)"></li><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-5-80.jpg)"></li><li class="screenshot w-200" style="background-image:url(/imgs/ermo/wallpapers/ermo-wallpaper-iphonex-6-80.jpg)"></li></ul></div><h2 id="Get-ERMO-iPhone-Wallpaper"><a href="#Get-ERMO-iPhone-Wallpaper" class="headerlink" title="Get ERMO iPhone Wallpaper"></a>Get ERMO iPhone Wallpaper</h2><p>You can download the wallpapers in full quality</p><a class="btn btn-action" href="/imgs/ermo/wallpapers/ermo-wallpapers.zip" data-event="wallpapers" data-event-arg1="ermo">Download Wallpapers</a><h2 id="Get-ERMO"><a href="#Get-ERMO" class="headerlink" title="Get ERMO"></a>Get ERMO</h2><p>ERMO is an ethereal game about harmony and inner peace.<br>You can get ERMO right now:</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><p>Hope you enjoy ERMO and its ethereal world.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for more updates.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      ERMO Wallpapers, ethereal landscape the enlighten your iPhone and iPhoneX
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - Update #3 - BIOK Mod</title>
    <link href="https://www.nonostante.io/news/2018-07-06-ermo-biok-mod.html"/>
    <id>https://www.nonostante.io/news/2018-07-06-ermo-biok-mod.html</id>
    <published>2018-07-06T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.718Z</updated>
    
    <content type="html"><![CDATA[<p>Celebrate with us the release of out new game BIOK!</p><p>ERMO now includes a new <em>Special Event</em>: <strong>BIOK Mod</strong>. Capture creatures, lead cute monsters and enjoy!</p><p>We released a new version: <strong>v1.3.0</strong>. It’s available on all platforms: <a href="/games/ermo/download/ios.html" class="storelink-ios">iOS</a>, <a href="/games/ermo/download/android.html" class="storelink-android">Android</a> and <a href="/games/ermo/download/windows.html" class="storelink-windows">Windows</a>.</p><img src="/imgs/p/ermo_biok-mod.png" class="img-wide"><h2 id="Access-the-BIOK-Mod"><a href="#Access-the-BIOK-Mod" class="headerlink" title="Access the BIOK Mod"></a>Access the BIOK Mod</h2><p>You can play the Mod for free! You can access the Mod by the settings menu.</p><img src="/imgs/p/ermo_biok-mod2.png"><p>Check the monsters and match the targets.</p><img src="/imgs/p/ermo_biok-mod3.png"><h2 id="What’s-included-in-the-Mod"><a href="#What’s-included-in-the-Mod" class="headerlink" title="What’s included in the Mod"></a>What’s included in the Mod</h2><ul><li>Gameplay inspired by our new game BIOK</li><li>New special item: Biok creature</li><li>5 new levels with 14 puzzles</li><li>Custom theme with gorgeous design</li><li>Dedicated music to enrich the gameplay</li></ul><p>You can beat the Mod in 15 minutes.<br>Hope you’ll enjoy, and if so, we greatly appreciate if you leave a review.</p><h2 id="GET-ERMO"><a href="#GET-ERMO" class="headerlink" title="GET ERMO"></a>GET ERMO</h2><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><h2 id="What-about-BIOK"><a href="#What-about-BIOK" class="headerlink" title="What about BIOK?"></a>What about BIOK?</h2><p>You can learn more about <strong>BIOK</strong> on the <a href="/games/biok">dedicated page</a>.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/biok/game-ico.png" title="BIOK game logo"><span class="game-title">BIOK</span><span class="game-subtitle">Board game</span></div><span class="game-stores"><a class="store-ios" href="/games/biok/download/ios.html"></a><a class="store-android" href="/games/biok/download/android.html"></a><a class="store-windows" href="/games/biok/download/windows.html"></a><a class="store-xbox" href="/games/biok/download/xbox.html"></a><a class="store-steam" href="/games/biok/download/steam.html"></a><a class="store-amazon" href="/games/biok/download/amazon.html"></a></span></div><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      Celebrate with us the release a new game: BIOK. ERMO now includes a new mod for iOS, Android and Windows
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/p/ermo_biok-mod.png.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>BIOK is available for pre-order on iOS</title>
    <link href="https://www.nonostante.io/news/2018-07-06-biok-available-for-preorder-ios.html"/>
    <id>https://www.nonostante.io/news/2018-07-06-biok-available-for-preorder-ios.html</id>
    <published>2018-07-06T07:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.715Z</updated>
    
    <content type="html"><![CDATA[<div class="article-info"><p><strong>Update 19 Jul 2018</strong><br>BIOK is now available! Get it from <a href="/games/biok/download/ios.html" class="storelink-ios">Apple Store</a></p></div><p>We’re very happy to announce that BIOK is now available for pre-order on iOS.</p><p>Head to the Apple Store and get BIOK!</p><a class="btn btn-action" href="http://www.nonostante.io/games/biok/download/ios.html" data-event="preorder" data-event-arg1="biok">Pre-Order</a><h2 id="Gameplay-Trailer"><a href="#Gameplay-Trailer" class="headerlink" title="Gameplay Trailer"></a>Gameplay Trailer</h2><div class="video-container"><iframe src="https://www.youtube.com/embed/0uF_qQphvao?modestbranding=1&rel=0" frameborder="0" allowfullscreen></iframe></div><h2 id="About-BIOK"><a href="#About-BIOK" class="headerlink" title="About BIOK"></a>About BIOK</h2><p><strong>BIOK</strong> is pure strategy and intuition. A board game for the ingenious and the acute minds.<br>Lead the creatures on the playing field to capture monsters and all kinds of items. Watch the monsters’ eyes and guide them to their preys.</p><img src="/imgs/p/biok-banner-landscape1.png" class="img-cover"><p><strong>BIOK</strong> includes several game modes such as survival and bonus, where you can enjoy different gameplay and new challenges. There’re many creatures with different behavior to make the game always fresh.</p><img src="/imgs/p/biok-banner-landscape2.png" class="img-cover"><h3 id="Features"><a href="#Features" class="headerlink" title="Features"></a>Features</h3><ul><li>Simple controls and fluid mechanics, super simple to understand and fun to use</li><li>60 levels in many worlds with various maps</li><li>10 creatures with different characteristics and abilities</li><li>Bonus and survival mode to solve puzzles and challenges</li><li>Special objects and environmental elements</li><li>Secondary missions and hidden objectives</li><li>Achievement and integration with Game Center</li><li>Fun and suitable for all age</li></ul><h2 id="Pre-Order-now"><a href="#Pre-Order-now" class="headerlink" title="Pre-Order now"></a>Pre-Order now</h2><p>Biok is available for iOS</p><a class="btn btn-action" href="http://www.nonostante.io/games/biok/download/ios.html" data-event="preorder" data-event-arg1="biok">Pre-Order</a><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>BIOK</strong> will be release soon, stay tuned for more coming next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      BIOK is a strategic board game now available for pre-order on iOS
    
    </summary>
    
    <content src="https://www.nonostante.io/imgs/p/biok-banner-landscape1png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="BIOK" scheme="https://www.nonostante.io/tags/biok/"/>
    
  </entry>
  
  <entry>
    <title>BIOK: A strategic board of conquests</title>
    <link href="https://www.nonostante.io/news/2018-05-18-biok-announcement.html"/>
    <id>https://www.nonostante.io/news/2018-05-18-biok-announcement.html</id>
    <published>2018-05-18T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.715Z</updated>
    
    <content type="html"><![CDATA[<p>Today we’re so excited to write about our <em>work-in-progress</em> game.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/biok/game-ico.png" title="BIOK game logo"><span class="game-title">BIOK</span><span class="game-subtitle">Board game</span></div><span class="game-stores"><a class="store-ios" href="/games/biok/download/ios.html"></a><a class="store-android" href="/games/biok/download/android.html"></a><a class="store-windows" href="/games/biok/download/windows.html"></a><a class="store-xbox" href="/games/biok/download/xbox.html"></a><a class="store-steam" href="/games/biok/download/steam.html"></a><a class="store-amazon" href="/games/biok/download/amazon.html"></a></span></div><p><strong>BIOK</strong> is a strategic board game of conquests with pure intuition.</p><p>You will lead a set of creatures on a board field to capture their enemies.</p><img src="/imgs/p/biok-banner-landscape1.png" class="img-cover"><h2 id="Monsterpedia-and-special-items"><a href="#Monsterpedia-and-special-items" class="headerlink" title="Monsterpedia and special items"></a>Monsterpedia and special items</h2><p>Collect special items and consult the <em>Monsterpedia</em> to learn all the details about each monster, object and special item. All creatures have a strength and a weakness, a most wanted prey and a fearful hunter.</p><div class="screenshot-scroll"><ul><li class="screenshot" style="background-image:url(/imgs/p/biok-preview1.png)"></li><li class="screenshot" style="background-image:url(/imgs/p/biok-preview2.png)"></li></ul></div><h2 id="Try-out-the-beta"><a href="#Try-out-the-beta" class="headerlink" title="Try out the beta"></a>Try out the beta</h2><p>In the meanwhile you can play the beta for free:</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/biok.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="biok">Access the beta</a><p><strong>BIOK</strong> will be available next month for iOS, Android and Windows Phone. About a month later, on widescreens, like Steam and Xbox One.</p><p>You can know more about <strong>BIOK</strong> on the <a href="/games/biok">game page</a> or <a href="/tags/biok">devblog</a>.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>BIOK</strong> is currently in development, stay tuned for more coming next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      BIOK is a strategic board game of conquests with pure intuition
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/p/biok-banner-landscape.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="BIOK" scheme="https://www.nonostante.io/tags/biok/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - Update #2 - Christmas Mod</title>
    <link href="https://www.nonostante.io/news/2017-12-16-ermo-christmas-mod.html"/>
    <id>https://www.nonostante.io/news/2017-12-16-ermo-christmas-mod.html</id>
    <published>2017-12-16T02:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.718Z</updated>
    
    <content type="html"><![CDATA[<p>Here it comes an new wonderful update for ERMO: <strong>Christmas Mod</strong>!</p><p>We released a new version: <strong>v1.2.0</strong>. It’s available exclusively: <a href="/games/ermo/download/ios.html" class="storelink-ios">iOS</a>.</p><img src="/imgs/ermo/media/promo_landscape_christmas.png" class="img-wide"><h2 id="Access-the-Christmas-Mod"><a href="#Access-the-Christmas-Mod" class="headerlink" title="Access the Christmas Mod"></a>Access the Christmas Mod</h2><p>You can play the Mod for free! You can access the Mod by the settings menu.</p><img src="/imgs/p/ermo_christmas-mod1.png"><h2 id="iPhoneX-Support"><a href="#iPhoneX-Support" class="headerlink" title="iPhoneX Support"></a>iPhoneX Support</h2><p>Enjoy the immersive full screen experience maxed out on the iPhone X screen.</p><img src="/imgs/p/ermo-christmas-iphonex.png"><h2 id="What’s-included-in-the-Mod"><a href="#What’s-included-in-the-Mod" class="headerlink" title="What’s included in the Mod"></a>What’s included in the Mod</h2><ul><li>New gameplay with a twist on rules</li><li>New special item: Snowflake</li><li>8 new levels with 20+ puzzles</li><li>Brand new live theme</li><li>Custom music to enlighten your experience</li></ul><p>You can beat the Mod in 15 minutes.<br>Hope you’ll enjoy, and if so, we greatly appreciate if you leave a review.</p><h2 id="GET-ERMO"><a href="#GET-ERMO" class="headerlink" title="GET ERMO"></a>GET ERMO</h2><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      A new wonderful update of ERMO is available! Christmas Mod!
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/media/promo_landscape_christmas.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - Update #1 - Halloween Mod</title>
    <link href="https://www.nonostante.io/news/2017-10-30-ermo-halloween-mod.html"/>
    <id>https://www.nonostante.io/news/2017-10-30-ermo-halloween-mod.html</id>
    <published>2017-10-30T02:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.719Z</updated>
    
    <content type="html"><![CDATA[<p>A new slice of ERMO is available! <strong>Halloween Mod</strong>!</p><p>It’s a new gameplay twist you’ll enjoy for sure.</p><p>We released a new update: <strong>v1.1.0</strong>. It’s available on all platforms: <a href="/games/ermo/download/ios.html" class="storelink-ios">iOS</a>, <a href="/games/ermo/download/android.html" class="storelink-android">Android</a> and <a href="/games/ermo/download/windows.html" class="storelink-windows">Windows</a>.</p><img src="/imgs/ermo/media/promo_landscape_halloween.png" class="img-wide"><h2 id="Introducing-Spooky"><a href="#Introducing-Spooky" class="headerlink" title="Introducing Spooky"></a>Introducing Spooky</h2><p>Spooky is a lovely guest you’ll find in ERMO. Help him, he’s so hungry!</p><img src="/imgs/p/ermo_halloween-mod2.gif"><p>You can play the Mod for free! You can access the Mod by the settings menu.</p><img src="/imgs/p/ermo_halloween-mod1.gif"><h2 id="What’s-included-in-the-Mod"><a href="#What’s-included-in-the-Mod" class="headerlink" title="What’s included in the Mod"></a>What’s included in the Mod</h2><ul><li>A new gameplay with new rules</li><li>7 new levels with combined 17 puzzles</li><li>A brand new theme with dedicated music</li></ul><p>You can beat the Mod in 15 minutes.<br>Hope you’ll enjoy, and if so, we greatly appreciate if you leave a review.</p><h2 id="GET-ERMO"><a href="#GET-ERMO" class="headerlink" title="GET ERMO"></a>GET ERMO</h2><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      A new slice of ERMO is available Halloween Mod! It&#39;s available on iOS, Android and Windows
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/media/promo_landscape_halloween.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO is coming soon on Steam</title>
    <link href="https://www.nonostante.io/news/2017-10-23-ermo-coming-soon-on-steam.html"/>
    <id>https://www.nonostante.io/news/2017-10-23-ermo-coming-soon-on-steam.html</id>
    <published>2017-10-23T01:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.718Z</updated>
    
    <content type="html"><![CDATA[<div class="article-info"><p><strong>Update 07/11</strong><br>ERMO is now available on Early Access! Get it from <a href="/games/ermo/download/steam.html" class="storelink-steam">Steam</a></p></div><p>We’re so happy to announce that ERMO is coming to Steam.</p><p>ERMO will be available for Windows, MacOS and Linux.</p><img src="/imgs/p/ermo-steam.png" class="img-wide"><p>ERMO will have a period of <strong>early access</strong> starting next week (about).</p><a class="btn btn-action" href="http://store.steampowered.com/app/731670" target="_blank" rel="noopener" data-event="steam-page" data-event-arg1="ermo">Steam page</a><h2 id="Early-access"><a href="#Early-access" class="headerlink" title="Early access"></a>Early access</h2><p>ERMO has some experimental features to share player designed levels and challenge friends to beat them. With the help of the community, we can adopt what is the best choice to provide that feature.</p><p>In addition, ERMO runs fullscreen and in immersive mode. It would be nice to collect feedback on this, and understand if players prefer other modes, like “semi windowed” to play and keep multitasking.</p><p>Although ERMO is already well tested, squash bugs and get rid of any platform annoyance would be our top priority.</p><h3 id="Content"><a href="#Content" class="headerlink" title="Content"></a>Content</h3><p>Actually ERMO includes 4 game modes + 1 Bonus mode and about 100 puzzle level/stages. In addition ERMO includes 1 mod, with a special theme and special gameplay rules.</p><p>In the early access period we’ll create more content, to reach about 200 level/stages. We’ll create also 1 more mod, to introduce another special item, new gameplay rules and its related theme.</p><h3 id="Actual-state"><a href="#Actual-state" class="headerlink" title="Actual state"></a>Actual state</h3><p>ERMO can be played in full. All main features are already developed and well tested. The level editor and level creation process, both work very good.</p><p>In the Early Access period we’ll introduce the possibility to share levels with friends, and all other features mentioned in previous comments.</p><h2 id="Steam-presence"><a href="#Steam-presence" class="headerlink" title="Steam presence"></a>Steam presence</h2><p>In the meanwhile head to the ERMO Steam page, wishlist and engage with us and the community</p><a class="btn btn-action" href="http://store.steampowered.com/app/731670" target="_blank" rel="noopener" data-event="steam-page" data-event-arg1="ermo">Steam page</a><h2 id="What’s-included"><a href="#What’s-included" class="headerlink" title="What’s included"></a>What’s included</h2><ul><li>Simple, intuitive and profound mechanics</li><li>60 levels with 150+ block puzzles</li><li>Hand-crafted balanced difficulty to make all levels always challenging</li><li>4 different and intriguing modes</li><li>BONUS levels with easy item collecting to refill your stocks</li><li>Level designer! Create your own levels and share with friends</li><li>Achievements and leaderbords</li><li>Ethereal graphic design, provides peace and serenity</li><li>Adaptive and immersive experience: ERMO runs beautiful everywhere, from mobile and tablet to TV wide screens</li></ul><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      We&#39;re so happy to announce that ERMO is coming to Steam. ERMO will be available for Windows, MacOS and Linux.
    
    </summary>
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO is coming soon to iOS</title>
    <link href="https://www.nonostante.io/news/2017-09-28-ermo-coming-soon-to-ios.html"/>
    <id>https://www.nonostante.io/news/2017-09-28-ermo-coming-soon-to-ios.html</id>
    <published>2017-09-28T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.719Z</updated>
    
    <content type="html"><![CDATA[<div class="article-info"><p><strong>Update 24 Oct 2017</strong><br>ERMO is now available! Get it from <a href="/games/ermo/download/ios.html" class="storelink-ios">Apple Store</a></p></div><p>Mark the date! ERMO is soon to be released on iPhone and iPad!</p><p>On <strong>24 October 2017</strong> ERMO will be available on iOS world wide!</p><img src="/imgs/ermo/ermo-mockup-apple-full.png" class="img-50"><p>Prepare yourself to be captured into the ERMO world, carried away by an ethereal atmosphere.</p><p>In the meanwhile you can play the beta:</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/ermo.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="ermo">Access the beta</a><h2 id="Gameplay"><a href="#Gameplay" class="headerlink" title="Gameplay"></a>Gameplay</h2><div class="video-container"><iframe src="https://www.youtube.com/embed/7rrvs1yODzo?modestbranding=1&rel=0" frameborder="0" allowfullscreen></iframe></div><h2 id="What’s-included"><a href="#What’s-included" class="headerlink" title="What’s included"></a>What’s included</h2><ul><li>Simple, intuitive and profound mechanics</li><li>60 levels with 150+ block puzzles</li><li>Hand-crafted balanced difficulty to make all levels always challenging</li><li>4 different and intriguing modes</li><li>BONUS levels with easy item collecting to refill your stocks</li><li>Level designer! Create your own levels and share with friends</li><li>Achievements and leaderbords</li><li>Ethereal graphic design, provides peace and serenity</li><li>Adaptive and immersive experience: ERMO runs beautiful everywhere, from mobile and tablet to TV wide screens</li></ul><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      Mark the date! ERMO will be available on 24 October 2017 for both iPhone and iPad!
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/ermo-mockup-apple-full.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>How to integrate Xbox Live API in UWP games</title>
    <link href="https://www.nonostante.io/devblog/2017-08-30-how-to-integrate-xbox-live-api-in-uwp-games.html"/>
    <id>https://www.nonostante.io/devblog/2017-08-30-how-to-integrate-xbox-live-api-in-uwp-games.html</id>
    <published>2017-08-30T12:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.721Z</updated>
    
    <content type="html"><![CDATA[<p>Thanks to the Xbox Live Creators Program, the Xbox Live services are available to any developer who wants to code on the UWP platform.</p><p>We joined the program and we’re very happy we published <a href="/games/ermo">ERMO</a>. Being a UWP game, ERMO runs nicely on any Windows10 device, included the Xbox One.</p><p>Now we want to share our experience with the Xbox Live SDK and write a detailed How-To showing all the steps required to deal with the Xbox Live API. In other words, lots of monospace characters will follow.</p><p>UWP supports many languages to code with, but mostly C++, C# and Javascript.</p><p>Because <a href="/games/ermo">ERMO</a> is written (mostly) in <em>Typescript</em>, a superset of JS, all snippets included in this post is written in <em>Javascript</em>. It’s very easy to adapt them to C# or C++. Maybe the promise stuff isn’t directly translable, just use the <em>async</em> paradigm in C# or <code>create_task</code> in C++.</p><p>At least, we hope you will get the core idea behind the code.</p><h2 id="XboxLive-Creators-supported-features"><a href="#XboxLive-Creators-supported-features" class="headerlink" title="XboxLive Creators supported features"></a>XboxLive Creators supported features</h2><p>Actually, under the banner of the <em>Creators Program</em>, a developer can leverage the following Xbox Live features:</p><ul><li>Identity authentication</li><li>Profile and SocialGraph querying</li><li>Leaderboard/Stats management</li></ul><p>Other features, like basic presence and social feed, are automatically managed by the service, with no keystroke by the developer. The full list on the <a href="https://docs.microsoft.com/en-us/windows/uwp/xbox-live/developer-program-overview" target="_blank" rel="noopener">documentation</a>.</p><p>In this post, we focus on features developers have to actively code against the SDK, the subset available with the <em>Creators Program</em>.</p><h2 id="Outline"><a href="#Outline" class="headerlink" title="Outline"></a>Outline</h2><ul><li><a href="#Import-Xbox-Live-SDK">Import Xbox Live SDK</a></li><li><a href="#Xbox-Live-Authentication">Xbox Live Authentication</a></li><li><a href="#Retrieve-user-profile-Gamertag-and-picture">Retrieve user profile, Gamertag and picture</a></li><li><a href="#Use-leaderboards-to-submit-player-scores-and-stats">Use leaderboards to submit player scores and stats</a></li><li><a href="#Submit-multiple-score-at-once">Submit multiple score at once</a></li><li><a href="#Retrieving-and-querying-leaderboard-scores">Retrieving and querying leaderboard scores</a></li><li><a href="#Loading-multiple-player-profiles">Loading multiple player profiles</a></li><li><a href="#Conclusion">Conclusion</a></li></ul><h2 id="Import-Xbox-Live-SDK"><a href="#Import-Xbox-Live-SDK" class="headerlink" title="Import Xbox Live SDK"></a>Import Xbox Live SDK</h2><p>Like all Windows based development, NuGet is the way to go to import SDKs, libs and any other dependency. The easiest way is to use the integrated NuGet interface in Visual Studio. A free version of Visual Studio is available as <a href="https://www.visualstudio.com/vs/community/" target="_blank" rel="noopener">Community Edition</a>.</p><p>To import XboxLive SDK, right click on the <code>References</code> node under the project root and chose <code>Manage NuGet Packages...</code>. It’s available under the <code>Project</code> menu too. <img src="/imgs/p/xboxlive_nuget.png" alt="NuGet Package Manager"></p><p>Pick the <strong>Microsoft.Xbox.Live.SDK.WinRT.UWP</strong> and install it. Then wait for the <em>huge</em> download to complete.</p><p>At the time of this post, the latest SDK version is 2017.8.x. All code examples and API calls refer to that version.</p><h2 id="Xbox-Live-Authentication"><a href="#Xbox-Live-Authentication" class="headerlink" title="Xbox Live Authentication"></a>Xbox Live Authentication</h2><p>The mandatory first step to access all XboxLive services is to authenticate the user to the XboxLive system.</p><p>There’re a couple of options, but the most straightforward and effective is to use <code>signInAsync</code>.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> xbox = Microsoft.Xbox.Services,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">    user = <span class="keyword">new</span> xbox.System.XboxLiveUser();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="comment"> * Returns a Promise that resolves when the sign in process completes</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line"><span class="comment"> */</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">signIn</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> <span class="keyword">new</span> <span class="built_in">Promise</span>(<span class="function"><span class="keyword">function</span>(<span class="params">resolve, reject</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line">        user.signInAsync(<span class="literal">null</span>).then(<span class="function"><span class="keyword">function</span> (<span class="params">r</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line">            <span class="keyword">if</span> (r &amp;&amp; r.status === xbox.System.SignInStatus.success) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line">                resolve();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">            &#125; <span class="keyword">else</span> &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">13</span></pre></td><td class="code"><pre><span class="line">                reject();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">14</span></pre></td><td class="code"><pre><span class="line">            &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">15</span></pre></td><td class="code"><pre><span class="line">        &#125;, reject); </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">16</span></pre></td><td class="code"><pre><span class="line">    &#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">17</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><h2 id="Retrieve-user-profile-Gamertag-and-picture"><a href="#Retrieve-user-profile-Gamertag-and-picture" class="headerlink" title="Retrieve user profile, Gamertag and picture"></a>Retrieve user profile, Gamertag and picture</h2><p>Once the user is authenticated, you can load its profile with all info associated like the gamertag, score and picture.</p><p>We need a <code>XboxLiveContext</code> to query the profile service and get the data we looking for.</p><p>In the following snippet, some utility functions are introduced to make the code cleaner.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/** @type &#123;Microsoft.Xbox.Services.Social.XboxUserProfile&#125; */</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> userProfile;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* Returns a Promise with the userProfile</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">getPlayerProfile</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">if</span> (userProfile) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">return</span> <span class="built_in">Promise</span>.resolve(userProfile);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> loadPlayerProfile(user.xboxUserId).then(<span class="function"><span class="keyword">function</span> (<span class="params">profile</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">13</span></pre></td><td class="code"><pre><span class="line">        userProfile = &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">14</span></pre></td><td class="code"><pre><span class="line">            playerId: user.xboxUserId,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">15</span></pre></td><td class="code"><pre><span class="line">            playerName: user.gamertag,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">16</span></pre></td><td class="code"><pre><span class="line">            playerScore: user.gamerscore,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">17</span></pre></td><td class="code"><pre><span class="line">            playerImage: profile.gameDisplayPictureResizeUri.rawUri</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">18</span></pre></td><td class="code"><pre><span class="line">        &#125;;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">19</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">return</span> userProfile;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">20</span></pre></td><td class="code"><pre><span class="line">    &#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">21</span></pre></td><td class="code"><pre><span class="line">&#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">22</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">23</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">loadPlayerProfile</span>(<span class="params">userId</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">24</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> getContext().profileService.getUserProfileAsync(userId);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">25</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">26</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">27</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/** @type &#123;Microsoft.Xbox.Services.XboxLiveContext&#125; */</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">28</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> context;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">29</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">getContext</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">30</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">if</span> (!context) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">31</span></pre></td><td class="code"><pre><span class="line">        context = <span class="keyword">new</span> xbox.XboxLiveContext(user);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">32</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">33</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> context;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">34</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><h2 id="Use-leaderboards-to-submit-player-scores-and-stats"><a href="#Use-leaderboards-to-submit-player-scores-and-stats" class="headerlink" title="Use leaderboards to submit player scores and stats"></a>Use leaderboards to submit player scores and stats</h2><p>Leaderboards and statistics are another services the XboxLive provides. You can define up to 20 of them through the dev center. You need also to localize them in any language your game supports.</p><p>Developers under the Creators Collection program don’t get the full leaderboard features, but the service is limited to just player stats.</p><p>Key difference is that a leaderboard is composed by multiple stats, like multiple columns in a table where each row is a player entry. Instead, a stat is a simply a list of players and their score (it can be anything), in other words, it’s the common scenario where the game UI displays the score list.</p><p>In this post, we stick to stats as they’re enough to make a chart with the player scores.</p><p>It’s introduced the <code>StatisticManager</code> by which we can send scores. Because <code>StatisticManager</code> is a singleton instance, we reference directly it while the <code>XboxLiveContext</code> is created. In addition, <code>StatisticManager</code> needs to know on which players it will operate, thus we add the current player to its users.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/** @type &#123;Microsoft.Xbox.Services.Statistics.Manager.StatisticManager&#125; */</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> statManager;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* Submit a score to the XboxLive service</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;string&#125; leaderboardId</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;number&#125; value</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">submitScore</span>(<span class="params">leaderboardId, value</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line">    statManager.setStatisticIntegerData(user.xboxUserId, leaderboardId, value);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line">    statManager.requestFlushToService(user.xboxUserId);    </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">13</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">14</span></pre></td><td class="code"><pre><span class="line"><span class="comment">//create statManager while creating context</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">15</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">getContext</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">16</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">if</span> (!context) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">17</span></pre></td><td class="code"><pre><span class="line">        context = <span class="keyword">new</span> xbox.XboxLiveContext(user);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">18</span></pre></td><td class="code"><pre><span class="line">        statManager = xbox.Statistics.Manager.StatisticManager.singletonInstance;        </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">19</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">try</span> &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">20</span></pre></td><td class="code"><pre><span class="line">            statManager.addLocalUser(user); <span class="comment">//add actual user</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">21</span></pre></td><td class="code"><pre><span class="line">        &#125; <span class="keyword">catch</span> (e) &#123; &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">22</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">23</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> context;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">24</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><p>In the above snippet, it’s assumed the score is an integer value, but you can use other supported data types(Integer, Numeric, String) and change the call accordingly.</p><p><code>submitScore</code> is a fire and forget function, you won’t receive any value, as the <code>StatisticManager</code> processes all things in background when you use <code>requestFlushToService</code>.</p><h2 id="Submit-multiple-score-at-once"><a href="#Submit-multiple-score-at-once" class="headerlink" title="Submit multiple score at once"></a>Submit multiple score at once</h2><p>If you send too many scores in a short time interval, XboxLive services will begin to throttle all your calls. <a href="https://docs.microsoft.com/en-us/windows/uwp/xbox-live/leaderboards-and-stats-2017/player-stats-updating" target="_blank" rel="noopener">Official documentation</a> states to flush scores at most once every 5 minutes or so.</p><p>To limit this side effect and to avoid throttling, you can submit a batch of scores with one call.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* Submit a batch of scores</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;Array.&lt;&#123;leaderboardId: string, score: number&#125;&gt;&#125; scores</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">submitScores</span>(<span class="params">scores</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">for</span> (<span class="keyword">var</span> a = <span class="number">0</span>; a &lt; scores.length; a++) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">var</span> entry = scores[a];</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line">        statManager.setStatisticIntegerData(user, entry.leaderboardId, entry.score);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line">    statManager.requestFlushToService(user);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><h2 id="Retrieving-and-querying-leaderboard-scores"><a href="#Retrieving-and-querying-leaderboard-scores" class="headerlink" title="Retrieving and querying leaderboard scores"></a>Retrieving and querying leaderboard scores</h2><p>As mentioned earlier, here for leaderboards we intend stats, as we use them to send and get player scores.</p><p>Because the <code>StatisticManager</code> works in the background, the process of getting the data isn’t straightforward like a single call, but requires a more elaborate flow.</p><p>The process involves polling the <code>StatisticManager</code> for events and, when ready, processing the results.</p><p>In Javascript to perform the polling we use <code>setTimeout</code> to delay each call by 100ms. In other contexts or engines you should poll on any frame, thus bounding the call to the frame execution.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* Returns a Promise with leaderboard entries</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;string&#125; leaderboardId</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;number&#125; maxItems</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">getLeaderboardScores</span>(<span class="params">leaderboardId, maxItems</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">var</span> query = <span class="keyword">new</span> xbox.Leaderboard.LeaderboardQuery();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line">    query.maxItems = maxItems;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line">    statManager.getLeaderboard(user, leaderboardId, query);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> startPollingStatManager(leaderboardId);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">13</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">14</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">startPollingStatManager</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">15</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> <span class="keyword">new</span> <span class="built_in">Promise</span>(<span class="function"><span class="keyword">function</span> (<span class="params">resolve, reject</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">16</span></pre></td><td class="code"><pre><span class="line">        pollStatManager(resolve, reject);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">17</span></pre></td><td class="code"><pre><span class="line">    &#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">18</span></pre></td><td class="code"><pre><span class="line">&#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">19</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">20</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">pollStatManager</span>(<span class="params">resolve, reject</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">21</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">try</span> &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">22</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">var</span> events = statManager.doWork();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">23</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">for</span> (<span class="keyword">var</span> a = <span class="number">0</span>; a &lt; events.length; a++) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">24</span></pre></td><td class="code"><pre><span class="line">            <span class="keyword">if</span> (events[a].eventType === xbox.Statistics.Manager.StatisticEventType.getLeaderboardComplete) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">25</span></pre></td><td class="code"><pre><span class="line">                <span class="keyword">var</span> result = events[a].eventArgs.result;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">26</span></pre></td><td class="code"><pre><span class="line">                <span class="keyword">if</span> (result) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">27</span></pre></td><td class="code"><pre><span class="line">                    resolve(processLeaderboardResult(result));</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">28</span></pre></td><td class="code"><pre><span class="line">                &#125; <span class="keyword">else</span> &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">29</span></pre></td><td class="code"><pre><span class="line">                    resolve([]);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">30</span></pre></td><td class="code"><pre><span class="line">                &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">31</span></pre></td><td class="code"><pre><span class="line">                <span class="keyword">return</span>;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">32</span></pre></td><td class="code"><pre><span class="line">            &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">33</span></pre></td><td class="code"><pre><span class="line">        &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">34</span></pre></td><td class="code"><pre><span class="line">    &#125; <span class="keyword">catch</span> (e) &#123; </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">35</span></pre></td><td class="code"><pre><span class="line">        reject();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">36</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">37</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">38</span></pre></td><td class="code"><pre><span class="line">    <span class="comment">//poll again after 100ms</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">39</span></pre></td><td class="code"><pre><span class="line">    setTimeout(<span class="function"><span class="keyword">function</span>(<span class="params"></span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">40</span></pre></td><td class="code"><pre><span class="line">        pollStatManager(resolve, reject);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">41</span></pre></td><td class="code"><pre><span class="line">    &#125;, <span class="number">100</span>);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">42</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">43</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">44</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">45</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;Microsoft.Xbox.Services.Leaderboard.LeaderboardResult&#125; result</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">46</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">47</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">processLeaderboardResult</span>(<span class="params">result</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">48</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">var</span> entries = [],</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">49</span></pre></td><td class="code"><pre><span class="line">        profiles = [];</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">50</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">51</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">for</span> (<span class="keyword">var</span> a = <span class="number">0</span>, l = result.rows.length; a &lt; l; a++) &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">52</span></pre></td><td class="code"><pre><span class="line">        <span class="keyword">var</span> row = result.rows[a],</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">53</span></pre></td><td class="code"><pre><span class="line">            value = row.values[<span class="number">0</span>];</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">54</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">55</span></pre></td><td class="code"><pre><span class="line">        profiles.push(row.xboxUserId);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">56</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">57</span></pre></td><td class="code"><pre><span class="line">        entries.push(&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">58</span></pre></td><td class="code"><pre><span class="line">            playerId: row.xboxUserId,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">59</span></pre></td><td class="code"><pre><span class="line">            playerName: row.gamertag,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">60</span></pre></td><td class="code"><pre><span class="line">            playerImage: <span class="literal">undefined</span>, <span class="comment">//we need to load it later</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">61</span></pre></td><td class="code"><pre><span class="line">            rank: row.rank,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">62</span></pre></td><td class="code"><pre><span class="line">            <span class="comment">//assumes score is an integer value</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">63</span></pre></td><td class="code"><pre><span class="line">            score: !<span class="built_in">isNaN</span>(value) ? value : <span class="built_in">parseInt</span>(value, <span class="number">10</span>) </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">64</span></pre></td><td class="code"><pre><span class="line">        &#125;);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">65</span></pre></td><td class="code"><pre><span class="line">    &#125;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">66</span></pre></td><td class="code"><pre><span class="line"></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">67</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> entries;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">68</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><p>The flow isn’t the most linear in the field, but it works nicely when you call just the surface area of the snippet.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> leaderboard = <span class="string">"ermo-highscore-itinerary"</span>,</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">    maxItems = <span class="number">10</span>;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line">getLeaderboardScores(leaderboard, maxItems).then(<span class="function"><span class="keyword">function</span>(<span class="params">entries</span>)</span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line">    <span class="comment">//here we can cycle and show the entries to the screen</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line">&#125;);</span></pre></td></tr></table></figure><h2 id="Loading-multiple-player-profiles"><a href="#Loading-multiple-player-profiles" class="headerlink" title="Loading multiple player profiles"></a>Loading multiple player profiles</h2><p>To complete the <em>Retrieve leaderboard</em> scenario, the last step is to load all players’ picture. As we did for the user logged in, the profile service comes handy to get all player profiles.</p><p>We have to pass the user-id list to get the pictures we want.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* Returns a Promise with an array of player profiles</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;Array.&lt;string&gt;&#125; userIds</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">loadPlayerProfiles</span>(<span class="params">userIds</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">return</span> getContext().profileService.getUserProfilesAsync(userIds);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><h2 id="Conclusion"><a href="#Conclusion" class="headerlink" title="Conclusion"></a>Conclusion</h2><p>With the Xbox Live SDK available for the UWP platform is pretty easy to take advantage of the Xbox Live services. Due to large amount of features, the Xbox Live SDK is huge and the API surface area can be confusing sometimes.</p><p>With this HowTo, we hope we eased the integration task for any developer willing to put some efforts on the UWP platform.</p><p>Keep coding.</p><h4 id="Keep-you-eyes-on-this-dev-oriented-caravanserai"><a href="#Keep-you-eyes-on-this-dev-oriented-caravanserai" class="headerlink" title="Keep you eyes on this dev oriented caravanserai"></a>Keep you eyes on this dev oriented caravanserai</h4><p>If you want you can stay in touch:</p><ul><li><a href="/atom.xml">subscribe</a> the feed</li><li>like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Thanks to the Xbox Live Creators Program, the Xbox Live services are available to any developer who wants to code on the UWP platform.&lt;/p
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/p/ermo-xboxlive.png" type="image" />
    
    
      <category term="devblog" scheme="https://www.nonostante.io/devblog/"/>
    
    
      <category term="Xbox" scheme="https://www.nonostante.io/tags/xbox/"/>
    
      <category term="UWP" scheme="https://www.nonostante.io/tags/uwp/"/>
    
  </entry>
  
  <entry>
    <title>ERMO released on Android</title>
    <link href="https://www.nonostante.io/news/2017-08-24-ermo-released-on-android.html"/>
    <id>https://www.nonostante.io/news/2017-08-24-ermo-released-on-android.html</id>
    <published>2017-08-24T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.720Z</updated>
    
    <content type="html"><![CDATA[<p>After a couple of months with beta testing, <a href="/games/ermo">ERMO</a> is finally released for Android.</p><p>The release is tagged with version: <strong>v0.7.5</strong>. It’s available only for Android. iOS, Windows and other platform will come soon.</p><p>We’re really glad of the feedback received. Thanks to anyone who send us hint, bug reports and any other advice.</p><h2 id="Change-log"><a href="#Change-log" class="headerlink" title="Change log"></a>Change log</h2><p>Here the highlight of the v0.7.5</p><ul><li>Challenge Mode</li><li>New Powerup HINT</li><li>Light and Dark Theme</li></ul><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>This release brings stable gameplay and many improvements we hope you enjoy.<br>You can download ERMO right now.</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><p>Try ERMO now! We’re really looking forward your any advice and suggestion to make a better game.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still in development, stay tuned for the next wave of content we’ll release very soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;After a couple of months with beta testing, &lt;a href=&quot;/games/ermo&quot;&gt;ERMO&lt;/a&gt; is finally released for Android.&lt;/p&gt;&lt;p&gt;The release is tagged w
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO included into Xbox Creators Collection</title>
    <link href="https://www.nonostante.io/news/2017-08-12-ermo-included-into-xbox-creators-collection.html"/>
    <id>https://www.nonostante.io/news/2017-08-12-ermo-included-into-xbox-creators-collection.html</id>
    <published>2017-08-12T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.719Z</updated>
    
    <content type="html"><![CDATA[<p>We’re so excited to announce that <a href="/games/ermo">ERMO</a> has been included into the Xbox Creators Collection.</p><img src="/imgs/p/ermo-xboxlive.png"><h2 id="Creators-what"><a href="#Creators-what" class="headerlink" title="Creators what?"></a>Creators what?</h2><p>Creators Collection is a brand new category of the Windows/Xbox store featuring self-publushed games usually made by indie developers like us.</p><p>And ERMO got a special space there. ERMO is included in the first wave of games as the Creators Collection launched just a day ago.</p><p>You can read the full statement at <a href="https://news.xbox.com/2017/08/10/indie-first-wave-creators-program-games-available-now/" target="_blank" rel="noopener">Xbox Blog</a>.</p><h2 id="Xbox-Live-integration"><a href="#Xbox-Live-integration" class="headerlink" title="Xbox Live integration"></a>Xbox Live integration</h2><p>ERMO now include a Xbox Live integration with auto-signign, gamertag display and a large set of leaderboards tracking highscores and special statistics.</p><img src="/imgs/ermo/media/ermo-widescreen4.png"><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>You can download ERMO for Windows and Xbox One, from the windows store</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is still being update with a big new feature coming soon.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      We&#39;re so excited to announce that ERMO has been included into the Xbox Creators Collection
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/p/ermo-xboxlive.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - Beta Update #2 - A Big Leap Forward</title>
    <link href="https://www.nonostante.io/news/2017-07-20-ermo-beta-update-2.html"/>
    <id>https://www.nonostante.io/news/2017-07-20-ermo-beta-update-2.html</id>
    <published>2017-07-20T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.717Z</updated>
    
    <content type="html"><![CDATA[<p>We really excited to show the result of days of hard work. This post details the upcoming update of <a href="/games/ermo">ERMO</a>.</p><p>The update is pretty big with a lot of features. Due to some breaking changes into many internal stuff, players having the game installed will have the progression state been reset.</p><p>The update is tagged with version: <strong>v0.6.0</strong>. It’s available on all platforms: iOS, Android and Windows Phone.</p><p>If you hadn’t a chance to join to the beta testing, you can do it now.</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/ermo.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="ermo">Access the beta</a><h2 id="Change-log"><a href="#Change-log" class="headerlink" title="Change log"></a>Change log</h2><p>Here the highlight of the v0.6.0</p><ul><li>User profile, goals and progression</li><li>Multiple game modes</li><li>Augmented stage with special items</li><li>Bonus stage with rewards</li><li>Achievements and Leaderboards (iOS, Android, Windows coming soon)</li><li>Wide screen support (Immersive mode)</li></ul><h2 id="Change-details"><a href="#Change-details" class="headerlink" title="Change details"></a>Change details</h2><h3 id="User-profile-goals-and-progression"><a href="#User-profile-goals-and-progression" class="headerlink" title="User profile, goals and progression"></a>User profile, goals and progression</h3><p>Now, the player earns experience points and progress through levels.</p><img src="/imgs/p/ermo-profile-indicator.png"><p>Experience points can be obtained by collecting tiles or by completing some goals available for the current player level.</p><img src="/imgs/p/ermo-profile-goals.png"><p>Player level is useful to unlock game content or some special feature.</p><img src="/imgs/p/ermo-unlocked.png"><h3 id="Multiple-game-modes"><a href="#Multiple-game-modes" class="headerlink" title="Multiple game modes"></a>Multiple game modes</h3><p>The gameplay now involves multiple game modes. The “classic mode” is now named <strong>Itinerary Mode</strong>. In the Itinerary mode you will progress through a journey of hand-crafted level to discovery the full atmosphere of ERMO.</p><img src="/imgs/p/ermo-multimode.png"><p>The second mode available is the <strong>Procedural mode</strong> where ERMO generates levels and stages according your choice.</p><img src="/imgs/p/ermo-mode-procedural.png"><p>By playing procedural mode, you can face very tough levels requiring all your mental and reasoning skill. Be ready to get very demanding challenges.</p><p>More game mode coming soon. Actually we’re working on a “designer mode” where you can set up your own level and play against it or challenge friends to beat it</p><h3 id="Augmented-stage-with-special-items"><a href="#Augmented-stage-with-special-items" class="headerlink" title="Augmented stage with special items"></a>Augmented stage with special items</h3><p>In this update, we’re introducing a new king of stage: <strong>Augmented</strong>. This stage involves special items to deal with in several ways.</p><p>The first special item is the <strong>Ring</strong>. A ring block the column color alignment. Move two rings close to remove them from the stage.</p><img src="/imgs/p/ermo-stage-augmented1.png"><p>A second special item is the <strong>Bomb</strong>. Don’t let them be close otherwise they explode.</p><img src="/imgs/p/ermo-stage-augmented2.png"><h3 id="Bonus-stage-with-rewards"><a href="#Bonus-stage-with-rewards" class="headerlink" title="Bonus stage with rewards"></a>Bonus stage with rewards</h3><p>While playing any mode you can face <strong>Bonus stages</strong> where a group of circle squares surround one or more color targets in the center.</p><img src="/imgs/p/ermo-stage-bonus.png"><p>Bonus stages grant a reward for any target matched. In this way, you can get some energy or skill to use further on in the game.</p><h3 id="Achievements-and-Leaderboards"><a href="#Achievements-and-Leaderboards" class="headerlink" title="Achievements and Leaderboards"></a>Achievements and Leaderboards</h3><p>ERMO now integrates with game services provider by the platform:</p><ul><li><em>Game Center</em> for iOS</li><li><em>Google Play Games</em> for Android</li><li><em>Xbox Live</em> for Windows (not ready yet, but coming soon…)</li></ul><p>Achievements are unlocked through the game and each one rewards some energy depending on its difficulty. You can access Achivements, see the full list, the status and claim your rewards in the main menu in the title screen.</p><img src="/imgs/p/ermo-achievements.png"><p>Leaderboards provide a chart to several highscores and some stats all players perform playing ERMO. You can check Leaderboards and see your rank.</p><img src="/imgs/p/ermo-leaderboards.png"><h3 id="Wide-screen-support"><a href="#Wide-screen-support" class="headerlink" title="Wide screen support"></a>Wide screen support</h3><p>Now ERMO supports an immersive interface suited for wide screens like tables or desktop monitors.</p><p>Here’s a screenshot with a full background and an adapted menu on the right.</p><div class="hscroll"><img src="/imgs/ermo/media/ermo-widescreen1.png" class="img-scroll"></div><p>More details and support for more non-mobile platform in a next dedicated post.</p><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>This release has lot of new feature and gameplay improvements we hope you enjoy. You can download the beta version:</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><p>Try ERMO now! We’re really looking forward your any advice and suggestion to make a better game.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is currently in development, stay tuned for more coming next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;We really excited to show the result of days of hard work. This post details the upcoming update of &lt;a href=&quot;/games/ermo&quot;&gt;ERMO&lt;/a&gt;.&lt;/p&gt;&lt;p
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>How to remove full-screen focus border on Windows 10 UWP app</title>
    <link href="https://www.nonostante.io/devblog/2017-05-19-remove-fullscreen-focus-windows-uwp.html"/>
    <id>https://www.nonostante.io/devblog/2017-05-19-remove-fullscreen-focus-windows-uwp.html</id>
    <published>2017-05-19T11:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.722Z</updated>
    
    <content type="html"><![CDATA[<p>Usually, when you develop a Windows 10 UWP game, it’s a common requirement that the host window has to go full screen.</p><p>UWP offers this chance through a fairly simply API. When the window launches, you can set your desired size and attempt to enter in full screen mode.</p><h2 id="Going-full-screen"><a href="#Going-full-screen" class="headerlink" title="Going full screen"></a>Going full screen</h2><p>Before the <code>Activate</code> call, you can specify the preferred display mode - which is kept over restarts. Then you can try to go full screen.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> appView = Windows.UI.ViewManagement.ApplicationView;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">appView.preferredLaunchWindowingMode = Windows.UI.ViewManagement.ApplicationViewWindowingMode.fullScreen;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> view = appView.getForCurrentView();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line">view.tryEnterFullScreenMode();</span></pre></td></tr></table></figure><p>If you adopted HTML/JS as your the technology stack of choice and you render the game using a canvas or any HTML element, it happens the EDGE engine will draw an ugly and utterly annoying dotted border all along the window perimeter.</p><img src="/imgs/p/win10-focus-border.png"><p>The issue lays on the default focus style of some elements. And, of course, you can override the style and set your own.</p><h2 id="Removing-the-outline"><a href="#Removing-the-outline" class="headerlink" title="Removing the outline"></a>Removing the outline</h2><p>In order to get rid of the inaesthetic border, CSS is your friend. Just refine the focus style of the affected elements.</p><p>In our games, since there’s a main canvas element, it’s enough to use the following rule:</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="selector-tag">body</span><span class="selector-pseudo">:focus</span>, <span class="selector-tag">canvas</span><span class="selector-pseudo">:focus</span> &#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">    <span class="attribute">outline</span>: <span class="number">0</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><p>This will remove the border and give a clear looking background.</p><img src="/imgs/p/win10-focus-no-border.png"><h2 id="Farewell-code-sailors"><a href="#Farewell-code-sailors" class="headerlink" title="Farewell code sailors"></a>Farewell code sailors</h2><p>Hope it helps some of you, easing one of the many hassles that enrich our days.</p><p>Keep coding.</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Usually, when you develop a Windows 10 UWP game, it’s a common requirement that the host window has to go full screen.&lt;/p&gt;&lt;p&gt;UWP offers t
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/nonostante-logo.png" type="image" />
    
    
      <category term="devblog" scheme="https://www.nonostante.io/devblog/"/>
    
    
      <category term="UWP" scheme="https://www.nonostante.io/tags/uwp/"/>
    
  </entry>
  
  <entry>
    <title>ERMO - Beta Update #1</title>
    <link href="https://www.nonostante.io/news/2017-05-17-ermo-beta-update-1.html"/>
    <id>https://www.nonostante.io/news/2017-05-17-ermo-beta-update-1.html</id>
    <published>2017-05-17T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.717Z</updated>
    
    <content type="html"><![CDATA[<p>Hello players, this post gives details about the first beta update for <a href="/games/ermo">ERMO</a>.</p><p>As you can imagine, we’re working hard to improve the game according your comments.</p><p>We released a new update: <strong>v0.5.0</strong>. It’s available on all platforms: iOS, Android and Windows Phone.</p><p>If you hadn’t a chance to join to the beta testing, you can do it now.</p><a class="btn btn-action" href="http://builda.nonostante.io/confido/ermo.html" target="_blank" rel="noopener" data-event="beta-access" data-event-arg1="ermo">Access the beta</a><h2 id="Change-log"><a href="#Change-log" class="headerlink" title="Change log"></a>Change log</h2><p>Here the highlight of the v0.5.0</p><ul><li>Colorblind settings</li><li>UI retry refinements</li><li>Theme as un-lockable content via challenge</li></ul><h2 id="Change-details"><a href="#Change-details" class="headerlink" title="Change details"></a>Change details</h2><p>As requested by many, ERMO now features a colorblind settings as long with the WEB version. You can access it by the settings menu in the level screen.</p><img src="/imgs/p/ermo-colorblind-setting.png"><p>Once activated, each color will be decorated with a unique symbol to easier distinguish blocks. In the bar, symbols are in black to contemplate both empty and matched target (filled by color).</p><img src="/imgs/p/ermo-colorblind-level.png"><p>We improved the retry experience by adding a “Play Again” button. In this way, you can play again the same level with out the need to go back to the main screen.</p><p>A message clearly states that the score will be reset.</p><img src="/imgs/p/ermo-ui-retry.png"><p>Now ERMO features a challenge engine by which some tasks are available to the player to earn some reward.</p><p>By this tool, now you can unlock <strong>Themes</strong> by completing a challenge.</p><img src="/imgs/p/ermo-unlockable-content.png"><p>The challenge engine is quite flexible, we plan to use it in several ways. This is just to scratch the surface.</p><p>There’re a lot more still to come.</p><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>You can download the beta version:</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="btn-store" href="/games/ermo/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/ermo/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/ermo/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a><a class="btn-store" href="/games/ermo/download/xbox.html"><img src="/imgs/btn-xbox.png" alt="xbox download"></a><a class="btn-store" href="/games/ermo/download/steam.html"><img src="/imgs/btn-steam.png" alt="steam download"><span class="beta-mark">EARLY</span></a></span></div><p>Hope you enjoy ERMO and its ethereal world.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is currently in development, stay tuned for more coming next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Hello players, this post gives details about the first beta update for &lt;a href=&quot;/games/ermo&quot;&gt;ERMO&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;As you can imagine, we’re wo
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/ermo/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>ERMO: A puzzle game about harmony and inner peace</title>
    <link href="https://www.nonostante.io/news/2017-05-11-ermo-announcement.html"/>
    <id>https://www.nonostante.io/news/2017-05-11-ermo-announcement.html</id>
    <published>2017-05-11T15:00:00.000Z</published>
    <updated>2019-12-06T23:27:34.717Z</updated>
    
    <content type="html"><![CDATA[<p>Today we’re so thrilled to show you our <em>work-in-progress</em> game.</p><div class="game-badge"><div class="game-badge-header"><img class="game-icon" src="/imgs/ermo/game-ico.png" title="ERMO game logo"><span class="game-title">ERMO</span><span class="game-subtitle">Puzzle</span></div><span class="game-stores"><a class="store-ios" href="/games/ermo/download/ios.html"></a><a class="store-android" href="/games/ermo/download/android.html"></a><a class="store-windows" href="/games/ermo/download/windows.html"></a><a class="store-xbox" href="/games/ermo/download/xbox.html"></a><a class="store-steam" href="/games/ermo/download/steam.html"></a></span></div><p><strong>ERMO</strong> is a puzzle game with a very minimal gameplay. Shift the tiles to align the columns.</p><p><em>That’s it!</em> Yeah, it sounds poor, but you’re be overwhelmed by the deep dynamics that arise from just the basic levels.</p><p>Featured with an ethereal graphic, <strong>ERMO</strong> favors calm and peace, while keep your head on the puzzle.</p><div class="screenshot-scroll"><ul><li class="screenshot" style="background-image:url(/imgs/p/ermo-preview1.png)"></li><li class="screenshot" style="background-image:url(/imgs/p/ermo-preview2.png)"></li></ul></div><p>There are several game modes, also. But, to not spoil too much and let you discover the world of <strong>ERMO</strong>, we end here for now.</p><p>Oh, there are some beautiful landscapes too…</p><div class="hscroll hscroll-right"><img src="/imgs/p/ermo-preview-landscape1.png" class="img-scroll"></div><p><strong>ERMO</strong> brings you in a place far away from where you can isolate your mind and reach inner peace.</p><p>You can read more about <strong>ERMO</strong> on the <a href="/games/ermo">game page</a> or <a href="/tags/ermo">devblog</a>.</p><h2 id="Stay-in-touch"><a href="#Stay-in-touch" class="headerlink" title="Stay in touch"></a>Stay in touch</h2><p><strong>ERMO</strong> is currently in development, stay tuned for more coming next days.</p><ul><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com//intent/follow?screen_name=nonostantegames" target="_blank" rel="noopener">@nonostantegames</a></li><li>sound off your advice in the <a href="#comments">comments</a></li></ul>]]></content>
    
    <summary type="html">
    
      ERMO is a puzzle game about harmony and inner peace by Nonostante Games
    
    </summary>
    
    <content src="https://www.nonostante.io/imgs/p/ermo-preview1.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="ERMO" scheme="https://www.nonostante.io/tags/ermo/"/>
    
  </entry>
  
  <entry>
    <title>Aedo Episodes - Update #2 (big)</title>
    <link href="https://www.nonostante.io/news/2017-01-16-aedo-episodes-update-2.html"/>
    <id>https://www.nonostante.io/news/2017-01-16-aedo-episodes-update-2.html</id>
    <published>2017-01-16T10:07:00.000Z</published>
    <updated>2019-12-06T23:27:34.714Z</updated>
    
    <content type="html"><![CDATA[<p>Hello players, we happy to show you the second update of <a href="/games/aedo-episodes">Aedo Episodes</a>. Unlike the previous one, this is a <strong>major</strong> update with many new elements and a richer gameplay experience.</p><p>This update push forward both the story and game content with new puzzles and challenges.</p><p>This updated is tagged by version: <strong>v1.2.0</strong>. It’s available on all platforms: iOS, Android and Windows Phone.</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/aedoepisodes/game-ico.png" title="Aedo Episodes game logo"><span class="game-title">Aedo Episodes</span><span class="game-subtitle">Puzzle adventure</span></div><span class="game-stores"><a class="btn-store" href="/games/aedo-episodes/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/aedo-episodes/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/aedo-episodes/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a></span></div><style>.spriteImgs{background-image:url(/imgs/p/aedoepisodes-update2.png)}.spriteImgs-acquefetide1_1{background-position:0 0;width:320px;height:200px}.spriteImgs-acquefetide1_2{background-position:-324px 0;width:320px;height:200px}.spriteImgs-acquefetide2_1{background-position:0 -204px;width:320px;height:200px}.spriteImgs-acquefetide2_2{background-position:-324px -204px;width:320px;height:200px}.spriteImgs-pianoarso_1{background-position:0 -408px;width:320px;height:200px}.spriteImgs-pianoarso_2{background-position:-324px -408px;width:320px;height:200px}.spriteImgs-story_1{background-position:-324px -612px;width:160px;height:160px}.spriteImgs-story_2{background-position:-488px -612px;width:160px;height:160px}.spriteImgs-story_3{background-position:-652px -612px;width:160px;height:160px}.spriteImgs-story_4{background-position:-972px 0;width:160px;height:160px}.spriteImgs-temple2_1{background-position:-648px 0;width:320px;height:200px}.spriteImgs-temple2_2{background-position:-648px -204px;width:320px;height:200px}.spriteImgs-terrazze_1{background-position:-648px -408px;width:320px;height:200px}.spriteImgs-terrazze_2{background-position:0 -612px;width:320px;height:200px}</style><h2 id="Main-Changes"><a href="#Main-Changes" class="headerlink" title="Main Changes"></a>Main Changes</h2><p>As this is the first major update of the game, we wanted to put our best efforts to create beautiful scenes and enjoyable puzzles, balancing the difficulty with fresh content.</p><p>A curated list of the main new features and changes of this update:</p><ul><li>New Episodes: 4 episodes</li><li>New Minigame: Terrazze</li><li>Story: 2 new sequences</li><li>New gameplay mode: rafting</li></ul><h2 id="New-Episodes-4"><a href="#New-Episodes-4" class="headerlink" title="New Episodes (4)"></a>New Episodes (4)</h2><p>This update comes with new four full featured episode. Each one introduces new elements, charaters and sidequests to challenge your logic reasoning and action reflexes. Let us introduce the episodes:</p><ul><li>Piano Arso</li><li>Acque Fetide pt1</li><li>Acque Fetide pt2</li><li>Temple 2</li></ul><h4 id="Piano-Arso"><a href="#Piano-Arso" class="headerlink" title="Piano Arso"></a>Piano Arso</h4><p>The journey of the Marked continues through an arid land. Overcame new obstacles and dangers, let the hero pass thanks to your skills.</p><div class="inline"><div class="spriteImgs spriteImgs-pianoarso_1"></div><div class="spriteImgs spriteImgs-pianoarso_2"></div></div><h4 id="Acque-Fetide-pt1"><a href="#Acque-Fetide-pt1" class="headerlink" title="Acque Fetide pt1"></a>Acque Fetide pt1</h4><p>A swamp and a rainy weather can not stop the hero to proceed to the next temple. New encounters will put new concerns and tasks to accomplish.</p><div class="inline"><div class="spriteImgs spriteImgs-acquefetide1_1"></div><div class="spriteImgs spriteImgs-acquefetide1_2"></div></div><h4 id="Acque-Fetide-pt2"><a href="#Acque-Fetide-pt2" class="headerlink" title="Acque Fetide pt2"></a>Acque Fetide pt2</h4><p>As the swamp became thinner, you have to lead the hero across plagued waters. Here the hero will take some rafting for the first time. Keep focus as the next temple is closer.</p><div class="inline"><div class="spriteImgs spriteImgs-acquefetide2_1"></div><div class="spriteImgs spriteImgs-acquefetide2_2"></div></div><h4 id="Temple-2"><a href="#Temple-2" class="headerlink" title="Temple 2"></a>Temple 2</h4><p>The second sacred temple. New gems to collect. A new ritual to complete to clear the deep and wide desolation.</p><div class="inline"><div class="spriteImgs spriteImgs-temple2_1"></div><div class="spriteImgs spriteImgs-temple2_2"></div></div><h2 id="New-Minigame-Terrazze"><a href="#New-Minigame-Terrazze" class="headerlink" title="New Minigame: Terrazze"></a>New Minigame: Terrazze</h2><p>In some levels, Jolly the collector asks you to gather some tiles. With them, you will play a new logic minigame: <strong>Terrazze</strong>.</p><p>The goal is to put all tiles in columns of the same color. More about this game in a future dedicated blog post.</p><p>This minigame is quite challenging on higher level. Hope you enjoy it.</p><div class="inline"><div class="spriteImgs spriteImgs-terrazze_1"></div><div class="spriteImgs spriteImgs-terrazze_2"></div></div><h2 id="Story"><a href="#Story" class="headerlink" title="Story"></a>Story</h2><p>The Aedo keeps to tell the story. In this update, you will know how the curse of the Mark is born. The Aedo introduces a character from a distant and forgotten past, the first King and his deep darkness.</p><div class="inline"><div class="spriteImgs spriteImgs-story_1"></div><div class="spriteImgs spriteImgs-story_2"></div><div class="spriteImgs spriteImgs-story_3"></div><div class="spriteImgs spriteImgs-story_4"></div></div><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>Follow the story of the Marked and let him accomplish the destiny! Test you smartness and challenge yourself with puzzles, minigames and logic reasoning.</p><div class="game-badge game-badge-big"><div class="game-badge-header"><img class="game-icon" src="/imgs/aedoepisodes/game-ico.png" title="Aedo Episodes game logo"><span class="game-title">Aedo Episodes</span><span class="game-subtitle">Puzzle adventure</span></div><span class="game-stores"><a class="btn-store" href="/games/aedo-episodes/download/ios.html"><img src="/imgs/btn-ios.png" alt="ios download"></a><a class="btn-store" href="/games/aedo-episodes/download/android.html"><img src="/imgs/btn-android.png" alt="android download"></a><a class="btn-store" href="/games/aedo-episodes/download/windows.html"><img src="/imgs/btn-windows.png" alt="windows download"></a></span></div><h2 id="Follow-us"><a href="#Follow-us" class="headerlink" title="Follow us"></a>Follow us</h2><p>We dind’t finished yet. We’re keeping to develop Aedo Episodes with more content and to complete the story. Stay tuned.</p><ul><li><a href="/atom.xml">Subscribe</a> the feed</li><li>Like the page on <a href="http://facebook.com/nonostantegames" target="_blank" rel="noopener">Facebook</a></li><li>Follow <a href="http://twitter.com/intent/follow?screen_name=aedoepisodes" target="_blank" rel="noopener">@AedoEpisodes</a></li></ul><p>Drop us your toughts, your hints and suggestions. Thanks for all your invaluable feedbacks.</p>]]></content>
    
    <summary type="html">
    
      Aedo Episodes second update adds many levels and sidequests with more logic puzzles and challenges
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/aedoepisodes/share-img.png" type="image" />
    
    
      <category term="news" scheme="https://www.nonostante.io/news/"/>
    
    
      <category term="Aedo Episodes" scheme="https://www.nonostante.io/tags/aedo-episodes/"/>
    
  </entry>
  
  <entry>
    <title>How to draw a solid circle with Cocos2d-JS</title>
    <link href="https://www.nonostante.io/devblog/2017-01-13-cocos-js-draw-solid-circle.html"/>
    <id>https://www.nonostante.io/devblog/2017-01-13-cocos-js-draw-solid-circle.html</id>
    <published>2017-01-13T15:01:00.000Z</published>
    <updated>2019-12-06T23:27:34.716Z</updated>
    
    <content type="html"><![CDATA[<p>Cocos2d-js doesn’t provide a single function to draw a solid circle. You have to use a combination of primitive calls to obtain one.</p><p>Here’s a little trick to draw a circle and fill it. It’s fast and very effective as it doesn’t add any draw calls. It just exploits some not-exposed internal members of the canvas rendering wrapper.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> node = <span class="keyword">new</span> cc.DrawNode();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">node.drawCircle(center, radius, ...other params);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="comment">//workaround to fill the circle</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> lastElement = node._buffer[node._buffer.length - <span class="number">1</span>];</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line">lastElement.isFill = <span class="literal">true</span>;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line">lastElement.fillColor = cc.color.WHITE; <span class="comment">// the fill color</span></span></pre></td></tr></table></figure><p>If you’re in the need to use this function often, thanks to javascript prototype feature, you can enrich the <code>cc.DrawNodeCanvas.prototype</code> with this operation.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;cc.point&#125; center - x and y coord of the circle center</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">3</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;number&#125; radius - circle radius length    </span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">4</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;cc.color&#125; color - circle fill color</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">5</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;cc.color&#125; [borderColor] - Optional circle border color.</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">6</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;number&#125; [borderWidth] - Optional circle border width.</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">7</span></pre></td><td class="code"><pre><span class="line"><span class="comment">* @param &#123;number&#125; [segments] - Optional circle segments, aka definition. (default 24).    </span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">8</span></pre></td><td class="code"><pre><span class="line"><span class="comment">*/</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">9</span></pre></td><td class="code"><pre><span class="line">cc.DrawNodeCanvas.prototype.drawSolidCircle = <span class="function"><span class="keyword">function</span> (<span class="params">center, radius, color, borderColor, borderWidth, segments</span>) </span>&#123;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">10</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">this</span>.drawCircle(center, radius, <span class="number">0</span>, segments || <span class="number">24</span>, <span class="literal">false</span>, borderWidth || <span class="number">0</span>, borderColor || color);</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">11</span></pre></td><td class="code"><pre><span class="line">    <span class="comment">//set the fill mode and color</span></span></pre></td></tr><tr><td class="gutter"><pre><span class="line">12</span></pre></td><td class="code"><pre><span class="line">    <span class="keyword">var</span> lastElement = <span class="keyword">this</span>._buffer[<span class="keyword">this</span>._buffer.length - <span class="number">1</span>];</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">13</span></pre></td><td class="code"><pre><span class="line">    lastElement.isFill = <span class="literal">true</span>;</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">14</span></pre></td><td class="code"><pre><span class="line">    lastElement.fillColor = color;     </span></pre></td></tr><tr><td class="gutter"><pre><span class="line">15</span></pre></td><td class="code"><pre><span class="line">&#125;</span></pre></td></tr></table></figure><p>Put the code right after the cocos-js script import and you can call <code>drawSolidCircle</code> function in your own game code as it was part of the framework.</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> node = <span class="keyword">new</span> cc.DrawNode();</span></pre></td></tr><tr><td class="gutter"><pre><span class="line">2</span></pre></td><td class="code"><pre><span class="line">node.drawSolidCircle(center, radius, color);</span></pre></td></tr></table></figure><p>Hope this trick make your life easier.<br>Keep coding.</p><p><strong>Discaimer</strong><br>As stated this snippet works only in canvas mode. For WebGL you should use standard cocos-js API.</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Cocos2d-js doesn’t provide a single function to draw a solid circle. You have to use a combination of primitive calls to obtain one.&lt;/p&gt;&lt;
      
    
    </summary>
    
    <content src="https://www.nonostante.io//imgs/p/cocos-js.png" type="image" />
    
    
      <category term="devblog" scheme="https://www.nonostante.io/devblog/"/>
    
    
      <category term="snippets" scheme="https://www.nonostante.io/tags/snippets/"/>
    
      <category term="cocosjs" scheme="https://www.nonostante.io/tags/cocosjs/"/>
    
  </entry>
  
</feed>
