<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>development &#8211; Set Side B</title>
	<atom:link href="https://setsideb.com/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>https://setsideb.com</link>
	<description>The Flipside of Gaming</description>
	<lastBuildDate>Mon, 16 Feb 2026 05:22:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://setsideb.com/wp-content/uploads/2022/04/cropped-mascot512-32x32.png</url>
	<title>development &#8211; Set Side B</title>
	<link>https://setsideb.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>NES Games &#038; State Machines</title>
		<link>https://setsideb.com/nes-games-state-machines/</link>
					<comments>https://setsideb.com/nes-games-state-machines/#respond</comments>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Mon, 16 Feb 2026 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[NESHacker]]></category>
		<category><![CDATA[StateMachines]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=11655</guid>

					<description><![CDATA[A couple of years ago gamedev channel NesHacker did a video on how everything in your typical NES game is really a pile of state machines, concurrent ones, nested ones, bunches and bunches of them. If you have any interest in NES coding at all, it&#8217;s worth a look. (8½ minutes) The chief difference between &#8230; <a href="https://setsideb.com/nes-games-state-machines/" class="more-link">Continue reading<span class="screen-reader-text"> "NES Games &#038; State Machines"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>A couple of years ago gamedev channel NesHacker did <a href="https://www.youtube.com/watch?v=8lZ53Sx5oc0"><strong>a video on how everything in your typical NES game is really a pile of state machines</strong></a>, concurrent ones, nested ones, bunches and bunches of them. If you have any interest in NES coding at all, it&#8217;s worth a look. (8½ minutes)</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="How NES Games Use State Machines For Everything" width="840" height="473" src="https://www.youtube.com/embed/8lZ53Sx5oc0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>The chief difference between normal, sequential programming and game programming is that most video games have to make a framerate target, and have to split their processes between frames. Lots of little things are usually happening concurrently, and you can&#8217;t rely on normal program flow to keep track of things. Instead, each of those little processes has to remember what it&#8217;s doing between frames, and that memory takes the form of state machines, reminders of what each routine is in the middle of doing.</p>



<p>Drawing it out with circles like in this video I think makes it seem a bit more complicated than it actually is, but it does require a different way of thinking about your code than you may be used to in other programming disciplines. </p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://setsideb.com/nes-games-state-machines/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wherefore Commando&#8217;s Jank?</title>
		<link>https://setsideb.com/wherefore-commandos-jank/</link>
					<comments>https://setsideb.com/wherefore-commandos-jank/#respond</comments>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 07 Feb 2026 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[behindthecode]]></category>
		<category><![CDATA[capcom]]></category>
		<category><![CDATA[Commando]]></category>
		<category><![CDATA[displacedgamers]]></category>
		<category><![CDATA[glitches]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=11612</guid>

					<description><![CDATA[Displaced Gamers&#8217; Behind the Code series is back, with an under-the-hood look at another NES Capcom game, following their examinations of Ghosts &#38; Goblins and Strider, links are to our previous pointers to their peerless product. G&#38;G was implemented by popular early NES anonymous developer and target of player recrimination Micronics, but Commando can&#8217;t use &#8230; <a href="https://setsideb.com/wherefore-commandos-jank/" class="more-link">Continue reading<span class="screen-reader-text"> "Wherefore Commando&#8217;s Jank?"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Displaced Gamers&#8217; <a href="https://www.youtube.com/playlist?list=PLn5sTGew1WGD2Tnspn9vhpLGf-kqDRbYy">Behind the Code</a> series is back, with an under-the-hood  look at another NES Capcom game, following their examinations of <a href="https://setsideb.com/displaced-gamers-reprograms-ghosts-goblins-to-hit-60fps/">Ghosts &amp; Goblins</a> and <a href="https://setsideb.com/why-is-nes-strider-so-janky/">Strider</a>, links are to our previous pointers to their peerless product.</p>



<p>G&amp;G was implemented by popular early NES anonymous developer and target of player recrimination Micronics, but Commando can&#8217;t use them as an excuse, as it was developed in-house at Capcom. They were still learning the ropes of the NES at the time (Strider has no such excuse), and it shows. Displaced Gamers thinks that the game was shipped while the programmers were still working on optimizing it. As they do sometimes, DG implemented their own optimizations, improving the game substantially. <a href="https://www.youtube.com/watch?v=OauZmS0Klxw"><strong>You can see the product of their work in a 31-minute video they made about it, here</strong></a>. There is a substantial amount of 6502 assembly code involved, but if you skip around I think you might be able to get the gist of why the glitches happen, and how Displaced Gamers fixes them.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="The Jumpy Scrolling and Graphical Glitches of NES Commando - Behind the Code" width="840" height="473" src="https://www.youtube.com/embed/OauZmS0Klxw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>As was often the case with your jankier NES games, the scroll stutters and character chaos were caused by the game failing to make its VBLANK timing targets. Thing is, despite the glitches, NES Commando is arguably the best version of the game! Characters sometimes disappear from the screen and backgrounds turn into garbage, but there&#8217;s so many cool secrets and things to find in it that I can forgive Capcom for it.</p>



<p>Note that Displaced Gamers doesn&#8217;t release patches with their fixes, preferring to focus on making videos. Their code is presented on-screen though, so it&#8217;s possible for others to insert the changed programming on their own. I hope someone does this soon, as a fixed version of NES Commando would be nice to play.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://setsideb.com/wherefore-commandos-jank/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Deep Dive into ASCII Image Rendering</title>
		<link>https://setsideb.com/a-deep-dive-into-ascii-image-rendering/</link>
					<comments>https://setsideb.com/a-deep-dive-into-ascii-image-rendering/#respond</comments>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Thu, 05 Feb 2026 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[niche]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[AlexHarri]]></category>
		<category><![CDATA[asciiart]]></category>
		<category><![CDATA[rendering]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=11599</guid>

					<description><![CDATA[Via Kottke on Mastodon.* Alex Harri wrote an image-to-ASCII renderer that can translate generated 3D models in realtime, and on this page they explain how it works and some of the finer points of that conversion, specifically how not to make the rendered images seem blurry, instead giving edges clean outlines. It&#8217;s worth a look &#8230; <a href="https://setsideb.com/a-deep-dive-into-ascii-image-rendering/" class="more-link">Continue reading<span class="screen-reader-text"> "A Deep Dive into ASCII Image Rendering"</span></a>]]></description>
										<content:encoded><![CDATA[
<p><a href="https://mastodon.social/@kottke/115978792071889640">Via Kottke on Mastodon</a>.* Alex Harri wrote an image-to-ASCII renderer that can translate generated 3D models in realtime, and <a href="https://alexharri.com/blog/ascii-rendering"><strong>on this page they explain how it works and some of the finer points of that conversion</strong></a>, specifically how not to make the rendered images seem blurry, instead giving edges clean outlines. It&#8217;s worth a look even if you&#8217;re not a programmer, and just want to see how the process is done. While it does descend into pretty heavy math later on, it starts out pretty approachable, and has interactive demonstrations throughout.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="512" src="https://setsideb.com/wp-content/uploads/2026/02/image-1024x512.png" alt="" class="wp-image-11601" srcset="https://setsideb.com/wp-content/uploads/2026/02/image-1024x512.png 1024w, https://setsideb.com/wp-content/uploads/2026/02/image-300x150.png 300w, https://setsideb.com/wp-content/uploads/2026/02/image-768x384.png 768w, https://setsideb.com/wp-content/uploads/2026/02/image-1536x768.png 1536w, https://setsideb.com/wp-content/uploads/2026/02/image-1200x600.png 1200w, https://setsideb.com/wp-content/uploads/2026/02/image.png 1746w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption class="wp-element-caption">Render captured from the interactive toy on the linked site.</figcaption></figure>



<p>* Bluesky has a lot more users, but Mastodon is used by a good number of highly interested and knowledgeable people, especially people who care about the health of the web, although that&#8217;s also because I follow a lot of people like that on Mastodon. Overall I find it a good idea to read both.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://setsideb.com/a-deep-dive-into-ascii-image-rendering/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sonic on the Amiga: Mega Drive Sprite Pushing</title>
		<link>https://setsideb.com/sonic-on-the-amiga-mega-drive-sprite-pushing/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Thu, 25 Dec 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[amiga]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[genesis]]></category>
		<category><![CDATA[megadrive]]></category>
		<category><![CDATA[reassembler]]></category>
		<category><![CDATA[sonic]]></category>
		<category><![CDATA[sprites]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=11336</guid>

					<description><![CDATA[It&#8217;s Christmas Day! So naturally the best thing to do is to settle in for a deep dive on programming sprites on an Amiga (20 minutes), from the guy who recently ported Outrun to the Amiga, reassembler. The Amiga has hardware sprites, but they&#8217;re fairly limited. Most programmers prefer to use its powerful blitter hardware &#8230; <a href="https://setsideb.com/sonic-on-the-amiga-mega-drive-sprite-pushing/" class="more-link">Continue reading<span class="screen-reader-text"> "Sonic on the Amiga: Mega Drive Sprite Pushing"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>It&#8217;s Christmas Day! So naturally the best thing to do is to settle in for <a href="https://www.youtube.com/watch?v=JGKqkJwv2P8">a deep dive on programming sprites on an Amiga</a> (20 minutes), from the guy who recently <a href="https://www.youtube.com/watch?v=O_QP2qQJuXc">ported Outrun to the Amiga</a>, reassembler.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Blitting SONIC&#039;s sprites on the AMIGA: Make or break?" width="840" height="473" src="https://www.youtube.com/embed/JGKqkJwv2P8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>The Amiga has hardware sprites, but they&#8217;re fairly limited. Most programmers prefer to use its powerful blitter hardware to simulate sprites, drawing them to screen memory much more rapidly than non-blitter hardware can. For more information, I refer you to the video.</p>



<p>That&#8217;s it for today, but there be something more substantial tomorrow&#8230;.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Retro Game Coders</title>
		<link>https://setsideb.com/retro-game-coders/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Thu, 16 Oct 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[commodore64]]></category>
		<category><![CDATA[CP/M]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[petscii]]></category>
		<category><![CDATA[RetroGameCoders]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=10870</guid>

					<description><![CDATA[This is a pretty nifty website that covers a variety of retro-coding topics. Here I link to three recent posts. #1: CP/M working in a browser I&#8217;ve mentioned before my fondness for CP/M, the first widely-used microcomputer OS, the DOS-before-DOS. My attempts to try to emulate machines using it, however, have mostly gotten snagged on &#8230; <a href="https://setsideb.com/retro-game-coders/" class="more-link">Continue reading<span class="screen-reader-text"> "Retro Game Coders"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>This is a pretty nifty website that covers a variety of retro-coding topics. Here I link to three recent posts.</p>



<h3 class="wp-block-heading">#1: CP/M working in a browser</h3>



<p>I&#8217;ve mentioned before <a href="https://setsideb.com/the-coolest-thing-in-the-world-is-cp-m-for-6502/">my fondness for CP/M</a>, the first widely-used microcomputer OS, the DOS-before-DOS. My attempts to try to emulate machines using it, however, have mostly gotten snagged on one thing or another. Well they have <a href="https://retrogamecoders.com/cpm-new/">a post about getting in-browser CP/M working</a>, with information on some of its commands. <a href="https://cpm.retrogamecoders.com/">Here you can run it yourself</a>,</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="872" src="https://setsideb.com/wp-content/uploads/2025/10/image-5-1024x872.png" alt="" class="wp-image-10872" srcset="https://setsideb.com/wp-content/uploads/2025/10/image-5-1024x872.png 1024w, https://setsideb.com/wp-content/uploads/2025/10/image-5-300x256.png 300w, https://setsideb.com/wp-content/uploads/2025/10/image-5-768x654.png 768w, https://setsideb.com/wp-content/uploads/2025/10/image-5-1200x1022.png 1200w, https://setsideb.com/wp-content/uploads/2025/10/image-5.png 1282w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p>People familiar with MS-DOS should be right at home, although some commands are different. (That&#8217;s because MS-DOS changed them; it was originally made as a CP/M clone.) One major difference is the absence, in this version, of disk directories. Instead there were up to 16 numbered &#8220;user areas,&#8221; each its own individual region on the disk, kept separate from the others. CP/M was an amazingly compact system, a single floppy disk could host a half-dozen compilers and have room to spare.</p>



<h3 class="wp-block-heading">#2: Speeding Up PETSCII</h3>



<p>Commodore BASIC was notoriously slow, but also feature-poor. A version of the same Microsoft BASIC that was co-written by Bill Gates himself, and was later ported to MS-DOS as QuickBasic. <a href="https://retrogamecoders.com/printing-petscii-faster/">This page is a collection of different ways to speed up printing PETSCII character</a>s, covering several optimization techniques, one of them, avoiding IF statements, being non-obvious.</p>



<h3 class="wp-block-heading">#3 Online Retro IDE</h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="701" src="https://setsideb.com/wp-content/uploads/2025/10/image-6-1024x701.png" alt="" class="wp-image-10873" srcset="https://setsideb.com/wp-content/uploads/2025/10/image-6-1024x701.png 1024w, https://setsideb.com/wp-content/uploads/2025/10/image-6-300x205.png 300w, https://setsideb.com/wp-content/uploads/2025/10/image-6-768x526.png 768w, https://setsideb.com/wp-content/uploads/2025/10/image-6-1536x1052.png 1536w, https://setsideb.com/wp-content/uploads/2025/10/image-6-2048x1402.png 2048w, https://setsideb.com/wp-content/uploads/2025/10/image-6-1200x822.png 1200w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p><a href="https://retrogamecoders.com/online-retro-ide-x86-and-bbc-micro-updates/">The linked page is actually about a recent update for it that adds support for DOSBox and BBC BASIC</a>.  It supports loading your code directly into a Javascript emulator. It supports many other computers and consoles. <a href="https://ide.retrogamecoders.com/">The IDE itself is here</a>. The update page claims that FreeDOS is available as a platform, and with it another runnable version of Rogue, but I couldn&#8217;t figure out how to get into it before posting.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>RGME Explains the Super Mario 2 Level Format</title>
		<link>https://setsideb.com/rgme-explains-the-super-mario-2-level-format/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 10 May 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[deepdive]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[retrogamemechanicsexplained]]></category>
		<category><![CDATA[rgme]]></category>
		<category><![CDATA[SuperMarioBros2]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9928</guid>

					<description><![CDATA[This one, I won&#8217;t lie to you, is pretty dry. It&#8217;s an hour and a half of the Retro Game Mechanics Explained narrator describing, in precise detail, how Super Mario Bros. 2 builds each of its rooms from a couple hundred-or-so bytes in the game&#8217;s ROM. It&#8217;s an hour and 39 minutes, actually: Even I &#8230; <a href="https://setsideb.com/rgme-explains-the-super-mario-2-level-format/" class="more-link">Continue reading<span class="screen-reader-text"> "RGME Explains the Super Mario 2 Level Format"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>This one, I won&#8217;t lie to you, is pretty dry. It&#8217;s an hour and a half of the Retro Game Mechanics Explained narrator describing, in precise detail, how Super Mario Bros. 2 builds each of its rooms from a couple hundred-or-so bytes in the game&#8217;s ROM. It&#8217;s an hour and 39 minutes, actually:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How Super Mario Bros. 2 Builds Levels" width="840" height="473" src="https://www.youtube.com/embed/UdD26eFVzHQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Even I began to drift off a few times through this one. It is exhaustive, and exhausting, but it&#8217;s very thorough.</p>



<p>I won&#8217;t even try to explicate it all in text, but here&#8217;s a few interesting tidbits of information:</p>



<ul class="wp-block-list">
<li>Super Mario Bros., the original, built its levels on the fly. As you scrolled forward, the engine read the upcoming data and constructed it up ahead, off screen, in real time, always keeping ahead of the screen&#8217;s edge. This is why you can&#8217;t scroll backwards, the list is designed to be read going left to right. SMB2 instead includes extra RAM in the cartridge and uses it as a memory buffer to hold the entire current room, up to 10 screens in size. When you enter an area, the game takes a moment to construct the map in that buffer, and copies it to the PPU&#8217;s video RAM as you scroll around.</li>



<li>Instead of with stored as-is tilemaps, SMB2&#8217;s, as well as basically all of Nintendo&#8217;s scrolling games at the time, are constructed, made out of tile objects with different locations and parameters attached to them. This saves a substantial amount of ROM space, and functions as a kind of bespoke data compression.</li>



<li>The rooms are built screen by screen, although it&#8217;s possible for some items to extend horizontally or vertically outside of its home screen.</li>



<li>The format makes it seem like vertical rooms were designed first, and horizontal scrolling areas were then added to that functionality.</li>



<li>There are weird special cases everywhere in the building code! Some objects only work on certain levels, or serve different purposes in different worlds.</li>



<li>Birdo&#8217;s color, and behavior, depends on its initial spawning X tile position. If it&#8217;s 10 she&#8217;ll be a pink Birdo; if it&#8217;s 11 she&#8217;ll be red, and all other values mean a grey Birdo will be generated.</li>



<li>On the enemy list, entity numbers 92-127 are the same as the entities numbered 64 less than them, but with the property that, when they are despawned, the level ends! This property is used for world-ending bosses, but any entity in that range will end the level when it leaves play, even Mushrooms if one such existed.</li>



<li>Crawgrip, the boss to World 5, was added to Super Mario Bros. 2 during its conversion from Doki Doki Panic. The decorative rock background objects in its boss arena are especially hacky, like they were hastily added.</li>



<li>The stars in the sky in the night levels have a bug in their generation that prevents any from appearing on the first screen of their areas. They also aren&#8217;t placed specifically, but using a pseudo-random generation algorithm that always uses the same seed, so they&#8217;ll always appear in the same places in the sky.</li>
</ul>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Games From Scratch&#8217;s Recommended Free Tools</title>
		<link>https://setsideb.com/games-from-scratchs-recommended-free-tools/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 29 Mar 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[Audacity]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[DPaintJS]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[engines]]></category>
		<category><![CDATA[GamesFromScratch]]></category>
		<category><![CDATA[godot]]></category>
		<category><![CDATA[GraphicsGale]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[Inkscape]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[LDtk]]></category>
		<category><![CDATA[MagicaVoxel]]></category>
		<category><![CDATA[MaterialMaker]]></category>
		<category><![CDATA[O3DE]]></category>
		<category><![CDATA[Pixelorama]]></category>
		<category><![CDATA[SculptGL]]></category>
		<category><![CDATA[Tiled]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Ucupaint]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9625</guid>

					<description><![CDATA[Games From Scratch is a prolific Youtube channel dedicated to helping solo and small team gamedevs with tutorials and tools. They really do post frequently, so if I linked to everything they made it&#8217;d overwhelm the blog, but it&#8217;s been a while since I referred to them, and they just made a nice omnibus video &#8230; <a href="https://setsideb.com/games-from-scratchs-recommended-free-tools/" class="more-link">Continue reading<span class="screen-reader-text"> "Games From Scratch&#8217;s Recommended Free Tools"</span></a>]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.youtube.com/gamefromscratch">Games From Scratch</a> is a prolific Youtube channel dedicated to helping solo and small team gamedevs with tutorials and tools. They really do post frequently, so if I linked to everything they made it&#8217;d overwhelm the blog, but it&#8217;s been a while since I referred to them, and they just made a nice omnibus video of free tools. There is a sponsored section in it, but if that kind of thing bothers you I suggest using the browser extension <a href="https://sponsor.ajay.app/">SponsorBlock</a>, which shows time-wasting sections on the Youtube timeline in different colors.</p>



<p><a href="https://www.youtube.com/watch?v=2HxKr0MVwQs">Here is the video</a> (13 minutes):</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Awesome FREE Game Development Tools" width="840" height="473" src="https://www.youtube.com/embed/2HxKr0MVwQs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Here are the tools recommended, along with links (which the video maker neglected to provide):</p>



<p><a href="https://www.blender.org/">Blender</a> (3D modelling)<br><a href="https://godotengine.org/">Godot</a> (game engine)<br><a href="https://o3de.org/">O3DE</a> (game engine)<br><a href="https://krita.org/en/">Krita</a> (raster art)<br><a href="https://www.gimp.org/">GNU Image Manipulation Program</a> (raster art)<br><a href="https://www.audacityteam.org/">Audacity</a> (audio editing)<br><a href="https://www.mapeditor.org/">Tiled</a> (map creation)<br><a href="https://inkscape.org/">Inkscape</a> (vector art)<br><a href="https://orama-interactive.itch.io/pixelorama">Pixelorama</a> (pixel art &amp; animation, can be run in browser)<br><a href="https://www.stef.be/dpaint/">DPaint.JS</a> (pixel art, in-browser, recreation of Deluxe Paint for Amiga)<br><a href="https://graphicsgale.com/us/">GraphicsGale</a> (pixel art)<br><a href="https://www.materialmaker.org/">Material Maker</a> (procedural texture creation)<br><a href="https://extensions.blender.org/add-ons/ucupaint/">Ucupaint</a> (texture painting extension to Blender)<br><a href="https://ephtracy.github.io/">MagicaVoxel</a> (voxel-based painting, Windows &amp; Mac only)<br><a href="https://stephaneginier.com/sculptgl/">SculptGL</a> (browser-based sculpting)<br><a href="https://ldtk.io/">LDtk</a> (2D level editor)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Polygon Treehouse&#8217;s &#8220;No AI&#8221; Seal</title>
		<link>https://setsideb.com/polygon-treehouses-no-ai-seal/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Wed, 19 Feb 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[GenerativeAI]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[PolygonTreehouse]]></category>
		<category><![CDATA[seal]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9346</guid>

					<description><![CDATA[Indie studio Polygon Treehouse (which doesn&#8217;t seem related to the news site Polygon) has created a seal for indie devs to use to indicate that no AI-generated assets were used in the construction of their game. This is it: Generative AI is a blight upon all the creative industries, but few are affected as keenly &#8230; <a href="https://setsideb.com/polygon-treehouses-no-ai-seal/" class="more-link">Continue reading<span class="screen-reader-text"> "Polygon Treehouse&#8217;s &#8220;No AI&#8221; Seal"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Indie studio <a href="https://www.polygon-treehouse.com/">Polygon Treehouse</a> (which doesn&#8217;t seem related to the news site Polygon) has <a href="https://www.polygon-treehouse.com/no-gen-ai-seal">created a seal</a> for indie devs to use to indicate that no AI-generated assets were used in the construction of their game. This is it:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1000" height="771" src="https://setsideb.com/wp-content/uploads/2025/02/image-10.png" alt="" class="wp-image-9348" style="width:449px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2025/02/image-10.png 1000w, https://setsideb.com/wp-content/uploads/2025/02/image-10-300x231.png 300w, https://setsideb.com/wp-content/uploads/2025/02/image-10-768x592.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption class="wp-element-caption">Polygon Treehouse&#8217;s NO GEN AI seal.</figcaption></figure>
</div>


<p>Generative AI is a blight upon all the creative industries, but few are affected as keenly as small team game development, which is under constant pressure to produce, and as easily and cheaply as possible.</p>



<p>There is an animus among the clueless game-buying public against &#8220;asset flips,&#8221; games that use premade resources made by others and obtained in packs or bundles. If I might speak directly to people who do this, ahem:</p>



<p>While you can find egregious examples, sure, generally this attitude harms a lot of indie devs, who often don&#8217;t have the personpower or energy to create large amounts of assets themselves. If you&#8217;re going to be upset at people who use cheaply-acquired material, then aim your ire toward people who use generative AI, which isn&#8217;t sustainable, and cribs off the websites of literally millions of internet users who didn&#8217;t consent to their use in its training.</p>



<p>And if, deep in your musty heart, you&#8217;re mumbling to yourself that they&#8217;re doing this for publicity: sure! I&#8217;m glad! Why not? What else can they do to make people aware of this issue, other than not using generative AI themselves? The real power to change things is in the hands of the people who use gen AI (which, if they are, have already indicated they don&#8217;t care about the issues involved) and those of consumers who have the option to buy games from them. Which is <em>you</em>. So, <em>don&#8217;t do that!</em></p>



<p>Eschew the generative AI trend! Help prevent a future full of content slop! Don&#8217;t roll over and accept it! Tell the awful moneymen of the field this is wrong! (Not all, but so many of them are <em>men</em>.) And don&#8217;t forget about your stance the moment a game in a series you really like uses it for assets. This is about something bigger than games-yes, such things exist. Open your damned eyes. Things are moving around you, and they&#8217;re making the world worse, for artists, for you, for everyone. You don&#8217;t have to accept it.</p>



<p>And tell others! You don&#8217;t have to become loud and annoying about it. (Unless you really want to, join our team!) A quiet word of support, a positive comment on a thread, in the aggregate it can make a difference, but only if <em>lots</em> of people do it.</p>



<p>There, that&#8217;s said. Don&#8217;t forget now! I don&#8217;t bring up these issues often here, there are so many other fun and interesting things to show you. We&#8217;ll move on, for now&#8230;.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Displaced Gamers Reprograms Ghosts &#038; Goblins to Overcome Jankiness</title>
		<link>https://setsideb.com/displaced-gamers-reprograms-ghosts-goblins-to-hit-60fps/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Mon, 03 Feb 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[behindthecode]]></category>
		<category><![CDATA[capcom]]></category>
		<category><![CDATA[displacedgamers]]></category>
		<category><![CDATA[GhostsNGoblins]]></category>
		<category><![CDATA[Micronics]]></category>
		<category><![CDATA[TalkinCode]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9223</guid>

					<description><![CDATA[Displaced Gamers is one of the best NES gaming channels on Youtube. They do sterling work diving into the very code of the games, to figure out what they are like they are. We link to nearly every video they do. Here&#8217;s a recap: Well here&#8217;s another, and it actually is a follow-up to a &#8230; <a href="https://setsideb.com/displaced-gamers-reprograms-ghosts-goblins-to-hit-60fps/" class="more-link">Continue reading<span class="screen-reader-text"> "Displaced Gamers Reprograms Ghosts &#38; Goblins to Overcome Jankiness"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Displaced Gamers is one of the best NES gaming channels on Youtube. They do sterling work diving into the very code of the games, to figure out what they are like they are. We link to nearly every video they do. Here&#8217;s a recap:</p>



<ul class="wp-block-list">
<li><a href="https://setsideb.com/behind-the-code-why-is-contra-force-slow/">Contra Force</a> (why is it slow?)</li>



<li><a href="https://setsideb.com/displaced-gamers-on-mega-man-3-glitches/">Mega Man 3</a> (glitches)</li>



<li><a href="https://setsideb.com/behind-the-code-why-does-nintendos-tetris-crash-at-extremely-high-levels/">NES Tetris</a> (why does it crash at extremely high levels?)</li>



<li><a href="https://setsideb.com/behind-the-code-the-problems-with-dr-jekyll-and-mr-hyde/">Dr. Jekyll &amp; Mr. Hyde</a> (wherefore the jank?)</li>



<li><a href="https://setsideb.com/more-from-displaced-gamers-on-dr-jekyll-and-mr-hyde/">Also Dr. Jekyll &amp; Mr. Hyde</a> (mo jank mo problems)</li>



<li><a href="https://setsideb.com/why-is-nes-strider-so-janky/">Strider</a> (the hideousness of its code)</li>



<li><a href="https://setsideb.com/more-on-the-terribleness-of-nes-striders-programming/">Strider Again</a> (more hideousness)</li>



<li><a href="https://setsideb.com/behind-the-code-about-the-nes-sprite-capabilities/">A primer on the NES&#8217; sprites</a></li>



<li><a href="https://setsideb.com/behind-the-code-examines-the-nes-punch-out-boxer-engine/">A deep dive into Punch-Out&#8217;s enemy boxer engine</a></li>
</ul>



<p>Well here&#8217;s another, and it actually is a follow-up to a video that I don&#8217;t <em>think</em> we linked to before. So here&#8217;s that video first, on <a href="https://www.youtube.com/watch?v=sRXXkFzpIPQ&amp;pp=ygUfRGlzcGxhY2VkIEdhbWVycyBnaG9zdHMgZ29ibGlucw%3D%3D">Micronics&#8217; port of Ghosts n&#8217; Goblins to NES</a>. (32 minutes)</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="NES Ghosts &#039;n Goblins, 60 fps, and Micronics&#039; Bloated Sprite Engine - Behind the Code" width="840" height="473" src="https://www.youtube.com/embed/sRXXkFzpIPQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Pretty long already, exquisitely geeky! Well its successor is even more geeky, as they actually reprogrammed the game to have a more optimized sprite engine. Although it&#8217;s a shorter video, at 24 minutes!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Destroying and Reprogramming the Sprite Engine of Ghosts &#039;n Goblins - Talkin&#039; Code Episode 6" width="840" height="473" src="https://www.youtube.com/embed/WmHpMRtgU3I?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Ghost n&#8217; Goblins is <em>designed</em> around being a 20fps game, so no amount of optimization will change that, it requires more substantial modification. But the time visualizations they use indicate that it may be possible to change that to 30fps, and with other changes 60fps may be possible. Mind you, the logic for the player, enemies and weapons all assume 20fps, so unless they&#8217;re changed to account moving to 60 frames per second will triple the speed of the game, so that obviously would need to be changed as well. I look forward to seeing the next chapter in this retrocoding saga.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Learning Zork Implementation Language, by Steve Meretzky</title>
		<link>https://setsideb.com/learning-zork-implementation-language-by-steve-meretzky/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Fri, 31 Jan 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[adventures]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[infocom]]></category>
		<category><![CDATA[internetarchive]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[SteveMeretzsky]]></category>
		<category><![CDATA[textadventures]]></category>
		<category><![CDATA[zil]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9219</guid>

					<description><![CDATA[Back in the days of hallowed Infocom, the people who made a living making text adventures better than anyone else ever has before or since, life was often pretty harrowing. They had some huge hits, like Zork, Planetfall and The Hitchhiker&#8217;s Guide to the Galaxy, but as time passed and graphic adventures took up more &#8230; <a href="https://setsideb.com/learning-zork-implementation-language-by-steve-meretzky/" class="more-link">Continue reading<span class="screen-reader-text"> "Learning Zork Implementation Language, by Steve Meretzky"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Back in the days of hallowed Infocom, the people who made a living making text adventures better than anyone else ever has before or since, life was often pretty harrowing. They had some huge hits, like Zork, Planetfall and The Hitchhiker&#8217;s Guide to the Galaxy, but as time passed and graphic adventures took up more and more of the market, It became harder to make the case for a purely textual medium.</p>



<p>Infocom tried different things to diversify, like a weird computer and board game called Fooblitzky, and an office software package called Cornerstone. In the end they got bought out by Activision, which had renamed itself to &#8220;Mediagenic.&#8221; But that&#8217;s a story for another time.</p>



<p>There was a period where earlier Implementors, or &#8220;imps,&#8221; had left the company, so it was left to remaining employee Steve Meretzsky, the creator of the afore-mentioned Planetfall, and co-author with Douglas Adams of the Hitchhiker&#8217;s Guide game, to write a manual to tell new hires how to use their bespoke development tool, ZIL, to make text adventure games.</p>



<p><a href="https://archive.org/details/Learning_ZIL_Steven_Eric_Meretzky_1995/mode/2up">This is that manual</a> (78 pages), preserved on the Internet Archive. And it&#8217;s great! Steve had made multiple successful games with it and knew his stuff. He didn&#8217;t know <em>everything</em> about it, and at multiple points appeals to a mystery Stu, who was probably <a href="https://www.ifwiki.org/Stu_Galley">Stu Galley</a>, fellow imp. We don&#8217;t know if he ever filled in those holes when talking to people. Stu passed away in 2018, so I guess it&#8217;s a moot point now.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="650" src="https://setsideb.com/wp-content/uploads/2025/01/image-11-1024x650.png" alt="" class="wp-image-9221" srcset="https://setsideb.com/wp-content/uploads/2025/01/image-11-1024x650.png 1024w, https://setsideb.com/wp-content/uploads/2025/01/image-11-300x191.png 300w, https://setsideb.com/wp-content/uploads/2025/01/image-11-768x488.png 768w, https://setsideb.com/wp-content/uploads/2025/01/image-11-1536x976.png 1536w, https://setsideb.com/wp-content/uploads/2025/01/image-11-1200x762.png 1200w, https://setsideb.com/wp-content/uploads/2025/01/image-11.png 1839w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption class="wp-element-caption">Remember, Infocom sought out actual writers to make some of their games, including some without a history in Computer Science, so while it&#8217;s definitely computer code it&#8217;s not as bad as you might think it&#8217;d be.</figcaption></figure>



<p>Meretzky is a fine and funny writer, and his personality shines through the document. And he&#8217;s a good teacher too, I feel like I could use this to make games with ZIL, while <a href="https://ganelson.github.io/inform-website/">Inform 7</a>, while I understand it is also great and has extensive documentation with lots of examples, I couldn&#8217;t handle.</p>



<p>ZIL is a Lisp-like language, where everything is lists. It compiles to &#8220;Z-code,&#8221; a virtual machine that was run by Infocom&#8217;s interpreter (which is the secret of their many ports to different computer platforms of that era), and of which there are now many different free and open source ports like <a href="https://davidgriffith.gitlab.io/frotz/">Frotz</a> and <a href="https://www.ifwiki.org/Gargoyle">Gargoyle</a>. So you could use this to write a ZIL game, use ZILF and ZAPF to build it, and run it in Frotz. As Exercise Three in the manual, Meretzsky tasks the read with building a complete game, collaborating with the Infocom marketing department to design a box for it, and then selling 250,000 copies. That&#8217;s pretty difficult since Infocom is gone and it&#8217;s essentially impossible now to sell text adventures for money. Maybe you&#8217;ll find a way.</p>



<p><a href="https://www.ifwiki.org/ZILF">Learning ZIL, or, Everything You Always Wanted To Know About Writing Interactive Fiction But Couldn&#8217;t Find Anyone Still Working Here To Ask</a> (Internet Archive, PDF)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What and Why Are Super Mario Bros. Frame Rules?</title>
		<link>https://setsideb.com/what-and-why-are-super-mario-bros-frame-rules/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 18 Jan 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[BrandonsBlog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framerule]]></category>
		<category><![CDATA[mario]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[supermariobros]]></category>
		<category><![CDATA[timer]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=9145</guid>

					<description><![CDATA[Not a damnable Youtube video this time, but an honest-to-frog text post I&#8217;m linking to! A 2021 post from the blog Brandon&#8217;s Thoughts explains what you might be wondering if you watched such events like AGDQ 2025&#8217;s Super Mario Bros. race. Well, okay, I&#8217;ll give you a video (33 minutes), but it&#8217;s not the point &#8230; <a href="https://setsideb.com/what-and-why-are-super-mario-bros-frame-rules/" class="more-link">Continue reading<span class="screen-reader-text"> "What and Why Are Super Mario Bros. Frame Rules?"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Not a damnable Youtube video this time, but an honest-to-frog text post I&#8217;m linking to! A 2021 post from the blog Brandon&#8217;s Thoughts explains what you might be wondering if you watched such events like AGDQ 2025&#8217;s Super Mario Bros. race. Well, okay, I&#8217;ll give you <a href="https://www.youtube.com/watch?v=G0ONr2lloM0">a video</a> (33 minutes), but it&#8217;s not the point of the post this time:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Super Mario Bros. by GTAce, SuperSonic, scalpel, JeremyMKW in 28:46 - Awesome Games Done Quick 2025" width="840" height="473" src="https://www.youtube.com/embed/G0ONr2lloM0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>The analogy often given is to think of a bus that leaves every 21 frames, and levels can only end by getting on that bus, and so other than in the last level (which has no new level to load at the end of it), improvements in Super Mario Bros. can only happen in 21 frame increments. If you save a frame or two in a level, but it&#8217;s not enough to make the previous frame rule, it&#8217;s not enough to take the previous bus, you&#8217;ll just end up waiting for it to happen anyway.</p>



<p>But what a weird thing to have! Lots of games don&#8217;t have frame rules like this, so why does Super Mario Bros? What advantage did it give the game&#8217;s code to be implemented this way? Why did the game&#8217;s programmers, <a href="https://www.mobygames.com/game/7298/super-mario-bros/credits/nes/">according to MobyGames</a> Toshihiko Nakago or Kazuaki Morita, do it?</p>



<p>I&#8217;m not completely sure, but Brandon explains why they happen in his blog post. I can summarize the the details here, and give a theory.</p>



<p>Super Mario Bros. uses a bunch of timers in its code. Quite sensibly, they&#8217;re laid out in a region of memory so they can all be updated by the same bit of code, a loop that cycles through them and counts them all down, one per frame, until they reach zero. It doesn&#8217;t do anything itself when they reach zero; the timers are each checked in other places by the code that needs to know if enough time has elapsed, and which then resets the timer so the countdown can continue on the next frame.</p>



<p>Many of these timers are short, like the code that determines when Mario emits a bubble in an underwater area. But all of these timers are single bytes, so the longest they can last are 255 frames, which at 60 fps is just a few seconds.</p>



<p>In order to track longer periods of time, but keep the same mechanism, there&#8217;s a subset of these timers that don&#8217;t count down every second. These timers are only checked and decremented every 21 frames, which is triggered when a special extra timer goes off. The intent was probably every 20 frames, but it uses BMI, <strong>B</strong>ranch if result <strong>MI</strong>nus, for the check instead of BEQ, <strong>B</strong>ranch if <strong>EQ</strong>ual to zero, meaning it takes an extra frame.</p>



<p>Long timers are a bit less precise than short ones. When a long timer is set, the inner timer, the one that decides when long timers count down, could be at any point in its cycle.</p>



<p>This timer exists to determine when the second set, of longer timers, counts down. So, those timers&#8217; lengths are around 21 times longer than the other timers. This is the source of the frame rule. After a level has finished, the game displays a black status screen with text announcing the number of the next level (&#8220;WORLD 1-2&#8221;) and the number of lives Mario has left. This code uses a long timer to keep the message on screen for longer than 255 frames. But it has the side effect that levels can only begin at 21-frame intervals.</p>



<p>Other periods of time tracked by long timers, such as Mario&#8217;s invulnerability time after taking damage and and duration of invincibility powerups, are also framerule based, and can vary by around a third of a second in length.</p>



<p>Super Mario Bros.&#8217; ROM space is a bit cramped, and the timers are probably implemented in this way for space efficiency. Brandon points to evidence that the game had been optimized to save space to as to squeeze in more level data. In most cases it doesn&#8217;t matter that long times vary slightly in length. Gross duration matters more than precision here, but the implication is that framerules exist. Funny, that.</p>



<p><a href="https://brskari.wordpress.com/2021/08/01/super-mario-bros-framerules/">Super Mario Bros. Frame Rules</a> (brskari.com)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>GB Studio &#038; BB Studio</title>
		<link>https://setsideb.com/gb-studio-bb-studio/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Fri, 06 Dec 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[6502]]></category>
		<category><![CDATA[BBStudio]]></category>
		<category><![CDATA[gameboy]]></category>
		<category><![CDATA[GBStudio]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[nesmaker]]></category>
		<category><![CDATA[z80]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8885</guid>

					<description><![CDATA[GB Studio, by Chris Maltby, is fairly well-known now, isn&#8217;t it? It&#8217;s a free and open source solution to fairly easily making Gameboy roms on your own, that are properly termed not romhacks but homebrew. It has its own website and it&#8217;s available on itch.io. It was what Grimace&#8217;s Birthday, which we linked to last &#8230; <a href="https://setsideb.com/gb-studio-bb-studio/" class="more-link">Continue reading<span class="screen-reader-text"> "GB Studio &#038; BB Studio"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>GB Studio, by Chris Maltby, is fairly well-known now, isn&#8217;t it? It&#8217;s a free and open source solution to fairly easily making Gameboy roms on your own, that are properly termed not romhacks but homebrew. It has <a href="https://www.gbstudio.dev/">its own website</a> and <a href="https://chrismaltby.itch.io/gb-studio">it&#8217;s available on itch.io</a>. It was what Grimace&#8217;s Birthday, <a href="https://setsideb.com/grimaces-birthday-for-gameboy-color/">which we linked to last year</a>, was made with.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="575" src="https://setsideb.com/wp-content/uploads/2024/12/image-1-1024x575.png" alt="" class="wp-image-8888" srcset="https://setsideb.com/wp-content/uploads/2024/12/image-1-1024x575.png 1024w, https://setsideb.com/wp-content/uploads/2024/12/image-1-300x169.png 300w, https://setsideb.com/wp-content/uploads/2024/12/image-1-768x432.png 768w, https://setsideb.com/wp-content/uploads/2024/12/image-1-1536x863.png 1536w, https://setsideb.com/wp-content/uploads/2024/12/image-1-2048x1151.png 2048w, https://setsideb.com/wp-content/uploads/2024/12/image-1-1200x674.png 1200w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption class="wp-element-caption">GB Studio, from its platformer template</figcaption></figure>



<p>Now there&#8217;s a heavily-modified version of GB Studio, called BB Studio, that produces NES roms in a similar manner! It&#8217;s made by Michel Iwaniec, and <a href="https://github.com/michel-iwaniec/bb-studio">can be gotten from Github here</a>. It&#8217;s recommended that you be familiar with GB Studio first, and to read the list of caveats on the page. Particularly, the NES supports fewer sprites per scanline than the Gameboy hardware does, and runs at a slower clock speed. BB Studio is also &#8220;early alpha software,&#8221; meaning, it might or might not work well for you at the moment.</p>



<p>While we&#8217;re on the topic I should also mention <a href="https://www.thenew8bitheroes.com/">NES Maker</a>, which isn&#8217;t free, but it also isn&#8217;t &#8220;early alpha software,&#8221; and at $36 isn&#8217;t expensive either, and is custom-built for generating runnable NES games.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Score Keeping on the NES</title>
		<link>https://setsideb.com/score-keeping-on-the-nes/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Mon, 18 Nov 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[6502]]></category>
		<category><![CDATA[famicom]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[NESHacker]]></category>
		<category><![CDATA[score]]></category>
		<category><![CDATA[supermariobros]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8707</guid>

					<description><![CDATA[Sometimes I feel like I should put a content warning here when the technical level of a post is higher than usual. This one would probably be a five out of five for geekery. It&#8217;s a video from NESHacker on counting score on the Nintendo Entertainment System. But I don&#8217;t want to discourage you from &#8230; <a href="https://setsideb.com/score-keeping-on-the-nes/" class="more-link">Continue reading<span class="screen-reader-text"> "Score Keeping on the NES"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Sometimes I feel like I should put a content warning here when the technical level of a post is higher than usual. This one would probably be a five out of five for geekery. It&#8217;s a video from NESHacker on <a href="https://www.youtube.com/watch?v=WahER4-nl08">counting score on the Nintendo Entertainment System</a>. But I don&#8217;t want to discourage you from watching it! It&#8217;s nine minutes long, and it contains a definition of the term <em><a href="https://en.wikipedia.org/wiki/Double_dabble">double dabble</a></em>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Keeping Score on the NES" width="840" height="473" src="https://www.youtube.com/embed/WahER4-nl08?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Human-readable numbers are tracked by computers in a number of different ways. Nowadays we basically just do a printf or some version of it, but on a 1 megahertz platform, optimization really matters. It&#8217;s easy to think of computers as being impossibly fast, but in truth speed only ever counts relative to the efficiency of the algorithm you use. Computers are fast, but they aren&#8217;t all <em>that</em> fast.</p>



<p>One of the big tradeoffs in processor design is, fewer complex instructions that do a lot but take a lot of cycles, and processor complexity, to execute, or many simple instructions, each doing little and being relatively simple, and not needing a complex processor design to implement.</p>



<p>The 6502 microprocessor generally follows the latter design philosophy. It made some important tradeoffs to keep costs down. For example, it doesn&#8217;t have hardware that can multiply arbitrary numbers together. It relies on the programmer, or else a library author, to use the instructions given to code their own multiplication algorithm, if they need one. The result is going to be slower, <em>probably</em>, that if the chip had the circuits to do this automatically in silicon, but it reduced the cost of the chip, basically allowing more to be made, or else increasing the profits for the manufacturer.</p>



<p>Personally I&#8217;m a fan of just storing the score as a series of digits that match up to their positions in the character set. Gain 1,000 points? Just bump the 1000s-place up by one, and if it goes past 9, subtract 10 and bump the 10,000s place. That&#8217;s a tried-and-true system that many games use, and works well if all you ever have to do is add numbers. Comparing values, like for detecting extra life award levels, make things slightly more complex, but not by much. There&#8217;s sometimes other factors involved though, and that may explain why Super Mario Bros. uses different systems for its counters, as explained by NESHacker.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The End of Masahiro Sakurai on Creating Games</title>
		<link>https://setsideb.com/the-end-of-masahiro-sakurai-on-creating-games/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Fri, 25 Oct 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[finale]]></category>
		<category><![CDATA[Fukurashi]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[masahirosakurai]]></category>
		<category><![CDATA[sora]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8551</guid>

					<description><![CDATA[He mentions that it&#8217;s possible that he might dust off the channel from time to time, but that he feels it has accomplished its mission. Here it is (46 minutes): To remind everyone: Sakurai is the famed creator of Kirby, Meteos and Smash Bros. In the video, he relates the surprising fact that no only &#8230; <a href="https://setsideb.com/the-end-of-masahiro-sakurai-on-creating-games/" class="more-link">Continue reading<span class="screen-reader-text"> "The End of Masahiro Sakurai on Creating Games"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>He mentions that it&#8217;s possible that he might dust off the channel from time to time, but that he feels it has accomplished its mission. Here it is (46 minutes):</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Masahiro Sakurai on Creating Games: Finale Special" width="840" height="473" src="https://www.youtube.com/embed/_qPqBilhEtI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>To remind everyone: Sakurai is the famed creator of Kirby, Meteos and Smash Bros. In the video, he relates the surprising fact that no only did he write out nearly every script, 256 in all, before the first episode even aired, but he also filmed them all in advance too! That&#8217;s why he looks older in this video: it&#8217;s the first time he&#8217;s been before the camera, with just three exceptions, since it started. The video, in fact, is mostly about how the series itself was made, which as it turns out was done without a camera crew, and in a residence of his too, outside of a recording studio and without soundproofing, so production had to pause if am ambulance drove by outside, and couldn&#8217;t happen at all if it was raining.</p>



<p>I have no doubt that these videos will be an important document in the coming years, not just as a guide to making video games, but also preserving the processes of current-day game development, and the words and thoughts off one of the foremost game designers of our age. BTW, note <a href="https://youtu.be/_qPqBilhEtI&amp;t=1138">the split second of Rogue at 18:58</a>!</p>



<p>The video has always had a feel like maybe Nintendo was helping out with it, but as it turns out, other than approving the use of their game footage, they weren&#8217;t greatly involved. The similar feel may be due to the use to HIKE, a.k.a. QBIST, a production company that Nintendo also uses for some of their videos.</p>



<p>To close this out, I&#8217;ll link a short bit from earlier on, at a mere 2 1/2 minutes, the video about Sakurai&#8217;s cat, Fukurashi. Meow, or perhaps, nya!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="My Feline Friend, Fukurashi [Grab Bag]" width="840" height="473" src="https://www.youtube.com/embed/EbkshNLpMwo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Roguelike Celebration 2024</title>
		<link>https://setsideb.com/roguelike-celebration-2024/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Thu, 17 Oct 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[indies]]></category>
		<category><![CDATA[niche]]></category>
		<category><![CDATA[roguelike]]></category>
		<category><![CDATA[@play]]></category>
		<category><![CDATA[2024]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[roguelikecelebration]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8495</guid>

					<description><![CDATA[Starting this Saturday at noon US Eastern time (9 AM Pacific, 5 PM Greenwich, 7 PM CEST) is Roguelike Celebration 2024! I&#8217;m presenting half an hour on the Mystery Dungeon games this year, at 3:15 PM Pacific/6:15 Eastern/11:15 Greenwich/1:15 AM Sunday CEST. Whew, the roundness of the Earth makes it difficult to express times! It&#8217;s &#8230; <a href="https://setsideb.com/roguelike-celebration-2024/" class="more-link">Continue reading<span class="screen-reader-text"> "Roguelike Celebration 2024"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Starting this Saturday at noon US Eastern time (9 AM Pacific, 5 PM Greenwich, 7 PM CEST) is Roguelike Celebration 2024! I&#8217;m presenting half an hour on the Mystery Dungeon games this year, at 3:15 PM Pacific/6:15 Eastern/11:15 Greenwich/1:15 AM Sunday CEST. Whew, the roundness of the Earth makes it difficult to express times!</p>



<p>It&#8217;s being held entirely online again this year, and offers a fun social space to explore that&#8217;s kind of like a MUD! <a href="https://www.roguelike.club/event2024.html?utm_source=RoguelikeCelebration&amp;utm_medium=email&amp;utm_campaign=roguelike-celebration-2024-full-schedule-preview">Roguelike Celebration&#8217;s schedule is here</a>, and <a href="https://ti.to/roguelike-celebration/roguelike-celebration-2024">you can get tickets for $30 for the whole event here</a>. They usually set aside some free tickets for people who can&#8217;t afford the fee, although you might have to check around to find them. </p>



<p>Roguelike Celebration is nominally about roguelikes and procedural generation, but I think it&#8217;s interesting from a wide variety of gaming perspectives, and every year I find several talks that are incredibly interesting. Past years have offered presentations from people who worked on games as diverse as Kingdom of Loathing and Blaseball. Here are the talks being offered this year:</p>



<h3 class="wp-block-heading">Saturday</h3>



<ul class="wp-block-list">
<li>Harry Solomons: <strong>Trampling on Ghosts: Hauntology and Permadeath</strong></li>



<li>Cezar Capacle: <strong>Enhancing Narrative Through Randomness and Complications</strong></li>



<li>Max Bottega: <strong>Keeping Art Direction interesting in a procedurally generated world</strong></li>



<li>Stanley W. Baxton: <strong>Bringing Real-World Occultism into Your Games Without Accidentally Being Racist</strong></li>



<li>Jeff Emtman and Martin Austwick: <strong>Neutrinowatch &#8211; the podcast that plays itself</strong></li>



<li>Nic: Braided Narratives: <strong>Or How I Learned to Stop Worrying and Love Linear Stories</strong></li>



<li>Pandamander: <strong>&#8220;Out of Book,&#8221; The Psychology of Why Roguelikes Keep Us Playing</strong></li>



<li>?: <strong>Inverse Terrain Solver</strong></li>



<li>Adrian: <strong>Probably Impossible &#8211; NecroDancer&#8217;s network code</strong></li>



<li>John Harris: <strong>A Trip Through The Mystery Dungeons</strong> (psst: this is mine)</li>



<li>Marlowe Dobbe: <strong>A Swarm of Monsters is Hard To Build: Generating Visual Concepts for Enemies in Roguelikes</strong></li>



<li>John Bond: Doors or no Doors: <strong>How Roguelike games take you places</strong></li>



<li>Dan Norder: <strong>Chase, The BASIC Language Proto-Roguelike</strong></li>
</ul>



<h3 class="wp-block-heading">Sunday</h3>



<ul class="wp-block-list">
<li>Yong Zhen Zhou: <strong>Who Controls the Controller? Thinking about physical player interactions outside a digital game</strong></li>



<li>Tabea Iseli: <strong>Animal Crossing meets Roguelite Dungeon Crawler &#8211; The surprising genre mixture behind Grimoire Groves</strong></li>



<li>Philomena Schwab: <strong>100,000 wishlists in 3 months &#8211; Weird roguelikes are taking over the world</strong></li>



<li>Kaysa Konopljak: <strong>Going legit with DotA: How to transform a thousand authors into four</strong></li>



<li>Alexander Birke: <strong>Practical procedural world and story generation in Sea Of Rifts, a naval roguelike RPG</strong></li>



<li>Robin Mendoza: <strong>The Use of Knowledge in the Labyrinth: The price mechanism as a storytelling device</strong></li>



<li>Ollie: <strong>The Right Variety &#8211; Understanding and Visualising the Output Diversity of Your Generators</strong></li>



<li>Eiríkr: <strong>Uxn &#8211; Permacomputing &amp; Roguelikes</strong></li>



<li>Brian Cronin: <strong>Black Box Sim for Roguelikes</strong></li>



<li>Isaac Io Schankler: <strong>Orb Pondering Simulator LIVE!</strong></li>



<li>?: <strong>7 Layer Dip, Multi-Layered Narratives For Roguelikes</strong></li>



<li>Emily Halina: <strong>New Levels from a Single Example via Tree-based Reconstructive Partitioning (TRP)</strong></li>



<li>Courtney: <strong>Cheating the System (By Design!) for Epic Combos</strong></li>



<li>Joe: <strong>Magic in Game Design: (Mis)Directing the Player&#8217;s Attention</strong></li>



<li>Tyler Coleman: <strong>Finding your 80/20 Rule with Proc-Gen</strong></li>



<li>Nat: <strong>Procedurality and the Primes</strong></li>
</ul>



<p></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Masahiro Sakurai on Satoru Iwata</title>
		<link>https://setsideb.com/masahiro-sakurai-on-satoru-iwata/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eulogy]]></category>
		<category><![CDATA[gamedesign]]></category>
		<category><![CDATA[hallaboratory]]></category>
		<category><![CDATA[Iwata]]></category>
		<category><![CDATA[kirby]]></category>
		<category><![CDATA[masahirosakurai]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[Remembrance]]></category>
		<category><![CDATA[sakurai]]></category>
		<category><![CDATA[SatoruIwata]]></category>
		<category><![CDATA[smashbros]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8481</guid>

					<description><![CDATA[I haven&#8217;t posted much from Kirby and Smash Bros. creator&#8217;s prolific Youtube channel on game development. There&#8217;s a lot of good information in there. The channel is winding down now after a good run, but now, near the end, he&#8217;s posted at one of his final videos a remembrance of his old boss, and beloved &#8230; <a href="https://setsideb.com/masahiro-sakurai-on-satoru-iwata/" class="more-link">Continue reading<span class="screen-reader-text"> "Masahiro Sakurai on Satoru Iwata"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>I haven&#8217;t posted much from Kirby and Smash Bros. creator&#8217;s <a href="https://www.youtube.com/@sora_sakurai_en">prolific Youtube channel on game development</a>. There&#8217;s a lot of good information in there. The channel is winding down now after a good run, but now, near the end, he&#8217;s posted at one of his final videos <a href="https://www.youtube.com/watch?v=o2wYKkqhkG0">a remembrance of his old boss</a>, and beloved Nintendo company president, the late Satoru Iwata. (10 minutes)</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Mr. Iwata [Grab Bag]" width="840" height="473" src="https://www.youtube.com/embed/o2wYKkqhkG0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>It&#8217;s now been nearly 10 years since Iwata&#8217;s passing, and the outpouring of respect, admiration, and even affection, for him over that time has been remarkable. There&#8217;s a sense that we lost an amazing figure. Sakurai is brilliant in many ways, but he calls Iwata the smartest man he&#8217;s ever known. He strove to be polite, not to take offense in conflict, and to always act with logic instead of emotion. He helped transition Nintendo from being under the sole control of the Yamaguchi family to the more varied and ingenious company they&#8217;re known for being today.</p>



<p>In addition to running the company, Mr. Iwata started out as a programmer a HAL Laboratory. Think of how rare that is for a multi-billion-dollar company. They didn&#8217;t hire your standard MBA out off a business school, but put their future in the hands of a former coder. I have no illusions that, in many cases, that could have been disastrous, because programming and management require different skill sets, but Mr. Iwata pulled it off.</p>



<p>Sakurai finishes the video with a story of the last time he saw Iwata alive. He calls Iwata the person in the world who understood him the most. When Iwata wanted to see him, he didn&#8217;t delegate it to an assistant but always emailed him directly. It seems that Iwata was a good person who many admired and respected, but to Masahiro Sakurai, he meant something more.</p>



<p>The video isn&#8217;t very long, and there&#8217;s a sense of finality to it, not just in Sakurai&#8217;s memories of Iwata, but of the ending of his Youtube channel. Masahirro Sakurai on Creating Games is such an unusual series: an important and brilliant working game creator telling the world personally of his views as a creator. Such an unusual move! But Iwata created both the Iwata Asks series, and the Nintendo Direct promotional videos, which may have inspired Sakurai&#8217;s own series. Both men understand the importance, often neglected I think, of clear communication, both between others and the world.</p>



<p>Thank you, Mr. Sakurai, for what you&#8217;ve told us. And thank you, Mr. Iwata, for all your hard work.</p>



<p></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ed Logg on Creating Gauntet</title>
		<link>https://setsideb.com/ed-logg-on-creating-gauntet/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Wed, 02 Oct 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[atari]]></category>
		<category><![CDATA[atarigames]]></category>
		<category><![CDATA[edlogg]]></category>
		<category><![CDATA[gauntlet]]></category>
		<category><![CDATA[gdc]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8384</guid>

					<description><![CDATA[Recently I&#8217;ve been working on a getting-started guide on what I think is one of the most interesting games in UFO 50, Pilot Quest. (Other games I&#8217;ve really enjoyed, though I&#8217;ve by no means tried every game in the collection yet: Magic Garden, Waldorf&#8217;s Journey, Planet Zoldath, Attactics, Kick Club, Onion Delivery, Porgy, Valbrace, Grimstone &#8230; <a href="https://setsideb.com/ed-logg-on-creating-gauntet/" class="more-link">Continue reading<span class="screen-reader-text"> "Ed Logg on Creating Gauntet"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Recently I&#8217;ve been working on a getting-started guide on what I think is one of the most interesting games in UFO 50, Pilot Quest. (Other games I&#8217;ve really enjoyed, though I&#8217;ve by no means tried every game in the collection yet: Magic Garden, Waldorf&#8217;s Journey, Planet Zoldath, Attactics, Kick Club, Onion Delivery, Porgy, Valbrace, Grimstone and Mini &amp; Max.)</p>



<p>Guides take time, so in the meantime here&#8217;s an hour-long talk by Ed Logg on the creation of Gauntlet, from GDC 2012!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Classic Game Postmortem: Gauntlet" width="840" height="473" src="https://www.youtube.com/embed/YbEw8J4pbC4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Look At Beta Versions of the Wii Channels</title>
		<link>https://setsideb.com/a-look-at-beta-versions-of-the-wii-channels/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 21 Sep 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[BetaSoftware]]></category>
		<category><![CDATA[Bjohn]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ForecastChannel]]></category>
		<category><![CDATA[MiiChannel]]></category>
		<category><![CDATA[NewsChannel]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[Revolution]]></category>
		<category><![CDATA[ShopChannel]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wii]]></category>
		<category><![CDATA[WiiChannels]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=8325</guid>

					<description><![CDATA[An internal Nintendo metaphor for the Wii&#8217;s UI was &#8220;more channels for the TV.&#8221; It&#8217;s a particularly Old Dad idea for the Wii really, as even at that time broadcast TV was beginning to decline in popularity, but it may have made more sense in Nintendo&#8217;s home territory. The experiences of these channels, the Mii &#8230; <a href="https://setsideb.com/a-look-at-beta-versions-of-the-wii-channels/" class="more-link">Continue reading<span class="screen-reader-text"> "A Look At Beta Versions of the Wii Channels"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>An internal Nintendo metaphor for the Wii&#8217;s UI was &#8220;more channels for the TV.&#8221; It&#8217;s a particularly Old Dad idea for the Wii really, as even at that time broadcast TV was beginning to decline in popularity, but it may have made more sense in Nintendo&#8217;s home territory.</p>



<p>The experiences of these channels, the Mii Channel, the News Channel, the Weather Channel, the Shop Channel and the like, are receding in memory, although there are fan efforts to revive them and connect them to new information sources. But at the other end of their development life, of their pre-release development very little has ever been known. Early Wiis had stubs in their place, that only directed the user to installing a launch-day update. (I experienced this myself! I drove 140 miles in order to wait in a line for a Wii on its launch day, November 19, 2006. I&#8217;m objectively insane.)</p>



<p>Those stubs weren&#8217;t the true original versions of the Wii Channels, they had been in development within Nintendo for some time. Those development versions of the Wii software have never been leaked outside the company, but there exists footage of them from various sources. Bjohn on Youtube has compiled what we know about the development Wii Channels into <a href="https://www.youtube.com/watch?v=d-5R8YyRNMs">a 21-minute video</a>. Here it is:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Beta Wii Channels!" width="840" height="473" src="https://www.youtube.com/embed/d-5R8YyRNMs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>There&#8217;s a fair amount there, including early versions of the Internet Channel and early evidence of plans to include DVD support. (The Wii has a fully-operational DVD drive, but to avoid playing a license fee to the DVD Consortium it cannot play DVDs without hacks.)</p>



<p><a href="https://www.youtube.com/watch?v=d-5R8YyRNMs">Beta Wii Channels!</a> (Bjohn on Youtube, 21 minutes)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Shmuplations Translates An Interview With An Arcade Donkey Kong Programmer</title>
		<link>https://setsideb.com/shmuplations-talks-to-an-arcade-donkey-kong-programmer/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Tue, 06 Aug 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[bitMagazine]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[donkeykong]]></category>
		<category><![CDATA[HirohisaKomanome]]></category>
		<category><![CDATA[IkegamiTsushinki]]></category>
		<category><![CDATA[shigerumiyamoto]]></category>
		<category><![CDATA[shmuplations]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=7958</guid>

					<description><![CDATA[The name of Ikegami Tsushinki Co. is a bit better known nowadays. For a long while Nintendo was content to just let the world believe they were entirely responsible for their early blockbuster arcade hit Donkey Kong, but eventually word got out that all of its program, and large portions of its design, were the &#8230; <a href="https://setsideb.com/shmuplations-talks-to-an-arcade-donkey-kong-programmer/" class="more-link">Continue reading<span class="screen-reader-text"> "Shmuplations Translates An Interview With An Arcade Donkey Kong Programmer"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>The name of Ikegami Tsushinki Co. is a bit better known nowadays. For a long while Nintendo was content to just let the world believe they were entirely responsible for their early blockbuster arcade hit Donkey Kong, but eventually word got out that all of its program, and large portions of its design, were the work of a number of uncredited employees of that company. While Nintendo owns the trademarks over the game, the copyright of the arcade game&#8217;s code appears to be owned by Ikegami Tsushinki, or perhaps held in joint between them and Nintendo.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="599" height="901" src="https://setsideb.com/wp-content/uploads/2024/08/dk01-1.jpg" alt="" class="wp-image-7960" style="width:373px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2024/08/dk01-1.jpg 599w, https://setsideb.com/wp-content/uploads/2024/08/dk01-1-199x300.jpg 199w" sizes="auto, (max-width: 599px) 85vw, 599px" /><figcaption class="wp-element-caption">One of Shireru Miyamoto&#8217;s original notes for the design of Donkey Kong, at that time envisioned as a Popeye game.</figcaption></figure>
</div>


<p>Which is it precisely? Look, when you write a daily blog you don&#8217;t have time to hunt up Japanese legal records. What is important though is that this is why Nintendo doesn&#8217;t have the rights to just rerelease arcade Donkey Kong willy-nilly. To date, they have used it once since the classic arcade era: an inclusion in the N64 Rare title Donkey Kong 64. Mind, there has been an Arcade Archives release from Hamster; I presume they got the rights from both Nintendo and Ikegami Tsushinki. It&#8217;s for this reason that Nintendo almost always presents NES Donkey Kong in compilations, which is similar but differs from the arcade game in many important ways.</p>



<p>Hirohisa Komanome was one of the people at that company that worked in concert with Nintendo&#8217;s Shigeru Miyamoto, and several other employees of Ikegami Tsushinki, to complete the design and implement Donkey Kong from Miyamoto&#8217;s notes, finishing it in only around three months. Donkey Kong came out in July of 1981, meaning it was probably began around the beginning of the year. The quickness of their work would prove to be essential: remember, the American arcade industry collapsed in 1983, when many promising games would be abandoned or released to greatly diminished profits. If Donkey Kong had been released a little later, it may not have become such a fondly remembered hit.</p>



<p>Kate Willaert commissioned the translation by Alex at Shumplations of an article written by Hirohisa Komanome that was published in 1997 in the Japanese publication bit. <a href="https://shmuplations.com/donkeykong/">It&#8217;s up on their site here</a>. Given that Nintendo tends to be very tight-lipped when letting their employees talk to the press, it&#8217;s probably good for us that Donkey Kong was implemented by an outside company, or else this account of the game&#8217;s creation may never have seen print, or our eyes.</p>



<p><a href="https://shmuplations.com/donkeykong/">Donkey Kong: A Record of a Struggle translated into English</a> (shmuplations.com)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Noneuclidian Doom</title>
		<link>https://setsideb.com/noneuclidian-doom/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Wed, 17 Jul 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[doom]]></category>
		<category><![CDATA[euclid]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=7862</guid>

					<description><![CDATA[Found by cortex over on Metafilter was this 2022 talk where someone noticed that the value of the constant pi in the source code of Doom was slightly incorrect. It&#8217;s a very tiny difference, and the results aren&#8217;t really visible in the game. So Luke Gotszling got the idea to compile the game with different &#8230; <a href="https://setsideb.com/noneuclidian-doom/" class="more-link">Continue reading<span class="screen-reader-text"> "Noneuclidian Doom"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Found by cortex over on Metafilter was this 2022 talk where someone noticed that the value of the constant pi in the source code of Doom was slightly incorrect. It&#8217;s a very tiny difference, and the results aren&#8217;t really visible in the game. So Luke Gotszling got the idea to compile the game with different values, and to see what the results are. They gave a talk about it! <a href="https://www.youtube.com/watch?v=_ZSFRWJCUY4">It&#8217;s 19 minutes long</a>, and may be interesting if you&#8217;re of that frame of mind.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="2022 -  Non-Euclidean Doom: what happens to a game when pi is not 3.14159…" width="840" height="473" src="https://www.youtube.com/embed/_ZSFRWJCUY4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><a href="https://www.youtube.com/watch?v=_ZSFRWJCUY4">Non-Euclidian Doom: what happens to a game when pi is not 3.14159&#8230;.</a> (Youtube, 19 minutes)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>.NET on NES</title>
		<link>https://setsideb.com/net-on-nes/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 01 Jun 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[niche]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[2024]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[microsoftbuild]]></category>
		<category><![CDATA[nes]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=7547</guid>

					<description><![CDATA[At Microsoft Build 2024, Jon Peppers described his experience converting .NET bytecode so it can run on the NES&#8217;s 6502-like. It&#8217;s 43 minutes: Running .NET on the NES (Youtube, 43 minutes) rodneylives]]></description>
										<content:encoded><![CDATA[
<p>At Microsoft Build 2024, Jon Peppers described his experience converting .NET bytecode so it can run on the NES&#8217;s 6502-like. It&#8217;s 43 minutes:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Running .NET on the NES | BRK252" width="840" height="473" src="https://www.youtube.com/embed/ASTqqvQo0dM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><a href="https://www.youtube.com/watch?v=ASTqqvQo0dM">Running .NET on the NES</a> (Youtube, 43 minutes)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Indie Interview With Lee Easson and Odd Infinitum</title>
		<link>https://setsideb.com/indie-interview-with-lee-easson-and-odd-infinitum/</link>
		
		<dc:creator><![CDATA[Josh Bycer]]></dc:creator>
		<pubDate>Fri, 08 Mar 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[indies]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[leeeasson]]></category>
		<category><![CDATA[oddinfinitum]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6721</guid>

					<description><![CDATA[For this perceptive podcast, I interviewed self-taught indie developer Lee Easson about working on his first game Odd Infinitum. We discussed what it&#8217;s like to learn game dev today and how that has changed over the years and the challenges it brings to indie developers. Josh Bycer Owner of Game Wisdom with more than a &#8230; <a href="https://setsideb.com/indie-interview-with-lee-easson-and-odd-infinitum/" class="more-link">Continue reading<span class="screen-reader-text"> "Indie Interview With Lee Easson and Odd Infinitum"</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Indie Interview With Lee Easson and Odd Infinitum | Perceptive Podcast #indiedev #indiegames" width="840" height="473" src="https://www.youtube.com/embed/wkNzqqIugVM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>For this perceptive podcast, I interviewed self-taught indie developer Lee Easson about working on his first game Odd Infinitum. We discussed what it&#8217;s like to learn game dev today and how that has changed over the years and the challenges it brings to indie developers.</p>



<ul class="wp-block-list">
<li><a href="https://twitter.com/lee_easson">twitter</a></li>



<li><a href="https://oxoniangames.itch.io/odd-infinitum">itch page</a></li>



<li><a href="https://ljeasson.com/">main site</a></li>
</ul>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://setsideb.com/wp-content/uploads/2022/04/treasure_2_big_noshine-1.png" width="100"  height="100" alt="" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/gwbycer/" class="vcard author" rel="author"><span class="fn">Josh Bycer</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Owner of Game Wisdom with more than a decade of experience writing and talking about game design and the industry. I&#8217;m also the author of the &#8220;Game Design Deep Dive&#8221; series and &#8220;20 Essential Games to Study&#8221;</p>
</div></div><div class="saboxplugin-web "><a href="http://game-wisdom.com/" target="_self" >game-wisdom.com/</a></div><div class="clearfix"></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On Super Mario World&#8217;s Score Display</title>
		<link>https://setsideb.com/on-super-mario-worlds-score-display/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Fri, 02 Feb 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mario]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[snes]]></category>
		<category><![CDATA[superfamicom]]></category>
		<category><![CDATA[supermarioworld]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6872</guid>

					<description><![CDATA[Awesome Mario trivia blog Supper Mario Broth noted on Mastodon that Super Mario World is extremely inefficient in displaying Mario&#8217;s score. There is more information on SWMspeedruns.com, but in brief, SMW stores the player&#8217;s score as a 24-bit value as hexadecimal digits, and converts that value to decimal when it&#8217;s time to display it. There &#8230; <a href="https://setsideb.com/on-super-mario-worlds-score-display/" class="more-link">Continue reading<span class="screen-reader-text"> "On Super Mario World&#8217;s Score Display"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Awesome Mario trivia blog <a href="https://www.suppermariobroth.com/">Supper Mario Broth </a>noted <a href="https://bird.makeup/users/mariobrothblog/statuses/1737143953936273772">on Mastodon</a> that Super Mario World is extremely inefficient in displaying Mario&#8217;s score.</p>



<p><a href="https://smwspeedruns.com/Score_Manipulation">There is more information on SWMspeedruns.com</a>, but in brief, SMW stores the player&#8217;s score as a 24-bit value as hexadecimal digits, and converts that value to decimal when it&#8217;s time to display it. There is no good way to do that that doesn&#8217;t involve figuring out the entire arithmetic, but Super Mario World does it particularly slowly: it starts with a copy of the score, then sees if it&#8217;s over 1,000,000. If it is, it increases the millions digit of the displayed score by 1, subtracts a million from the work value, then repeats. When it runs out of millions it repeats with the hundred-thousands, and repeats until it finishes with the tens. At least it doesn&#8217;t try it with the 1s, seeing as how nothing in the game awards single points!</p>



<p>In a worse-case scenario, with a score of 9,999,990, the code goes through this whole process <em>every frame</em>, consuming up to 8% of the time available for game logic.</p>



<p>What could the game have done to accomplish this better? It could have found out how many of each digit there was once instead of looping and incrementing. It could only figure out the score when the value changes. Or it could save the value as the digits themselves in decimal, just increment them by the right values when its needed, and then copy that figure to the screen. That&#8217;s largely what 8-bit games would do.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="784" src="https://setsideb.com/wp-content/uploads/2024/02/image-1024x784.png" alt="" class="wp-image-6876" srcset="https://setsideb.com/wp-content/uploads/2024/02/image-1024x784.png 1024w, https://setsideb.com/wp-content/uploads/2024/02/image-300x230.png 300w, https://setsideb.com/wp-content/uploads/2024/02/image-768x588.png 768w, https://setsideb.com/wp-content/uploads/2024/02/image-1536x1176.png 1536w, https://setsideb.com/wp-content/uploads/2024/02/image-2048x1568.png 2048w, https://setsideb.com/wp-content/uploads/2024/02/image-1200x919.png 1200w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p>Even worse, if Luigi is the active character, the game does this <em>twice</em>: it figures out and prints Mario&#8217;s score, then it does it again for Luigi&#8217;s score, placing it onscreen in the same place.</p>



<p>While printing the score is just one thing the game does each frame, the effect is great enough that complex scores can lag the game, enough that speedrunners take the score into account to avoid it.</p>



<p>This adds to the evidence that Super Mario World development was rushed. It&#8217;s already known that a lot of the code in SMW is buggy, allowing for some truly heroic exploits like programming a text editor in SRAM purely by manipulating objects in an early level. </p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>More From Displaced Gamers on Dr. Jekyll and Mr Hyde</title>
		<link>https://setsideb.com/more-from-displaced-gamers-on-dr-jekyll-and-mr-hyde/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Mon, 29 Jan 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[behindthecode]]></category>
		<category><![CDATA[cinefile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[displacedgamers]]></category>
		<category><![CDATA[drjekyllandmrhyde]]></category>
		<category><![CDATA[famicom]]></category>
		<category><![CDATA[kusoge]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[toho]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6820</guid>

					<description><![CDATA[We presented Displaced Gamers&#8217;/Behind the Code&#8217;s video on the jankiness of kusoge disgrace Dr. Jekyll and Mr. Hyde back on Saturday. They did another video on that game, that delves into why the game&#8217;s frame rate is so inconsistent. In summary, its engine throttles its framerate in a terrible way, using long delay loops. It&#8217;s &#8230; <a href="https://setsideb.com/more-from-displaced-gamers-on-dr-jekyll-and-mr-hyde/" class="more-link">Continue reading<span class="screen-reader-text"> "More From Displaced Gamers on Dr. Jekyll and Mr Hyde"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>We presented Displaced Gamers&#8217;/Behind the Code&#8217;s video on the jankiness of kusoge disgrace Dr. Jekyll and Mr. Hyde back on Saturday. They did another video on that game, that delves into why the game&#8217;s frame rate is so inconsistent. In summary, its engine throttles its framerate in a terrible way, using long delay loops. It&#8217;s a pretty awful idea! It&#8217;s 19 1/2 minutes long. The video claims it&#8217;s even geekier than their first video on the game, but I think it&#8217;s actually slightly less technical, at least it doesn&#8217;t fill the screen with as much 6502 assembly code.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="The Wacky Frame Rate and Game Engine of Dr. Jekyll and Mr. Hyde (NES) - Behind the Code: Leveled Up" width="840" height="473" src="https://www.youtube.com/embed/nZg1X5kucjc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>Another fact about J&amp;H: the Japanese version had two full levels that were cut from the U.S. version, which replaced them with replays of other levels. It made a bad game even worse!</p>



<p>Now, because of Behind The Code, you know more about the Dr. Jekyll and Mr. Hyde game than many much better NES titles. Congratulations!</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Behind the Code: Dr Jekyll and Mr. Hyde</title>
		<link>https://setsideb.com/behind-the-code-the-problems-with-dr-jekyll-and-mr-hyde/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 27 Jan 2024 15:00:00 +0000</pubDate>
				<category><![CDATA[retro]]></category>
		<category><![CDATA[amagon]]></category>
		<category><![CDATA[behindthecode]]></category>
		<category><![CDATA[cinefile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[displacedgamers]]></category>
		<category><![CDATA[drjekyllandmrhyde]]></category>
		<category><![CDATA[famicom]]></category>
		<category><![CDATA[jeremyparish]]></category>
		<category><![CDATA[kusoge]]></category>
		<category><![CDATA[nes]]></category>
		<category><![CDATA[nesworks]]></category>
		<category><![CDATA[toho]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6816</guid>

					<description><![CDATA[For some reason there&#8217;s been a lot of Youtube videos lately that fit our eclectic purview, so here&#8217;s a code-heavy dive into infamous NES disasterpiece Dr. Jekyll and Mr. Hyde. It&#8217;s 19 minutes long, and is even geekier than is usual for us, going into a disassembly of the game&#8217;s machine code in its quest &#8230; <a href="https://setsideb.com/behind-the-code-the-problems-with-dr-jekyll-and-mr-hyde/" class="more-link">Continue reading<span class="screen-reader-text"> "Behind the Code: Dr Jekyll and Mr. Hyde"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>For some reason there&#8217;s been a lot of Youtube videos lately that fit our eclectic purview, so here&#8217;s <a href="https://www.youtube.com/watch?v=Gkl3Av55Yaw">a code-heavy dive into infamous NES disasterpiece Dr. Jekyll and Mr. Hyde</a>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Reprogramming Dr. Jekyll and Mr. Hyde (NES) - Behind the Code" width="840" height="473" src="https://www.youtube.com/embed/Gkl3Av55Yaw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>It&#8217;s 19 minutes long, and is even geekier than is usual for us, going into a disassembly of the game&#8217;s machine code in its quest to make the game marginally less awful.</p>



<p>As long as we&#8217;re on the topic, here&#8217;s <a href="https://www.youtube.com/watch?v=MxhxBbeH5-w">Jeremy Parish&#8217;s NES Works episode on Dr. J &amp; Hyde</a>, which is also 19 minutes, and also covers the somewhat better (but not hugely so) game Amagon:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="’Roidvania: Dr. Jekyll and Mr. Hyde &amp; Amagon  | NES Works 121" width="840" height="473" src="https://www.youtube.com/embed/MxhxBbeH5-w?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>While we&#8217;re on the subject, did you know that Jekyll &amp; Hyde has a secret ending? Both endings are shown <a href="https://www.youtube.com/watch?v=PdrFR76Bs6E">here</a> (4 minutes):</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Dr. Jekyll and Mr. Hyde (NES) both endings" width="840" height="630" src="https://www.youtube.com/embed/PdrFR76Bs6E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>The &#8220;bad&#8221; ending is the normal one, and shorter, but is arguably a happier conclusion to the story. To get it, all you have to do is get to the end of Stage 6 with Jekyll. That&#8217;s all.</p>



<p>To get the other ending, get to Stage 6 with Jekyll, then turn into Hyde and get to the end of his version of the stage. Usually, if Hyde gets as far into his level as Jekyll has gotten into his, he&#8217;s struck by lightning and dies. But in this level he&#8217;ll be allowed to reach the end of his version of the level for some reason, where there&#8217;s a boss! Beat it, and when you return to Jekyll&#8217;s world the enemies will be gone, and he&#8217;ll be free to finish the level without harassment. However, ending events will be different&#8230;.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SjASMplus</title>
		<link>https://setsideb.com/sjasmplus/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Tue, 19 Dec 2023 15:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[assembler]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[sjasmplus]]></category>
		<category><![CDATA[z80]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6568</guid>

					<description><![CDATA[No image this time. There&#8217;s nothing to take a screenshot of! SjASMplus is, simply, a cross-platform assembler targeting the Z80 platform, the processor that runs many classic arcade games. (I refuse to say &#8220;powers,&#8221; that&#8217;s not what that word means!) If you have interest in writing new games for old arcade platforms, it&#8217;s something you&#8217;ll &#8230; <a href="https://setsideb.com/sjasmplus/" class="more-link">Continue reading<span class="screen-reader-text"> "SjASMplus"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>No image this time. There&#8217;s nothing to take a screenshot of! SjASMplus is, simply, a cross-platform assembler targeting the Z80 platform, the processor that runs many classic arcade games. (I <em>refuse</em> to say &#8220;powers,&#8221; that&#8217;s not what that word means!) If you have interest in writing new games for old arcade platforms, it&#8217;s something you&#8217;ll need.</p>



<p>It&#8217;s the holidays still, and I&#8217;m trying to unwind a bit. I&#8217;m failing, but at least the effort is there: the effort to reduce effort. Maybe someday.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Godot 4.2 Released</title>
		<link>https://setsideb.com/godot-4-2-released/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Fri, 01 Dec 2023 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[4.2]]></category>
		<category><![CDATA[godot]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6424</guid>

					<description><![CDATA[Events often resist efforts to package them up and stamp a Convenient Narrative on them, but it&#8217;s really tempting to me to say the history of the internet in this era is that of many people rejecting the hegemony of large corporations and doing things for themselves. Social media has seen the rejection of Twitter, &#8230; <a href="https://setsideb.com/godot-4-2-released/" class="more-link">Continue reading<span class="screen-reader-text"> "Godot 4.2 Released"</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-1024x576.webp" alt="" class="wp-image-6426" srcset="https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-1024x576.webp 1024w, https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-300x169.webp 300w, https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-768x432.webp 768w, https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-1536x864.webp 1536w, https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style-1200x675.webp 1200w, https://setsideb.com/wp-content/uploads/2023/11/godot-4-2-arrives-in-style.webp 1920w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p>Events often resist efforts to package them up and stamp a Convenient Narrative on them, but it&#8217;s really tempting to me to say the history of the internet in this era is that of many people rejecting the hegemony of large corporations and doing things for themselves.</p>



<p>Social media has seen the rejection of Twitter, for reasons I really don&#8217;t want to hash out again here, and while some ran directly to Threads or Bluesky, a good number realized it was eventually just going to happen all over again, and that helped to increase the update of open source, federated work-alike Mastodon.</p>



<p>Another piece of this narrative vase that we might be able to fit into place, with creative thinking and a whole lot of glue, is the downfall of Unity and how it helped the effort to create the free open source gamedev replacement Godot. And lo, after a fairly recent release of 4.0, yesterday they already released 4.2. <a href="https://godotengine.org/article/godot-4-2-arrives-in-style/">The changelog is here</a>. Here is <a href="https://www.youtube.com/watch?v=wHXJPaj6988">GDQuest&#8217;s rundown of the changes</a> (22 minutes), and here are <a href="https://www.youtube.com/watch?v=ccK3YtmBFAA">Lukky&#8217;s five favorite new features</a> (3m), which are:</p>



<ul class="wp-block-list">
<li>FSR 2.0 support (upscaling higher resolution output from lower resolution rendering)</li>



<li>Color-coding of folders in the file hierarchy within Godot&#8217;s UI</li>



<li>The ability to &#8220;bake 2D navmeshes&#8221;</li>



<li>When resizing 3D objects, the UI no longer resizes symmetrically around the object&#8217;s origin by default, but instead only the side you&#8217;re changing is modified</li>



<li>And, within the code editor, you can now create special comments to define a <em>code region</em>, which can be independently collapsed to reduce clutter, and expanded when you need access to its contents. And the Ctrl-K Comment Out feature works better now.</li>
</ul>



<p>To get back to talking about software philosophy&#8230;. There are unique problems with using fully open tools to create games. Console manufacturer devtools are still locked in a mode where the maker hands you proprietary libraries, which they are unwilling to make freely available because of their economic desire to preserve trade secrets and control their platform. Most developers get around this by going through a third party, who has independently created a system of working between the open development framework and the publisher&#8217;s libraries, and then licenses it to a studio so they can get their project working on consumer hardware.</p>



<p>Godot is subject to this limitation, with 4.2 being no exception. But there is a sense, with it, that it&#8217;s the brightest hope for free and open game development going right now. They don&#8217;t ask for <em>any</em> license fees, they don&#8217;t try to count how many installs you have and they don&#8217;t track user behavior. But because they don&#8217;t try to claw in income through direct means, fair or foul, they must survive off of contributions. If you find Godot useful to your work, please consider using <a href="https://fund.godotengine.org/">their donation link</a> and signing up for an <em>entirely voluntary</em> plan.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pixelfont</title>
		<link>https://setsideb.com/pixelfont/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 11 Nov 2023 15:00:00 +0000</pubDate>
				<category><![CDATA[development]]></category>
		<category><![CDATA[indies]]></category>
		<category><![CDATA[niche]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[pixelfont]]></category>
		<category><![CDATA[truetype]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=6241</guid>

					<description><![CDATA[Pixelfont is a neat web tool that will take an image you provide, laid out in the proper format (which you have some control over, like character width and height) and will turn it into a pixel TrueType font for you to use! The gamedev applications of this should be obvious. This isn&#8217;t the first &#8230; <a href="https://setsideb.com/pixelfont/" class="more-link">Continue reading<span class="screen-reader-text"> "Pixelfont"</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="452" src="https://setsideb.com/wp-content/uploads/2023/11/image-2-1024x452.png" alt="" class="wp-image-6242" srcset="https://setsideb.com/wp-content/uploads/2023/11/image-2-1024x452.png 1024w, https://setsideb.com/wp-content/uploads/2023/11/image-2-300x132.png 300w, https://setsideb.com/wp-content/uploads/2023/11/image-2-768x339.png 768w, https://setsideb.com/wp-content/uploads/2023/11/image-2-1536x678.png 1536w, https://setsideb.com/wp-content/uploads/2023/11/image-2-2048x904.png 2048w, https://setsideb.com/wp-content/uploads/2023/11/image-2-1200x530.png 1200w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p>Pixelfont is a neat web tool that will take an image you provide, laid out in the proper format (which you have some control over, like character width and height) and will turn it into a pixel TrueType font for you to use! The gamedev applications of this should be obvious.</p>



<p>This isn&#8217;t the first free online font-building tool of this nature. The classic in the field is <a href="https://fontstruct.com/">Fontstruct</a>, which can also produce pixels that aren&#8217;t square, and can even extend outside of their cells, but also shows ads (although unobtrusive ones) and doesn&#8217;t let you import an image. Still, both are rather of use, or at least are fun to play with!</p>



<p><a href="https://yal.cc/r/20/pixelfont/">Pixelfont</a> &#8211; <a href="https://fontstruct.com/">Fontstruct</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New Super Mario Bros. Wii&#8217;s Exception Handler Code</title>
		<link>https://setsideb.com/new-super-mario-bros-wiis-exception-handler-code/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Mon, 30 Oct 2023 14:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mario]]></category>
		<category><![CDATA[newsupermariobroswii]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[trace]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=5824</guid>

					<description><![CDATA[Codes are largely a forgotten element of video gaming. They started out as debug features that didn&#8217;t get removed before release, then they became easter eggs to reveal to favored players, ways to dispense unlockables, ways to provide extra difficulty balancing, and even publicity tools, before the age of DLC gave developers a way to &#8230; <a href="https://setsideb.com/new-super-mario-bros-wiis-exception-handler-code/" class="more-link">Continue reading<span class="screen-reader-text"> "New Super Mario Bros. Wii&#8217;s Exception Handler Code"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Codes are largely a forgotten element of video gaming. They started out as debug features that didn&#8217;t get removed before release, then they became easter eggs to reveal to favored players, ways to dispense unlockables, ways to provide extra difficulty balancing, and even publicity tools, before the age of DLC gave developers a way to <em>profit</em> off of bonus features. Why have players enter up-up-down-down-left-right-left-right when you could just sell them play advantages outright. I&#8217;m simplifying the situation a bit, sure, but I&#8217;m not simplifying by <em>much</em>.</p>



<p>Codes still exist, once in a while, but it seems like they&#8217;ve gone back to being development aids. One of them crept into New Super Mario Bros. Wii, but only becomes usable if the game crashes. The code is: Home, Minus, Plus, Minus, Plus, 1, 2, 1, 2, A. It brings up a scrollable register dump and stack trace, and other assorted information. It doesn&#8217;t let you continue playing. For players, it&#8217;s just a curiosity, but it&#8217;s a thing that is interesting.</p>



<p>This video shows it off:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="New Super Mario Bros. Wii Exception Handler!" width="840" height="473" src="https://www.youtube.com/embed/fnRdSmbOvkw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p><a href="https://www.youtube.com/watch?v=fnRdSmbOvkw">New Super Mario Bros. Wii Exception Handler</a> (Youtube, two minutes)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Forum Post About the Dithering in Return of the Obra Dinn</title>
		<link>https://setsideb.com/a-forum-post-about-the-dithering-in-return-of-the-obra-dinn/</link>
					<comments>https://setsideb.com/a-forum-post-about-the-dithering-in-return-of-the-obra-dinn/#comments</comments>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 07 Oct 2023 14:00:00 +0000</pubDate>
				<category><![CDATA[indies]]></category>
		<category><![CDATA[book2]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[dithering]]></category>
		<category><![CDATA[ditherpunk]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[lucaspope]]></category>
		<category><![CDATA[returnoftheobradinn]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=5672</guid>

					<description><![CDATA[Dithering is a method (actually, several methods) of simulating more shades or colors than the hardware is capable of, by producing an array of dots that generally match the colors. One of the qualities of the classic, original Macintosh platform, which used a black-and-white monitor, was the way that it used dithering to give the &#8230; <a href="https://setsideb.com/a-forum-post-about-the-dithering-in-return-of-the-obra-dinn/" class="more-link">Continue reading<span class="screen-reader-text"> "A Forum Post About the Dithering in Return of the Obra Dinn"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Dithering is a method (actually, several methods) of simulating more shades or colors than the hardware is capable of, by producing an array of dots that generally match the colors. One of the qualities of the classic, original Macintosh platform, which used a black-and-white monitor, was the way that it used dithering to give the impression of grayscale shading.</p>



<p>Nowadays most display devices are capable of, in Mac terminology, &#8220;millions of colors.&#8221; Macs are far from the only devices to have used dithering, but it&#8217;s a quality particularly distinctive to them.</p>



<p>There is an excellent article, <a href="https://surma.dev/things/ditherpunk/">here</a>, written for developers but clear enough that many non-coders can understand it, that explains how its done, and demonstrates many styles of dithering. Interested readers may also enjoy <a href="https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html">this article</a>, also on dithering. These pieces, all by themselves, are enough reason to make this post, but they&#8217;re not really the things that I want to draw attention to today.</p>



<p>The indie hit Return of the Obra Dinn, from five years ago, is notable because it&#8217;s a 3D game, but it uses black-and-white dithering, applied in real time, to do its shading as an aesthetic choice, and the effect is striking. Not just for the dithering, but because the dithering is <em>stable</em>; its dots don&#8217;t jump around in a randomish manner, but tends to look like an applied texture, even though it&#8217;s generated by an algorithm. You can see for yourself in this trailer:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Return of the Obra Dinn - Available Now" width="840" height="473" src="https://www.youtube.com/embed/ILolesm8kFY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p>The cool thing is (and I think it&#8217;s linked from one of the articles I presented above), the creator of Return of the Obra Dinn, Lucas Pope, wrote about dithering in a post on TIGsource while the game was in development, and he explains the experiments he ran to get the shading to work and be stable. I recommend graphics programmers to it without hesitation, and others might find it interesting to. I know I do! <a href="https://forums.tigsource.com/index.php?topic=40832.msg1363742#msg1363742">Have a look!</a></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="440" src="https://setsideb.com/wp-content/uploads/2023/10/Dither2-Original.gif" alt="" class="wp-image-5674"/><figcaption class="wp-element-caption">One of Lucas Pope&#8217;s dithering experiments</figcaption></figure>



<p><a href="https://forums.tigsource.com/index.php?topic=40832.msg1363742#msg1363742">Forum post describing dither experiments done for Return of the Obra Dinn</a> (TIGsource)</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://setsideb.com/a-forum-post-about-the-dithering-in-return-of-the-obra-dinn/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
