<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>itch.io on foosel.net</title><link>https://foosel.net/tags/itch.io/</link><description>Recent content in itch.io on foosel.net</description><generator>Hugo</generator><language>en-us</language><copyright>Gina Häußge (foosel)</copyright><lastBuildDate>Sun, 14 May 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://foosel.net/tags/itch.io/feed.xml" rel="self" type="application/rss+xml"/><item><title>TIL: How to export a Godot 4 game to run on the web on itch.io</title><link>https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/</link><pubDate>Sun, 14 May 2023 00:00:00 +0000</pubDate><guid>https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/</guid><description>&lt;p&gt;On the &lt;a href="https://itch.io/jam/go-godot-jam-4"&gt;Go Godot Jam 4&lt;/a&gt; Discord I just saw some people having issues with how to get HTML5 exports from Godot 4 to work on itch.io, and since I just had to do this for &lt;a href="https://foosel.itch.io/pew-pew-pew-danger-zone"&gt;my own game submission to the jam&lt;/a&gt; as well I decided to jot my steps down here (and on the Discord too) as it seems to be a bit of a pain for people.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First of all export your game using the &amp;ldquo;Web&amp;rdquo; export template&lt;/p&gt;</description><content:encoded><![CDATA[<p>On the <a href="https://itch.io/jam/go-godot-jam-4">Go Godot Jam 4</a> Discord I just saw some people having issues with how to get HTML5 exports from Godot 4 to work on itch.io, and since I just had to do this for <a href="https://foosel.itch.io/pew-pew-pew-danger-zone">my own game submission to the jam</a> as well I decided to jot my steps down here (and on the Discord too) as it seems to be a bit of a pain for people.</p>
<ol>
<li>
<p>First of all export your game using the &ldquo;Web&rdquo; export template</p>
<p><img src="https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/export.png" alt="The export dialog of the Godot Engine 4 editor with the Web export template selected" loading="lazy">
</p>
</li>
<li>
<p>Navigate to your export folder, make sure to rename your <code>.html</code> file to <code>index.html</code></p>
</li>
<li>
<p>Zip all of it up, with all the files right within the root of the zip file</p>
<p><img src="https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/zip.png" alt="The contents of the created zip file, the html file has been renamed to index.html, all files are in the zip&rsquo;s root" loading="lazy">
</p>
</li>
<li>
<p>Upload to itch, make sure to check &ldquo;This file will be played in the browser&rdquo;</p>
<p><img src="https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/upload.png" alt="itch.io&rsquo;s upload dialog, the mentioned option is checked next to the zip upload" loading="lazy">
</p>
</li>
<li>
<p>Scroll down to &ldquo;Embed Options&rdquo; and make sure &ldquo;<code>SharedArrayBuffer</code> support&rdquo; is checked</p>
<p><img src="https://foosel.net/til/2023-05-14-how-to-export-a-godot-4-game-to-run-on-the-web-on-itchio/embed_options.png" alt="The mentioned embed options, &ldquo;Shared Array Buffer support&rdquo; is checked" loading="lazy">
</p>
</li>
</ol>
]]></content:encoded></item><item><title>TIL: How to add itch.io games to the Steamdeck</title><link>https://foosel.net/til/2023-02-24-how-to-add-itchio-games-to-the-steamdeck/</link><pubDate>Fri, 24 Feb 2023 00:00:00 +0000</pubDate><guid>https://foosel.net/til/2023-02-24-how-to-add-itchio-games-to-the-steamdeck/</guid><description>&lt;p&gt;I&amp;rsquo;m currently setting up some alternative game stores on my Steamdeck, specifically &lt;a href="https://www.emudeck.com/"&gt;Emudeck&lt;/a&gt; for my retro collection, &lt;a href="https://heroicgameslauncher.com/"&gt;Heroic Launcher&lt;/a&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; for GOG and Epic, and also &lt;a href="https://itch.io"&gt;itch.io&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I stumbled across &lt;a href="https://www.reddit.com/r/SteamDeck/comments/vwili3/better_way_to_itchio_on_steam_deck/"&gt;this Reddit post&lt;/a&gt; that recommended to use the itch.io Windows launcher instead of the native Linux one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Itch.io has an app, that even has linux version. But it has issues - it can only use one wine version, if you have it installed globally, it can&amp;rsquo;t even handle linux games well. It pretends to install them, and when you launch them it opens a directory with the zip file&amp;hellip; Or it just doesn&amp;rsquo;t work after installation. Then you need to add all the games to steam, setup their images, and other stuff. There&amp;rsquo;s boilr for that, but it doesn&amp;rsquo;t find everything, and most of the indies are not in the database anyway.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I&rsquo;m currently setting up some alternative game stores on my Steamdeck, specifically <a href="https://www.emudeck.com/">Emudeck</a> for my retro collection, <a href="https://heroicgameslauncher.com/">Heroic Launcher</a><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> for GOG and Epic, and also <a href="https://itch.io">itch.io</a>.</p>
<p>I stumbled across <a href="https://www.reddit.com/r/SteamDeck/comments/vwili3/better_way_to_itchio_on_steam_deck/">this Reddit post</a> that recommended to use the itch.io Windows launcher instead of the native Linux one:</p>
<blockquote>
<p>Itch.io has an app, that even has linux version. But it has issues - it can only use one wine version, if you have it installed globally, it can&rsquo;t even handle linux games well. It pretends to install them, and when you launch them it opens a directory with the zip file&hellip; Or it just doesn&rsquo;t work after installation. Then you need to add all the games to steam, setup their images, and other stuff. There&rsquo;s boilr for that, but it doesn&rsquo;t find everything, and most of the indies are not in the database anyway.</p>
</blockquote>
<p>Sounds reasonable to go with the Windows version then, so I followed the post and got everything working. Quick summary in case the link goes stale:</p>
<ul>
<li>In desktop mode, download the Windows installer from <a href="https://itch.io/app">https://itch.io/app</a>, add it as a non steam game, configure stable Proton for it, launch it, complete the installer and log in.</li>
<li>Open Dolphin, navigate to <code>home/deck/.steam/steam/steamapps/compatdata</code></li>
<li>Click on the search icon, check &ldquo;From here&rdquo;, search for <code>itch</code> and enter the first found folder of that name. Look at the address bar, you&rsquo;ll be in a subfolder of something like <code>/home/deck/.steam/steam/steamapps/compatdata/&lt;number&gt;</code> for a random <code>&lt;number&gt;</code>, this parent folder is what to use for <code>&lt;basefolder&gt;</code> in any following steps.</li>
<li>In desktop Steam, open the preferences of your non-steam itch.io installer &ldquo;game&rdquo;. Replace &ldquo;Target&rdquo; with <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/Desktop/itch.lnk</code> and &ldquo;Start in&rdquo; with <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/AppData/Local/Itch</code>. Rename it to &ldquo;itch.io&rdquo; or whatever else you want it to be called<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</li>
</ul>
<p>I then followed the steps to also allow <a href="https://steamgriddb.github.io/steam-rom-manager/">Steam Rom Manager</a> to detect my itch.io games, and created a custom itch.io parser. Here I had to slightly deviate from the suggested steps. Again, summarised here for reference:</p>
<ul>
<li>Parser type: glob</li>
<li>Title: <code>itch.io</code></li>
<li>Steam category: <code>${itch.io}</code></li>
<li>Steam directory: <code>${steamdirglobal}</code></li>
<li>ROMs directory: <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/AppData/Roaming/itch/apps</code></li>
<li>Executable modifier: <code>&quot;${exePath}&quot;</code> (with quotes!)</li>
<li>User&rsquo;s glob: <code>${title}/{*/,}!(Unity*).exe</code> <strong>(this one is different than on the Reddit post, see below for why!)</strong></li>
<li>Leave anything else as is.</li>
</ul>
<p>I changed the glob pattern as the original setting of <code>${title}/{*/*,*}.exe</code> was happily detecting the Unity crash handler executable contained in some games as additional entry, obviously not what I wanted.</p>
<p>After some trial and error I thankfully was able to solve this with the slightly different glob pattern of <code>${title}/{*/,}!(Unity*).exe</code>. It now matches any <code>exe</code> right in the game folder or one folder deep that <em>doesn&rsquo;t</em> start with the string <code>Unity</code>. And if push comes to shove I can add additional forbidden patterns as well.</p>
<p>Even Unity games now only generate one entry, and seem to work fine once I&rsquo;ve figured out the right Proton version 👍</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Basically a one click install from the &ldquo;Discover&rdquo; app in desktop mode.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>My SteamGridDB <a href="https://deckbrew.xyz/">Decky</a> plugin seemed happy with that name as I was able to quickly download matching artwork once back in Game mode.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item></channel></rss>