<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://humbird0.com/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Humbird0's Recent Updates</title>
	<updated>2021-10-29T00:00:00Z</updated>
	<id>humbird0.com/recent-updates.xml</id>

	<subtitle>Recent updates to Humbird0's projects</subtitle>
	<link rel="self" href="https://humbird0.com/recent-updates.xml" />
	<link rel="alternate" href="https://humbird0.com/makes/show.htm" />
	<icon>https://humbird0.com/apple-touch-icon.png</icon>
	<logo>https://humbird0.com/css/feed_logo.png</logo>
	<author>
		<name>humbird0</name>
	</author>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T15:17:37Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T15:17:37Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_finished has_by_humbird0 has_shantae has_sprites has_animation has_nude has_nsfw&quot;&gt;
				&lt;p&gt;
					... and since someone requested it, I also made a naked version. All I did was switch the red parts to skin tones, and then adjust the results by hand to remove the &quot;parachute pants&quot;
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_nude_gba_4x_16x9.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_nude_gba_4x_16x9.gif&quot; loading=&quot;lazy&quot; alt=&quot;shantae dance nude gba 4x 16x9&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_finished has_by_humbird0 has_shantae has_sprites has_animation has_nude has_nsfw">
				<p>
					... and since someone requested it, I also made a naked version. All I did was switch the red parts to skin tones, and then adjust the results by hand to remove the "parachute pants"
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_nude_gba_4x_16x9.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_nude_gba_4x_16x9.gif" loading="lazy" alt="shantae dance nude gba 4x 16x9" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:18:04Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:18:04Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					My overall conclusions are that you should draw sprite outlines by hand (but you can trace). You can optionally add anti-aliasing to the outline by hand as well. Then you can add shading using Photoshop at double size (nearest neighbor) and then afterwards shrink that back down using bilinear scaling. At the end you could adjust a few pixels here and there by hand if needed, but in this case I didn&apos;t even need to!
				&lt;/p&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					My overall conclusions are that you should draw sprite outlines by hand (but you can trace). You can optionally add anti-aliasing to the outline by hand as well. Then you can add shading using Photoshop at double size (nearest neighbor) and then afterwards shrink that back down using bilinear scaling. At the end you could adjust a few pixels here and there by hand if needed, but in this case I didn't even need to!
				</p>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:16:20Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:16:20Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					How does this compare to the actual Shantae games?&lt;br /&gt;&lt;br /&gt;I think the difference comes down to art skill more than technical methods at this point. For one thing I forgot to draw her hair bangs. But the original sprite also has me beat with additional details, and those details do look sharper. But I&apos;m pretty satisfied with what I managed to achieve.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/shantae-dance-1-4x.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/shantae-dance-1-4x.gif&quot; loading=&quot;lazy&quot; alt=&quot;shantae dance 1 4x&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					How does this compare to the actual Shantae games?<br /><br />I think the difference comes down to art skill more than technical methods at this point. For one thing I forgot to draw her hair bangs. But the original sprite also has me beat with additional details, and those details do look sharper. But I'm pretty satisfied with what I managed to achieve.
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/readme/shantae-dance-1-4x.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/readme/shantae-dance-1-4x.gif" loading="lazy" alt="shantae dance 1 4x" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:13:36Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:13:36Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Unlike my previous anti-aliasing experiments which blur the entire picture with bilinear scaling, this approach only really blurs the shading, because the double-size pixels of the outline end up scaling back down as-is. I consider this a successful result.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-double-size-with-shading.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-double-size-with-shading.png&quot; loading=&quot;lazy&quot; alt=&quot;shading double size with shading&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-shading.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-shading.png&quot; loading=&quot;lazy&quot; alt=&quot;shading sprite size with shading&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-reduced-palette.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-reduced-palette.png&quot; loading=&quot;lazy&quot; alt=&quot;shading sprite size with reduced palette&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Unlike my previous anti-aliasing experiments which blur the entire picture with bilinear scaling, this approach only really blurs the shading, because the double-size pixels of the outline end up scaling back down as-is. I consider this a successful result.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-double-size-with-shading.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-double-size-with-shading.png" loading="lazy" alt="shading double size with shading" />
				</a>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-shading.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-shading.png" loading="lazy" alt="shading sprite size with shading" />
				</a>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-reduced-palette.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/shading-sprite-size-with-reduced-palette.png" loading="lazy" alt="shading sprite size with reduced palette" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:11:06Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:11:06Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_experiments has_sprites has_photoshop has_download&quot;&gt;
				&lt;p&gt;
					The basic idea ended up being to double the sprite pixels (nearest neighbor), then do traditional photoshop shading, add colors using gradient maps, then shrink the result back down (bilinear), and then finally apply the original gameboy advance palette to it. If you want all the details, you can look at [the PSD file](https://humbird0.com/makes/pictures/shantae_dance1/shantae_dance_gba_photoshop_shading.zip).
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/gba-test-layers.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/gba-test-layers.png&quot; loading=&quot;lazy&quot; alt=&quot;gba test layers&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_experiments has_sprites has_photoshop has_download">
				<p>
					The basic idea ended up being to double the sprite pixels (nearest neighbor), then do traditional photoshop shading, add colors using gradient maps, then shrink the result back down (bilinear), and then finally apply the original gameboy advance palette to it. If you want all the details, you can look at [the PSD file](https://humbird0.com/makes/pictures/shantae_dance1/shantae_dance_gba_photoshop_shading.zip).
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/gba-test-layers.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/gba-test-layers.png" loading="lazy" alt="gba test layers" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:07:10Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:07:10Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now let&apos;s see if I can turn this into a Gameboy Advance sprite.&lt;br /&gt;&lt;br /&gt;Before jumping into animation, I started with a bunch of tests to figure out what I wanted and how it could be done.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/test-renders-2x.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/test-renders-2x.png&quot; loading=&quot;lazy&quot; alt=&quot;test renders&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now let's see if I can turn this into a Gameboy Advance sprite.<br /><br />Before jumping into animation, I started with a bunch of tests to figure out what I wanted and how it could be done.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/test-renders-2x.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/test-renders-2x.png" loading="lazy" alt="test renders" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-23T14:03:57Z:shantae-dance1-gbc</id>
		<updated>2026-07-23T14:03:57Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_animation has_sprites has_shantae has_finished has_by_humbird0 has_sexyoutfit has_nsfw has_sexypose&quot;&gt;
				&lt;p&gt;
					I turned my custom Shantae dance into a Gameboy Advance sprite.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gba_4x.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gba_4x.gif&quot; loading=&quot;lazy&quot; alt=&quot;shantae dance gba 4x&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_animation has_sprites has_shantae has_finished has_by_humbird0 has_sexyoutfit has_nsfw has_sexypose">
				<p>
					I turned my custom Shantae dance into a Gameboy Advance sprite.
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gba_4x.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gba_4x.gif" loading="lazy" alt="shantae dance gba 4x" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:10:40Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:10:40Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					My &quot;reverse engineering&quot; technique was kind of improvised on the spot. But it worked surprisingly well! It&apos;s cool that it successfully preserved the original proportions and level of detail.&lt;br /&gt;&lt;br /&gt;In hindsight, using actual tracing paper probably would have made the animation easier, but I wanted to do this as cheaply as possible. It was just an experiment.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg&quot; loading=&quot;lazy&quot; alt=&quot;reverse engineering a sprite into a sketch 2&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					My "reverse engineering" technique was kind of improvised on the spot. But it worked surprisingly well! It's cool that it successfully preserved the original proportions and level of detail.<br /><br />In hindsight, using actual tracing paper probably would have made the animation easier, but I wanted to do this as cheaply as possible. It was just an experiment.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg" loading="lazy" alt="reverse engineering a sprite into a sketch 2" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:08:45Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:08:45Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					... compared to the dances in the original game.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif&quot; loading=&quot;lazy&quot; alt=&quot;tumblr inline p7z7qiZFWu1ri065t 100 3x&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					... compared to the dances in the original game.
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif" loading="lazy" alt="tumblr inline p7z7qiZFWu1ri065t 100 3x" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:08:11Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:08:11Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					So here&apos;s my new Shantae dance...
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif&quot; loading=&quot;lazy&quot; alt=&quot;shantae dance gbc 4x 16x9&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					So here's my new Shantae dance...
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif" loading="lazy" alt="shantae dance gbc 4x 16x9" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:07:32Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:07:32Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Alright, let&apos;s shrink it in half and trace over it in Aseprite.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/tracing_in_aseprite.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/tracing_in_aseprite.png&quot; loading=&quot;lazy&quot; alt=&quot;tracing in aseprite&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Alright, let's shrink it in half and trace over it in Aseprite.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/tracing_in_aseprite.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/tracing_in_aseprite.png" loading="lazy" alt="tracing in aseprite" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:06:54Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:06:54Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Ooh! This animation is gonna come out *nice!*
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/sketch_frames_with_tweening.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/sketch_frames_with_tweening.gif&quot; loading=&quot;lazy&quot; alt=&quot;sketch frames with tweening&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Ooh! This animation is gonna come out *nice!*
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/readme/sketch_frames_with_tweening.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/readme/sketch_frames_with_tweening.gif" loading="lazy" alt="sketch frames with tweening" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:05:48Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:05:48Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					This old version of [Pencil2D](https://www.pencil2d.org/) is slightly janky, but I think I can make this work.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2d_GUI.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2d_GUI.png&quot; loading=&quot;lazy&quot; alt=&quot;pencil2d GUI&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					This old version of [Pencil2D](https://www.pencil2d.org/) is slightly janky, but I think I can make this work.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2d_GUI.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2d_GUI.png" loading="lazy" alt="pencil2d GUI" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:04:46Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:04:46Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now that I have my keyframes, let&apos;s scale these down to double the size of the gameboy sprite, and digitally add some in-between frames. Maybe my Linux software store has something I can use?
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2D_linux_software.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2D_linux_software.png&quot; loading=&quot;lazy&quot; alt=&quot;pencil2D linux software&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now that I have my keyframes, let's scale these down to double the size of the gameboy sprite, and digitally add some in-between frames. Maybe my Linux software store has something I can use?
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2D_linux_software.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/pencil2D_linux_software.png" loading="lazy" alt="pencil2D linux software" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:03:56Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:03:56Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					I&apos;ll make the arch of her back follow along this curve so that she snakes upward.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_making_animation.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_making_animation.jpg&quot; loading=&quot;lazy&quot; alt=&quot;sketches making animation&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_animation_frames.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_animation_frames.jpg&quot; loading=&quot;lazy&quot; alt=&quot;sketches animation frames&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					I'll make the arch of her back follow along this curve so that she snakes upward.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_making_animation.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_making_animation.jpg" loading="lazy" alt="sketches making animation" />
				</a>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_animation_frames.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/sketches_animation_frames.jpg" loading="lazy" alt="sketches animation frames" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:02:48Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:02:48Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_nude has_nsfw&quot;&gt;
				&lt;p&gt;
					... so let&apos;s add some Yoga to it.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/naked_yoga.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/naked_yoga.jpg&quot; loading=&quot;lazy&quot; alt=&quot;naked yoga&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_nude has_nsfw">
				<p>
					... so let's add some Yoga to it.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/naked_yoga.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/naked_yoga.jpg" loading="lazy" alt="naked yoga" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T10:00:59Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T10:00:59Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_sexypose has_sexyoutfit has_nsfw&quot;&gt;
				&lt;p&gt;
					But I don’t want to just remake the game’s dances. I wanna make something new and super sexy. This “2 Phut Hon” dance might be fun, but aside from some epic boobage, the pose itself just kinda bounces in place. I think Shantae should have some flow in her movements…
				&lt;/p&gt;
				&lt;video muted=&quot;muted&quot; controls=&quot;controls&quot; loop=&quot;loop&quot; src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/2_phut_hon_loop.mp4&quot; loading=&quot;lazy&quot; /&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_sexypose has_sexyoutfit has_nsfw">
				<p>
					But I don’t want to just remake the game’s dances. I wanna make something new and super sexy. This “2 Phut Hon” dance might be fun, but aside from some epic boobage, the pose itself just kinda bounces in place. I think Shantae should have some flow in her movements…
				</p>
				<video muted="muted" controls="controls" loop="loop" src="https://humbird0.com/makes/pictures/shantae_dance1/readme/2_phut_hon_loop.mp4" loading="lazy" />
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T09:59:56Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T09:59:56Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					A sprite animation? ... from paper sketches?? [It&apos;s more likely than you think.](https://humbird0.com/makes/pictures/shantae_dance1/readme/strafefox_making_of_aladdin_cel_animation_in_video_games.mp4) ([YouTube](https://www.youtube.com/watch?v=kOnUITJqRQQ)) And in this case WayForward already did the hard work of figuring out how to simplify the details, so I just need to reverse-engineer their sprite into a sketch of equivalent simplicity and proportions.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_1.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_1.jpg&quot; loading=&quot;lazy&quot; alt=&quot;reverse engineering a sprite into a sketch 1&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg&quot; loading=&quot;lazy&quot; alt=&quot;A sketch with the same proportions and level of detail as the sprite&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					A sprite animation? ... from paper sketches?? [It's more likely than you think.](https://humbird0.com/makes/pictures/shantae_dance1/readme/strafefox_making_of_aladdin_cel_animation_in_video_games.mp4) ([YouTube](https://www.youtube.com/watch?v=kOnUITJqRQQ)) And in this case WayForward already did the hard work of figuring out how to simplify the details, so I just need to reverse-engineer their sprite into a sketch of equivalent simplicity and proportions.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_1.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_1.jpg" loading="lazy" alt="reverse engineering a sprite into a sketch 1" />
				</a>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/reverse_engineering_a_sprite_into_a_sketch_2.jpg" loading="lazy" alt="A sketch with the same proportions and level of detail as the sprite" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T09:59:43Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T09:59:43Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					With this new super-power, I will once again chase my dream of achieving Shantae-quality sprite animations.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif&quot; loading=&quot;lazy&quot; alt=&quot;tumblr inline p7z7qiZFWu1ri065t 100 3x&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					With this new super-power, I will once again chase my dream of achieving Shantae-quality sprite animations.
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/readme/tumblr_inline_p7z7qiZFWu1ri065t_100_3x.gif" loading="lazy" alt="tumblr inline p7z7qiZFWu1ri065t 100 3x" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-07-21T09:55:17Z:shantae-dance1-gbc</id>
		<updated>2026-07-21T09:55:17Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					I got a new toy! This lightbox should let me play around with some traditional animation on paper.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/lightbox.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/pictures/shantae_dance1/readme/lightbox.png&quot; loading=&quot;lazy&quot; alt=&quot;lightbox&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					I got a new toy! This lightbox should let me play around with some traditional animation on paper.
				</p>
				<a href="https://humbird0.com/makes/pictures/shantae_dance1/readme/lightbox.png">
					<img src="https://humbird0.com/makes/pictures/shantae_dance1/readme/lightbox.png" loading="lazy" alt="lightbox" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Shantae Dance1 Gbc</title>
		<id>tag:humbird0.com,2026-06-19T09:17:37Z:shantae-dance1-gbc</id>
		<updated>2026-06-19T09:17:37Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/pictures/shantae_dance1/content.htm" />
		<category term="shantae-dance1-gbc" />
		<summary type="html">
			&lt;div class=&quot;has_shantae has_sprites has_animation has_finished has_sexyoutfit has_nsfw has_sexypose has_by_humbird0&quot;&gt;
				&lt;p&gt;
					I created a new sexy dance for Gameboy Shantae.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif&quot; loading=&quot;lazy&quot; alt=&quot;shantae dance gbc 4x 16x9&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_shantae has_sprites has_animation has_finished has_sexyoutfit has_nsfw has_sexypose has_by_humbird0">
				<p>
					I created a new sexy dance for Gameboy Shantae.
				</p>
				<a href="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif">
					<img src="https://humbird0.com//makes/pictures/shantae_dance1/shantae_dance_gbc_4x_16x9.gif" loading="lazy" alt="shantae dance gbc 4x 16x9" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:30:59Z:creating-sprites</id>
		<updated>2026-06-05T10:30:59Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Incidentally, &lt;a href=&quot;https://inkbunny.net/servedasiS&quot;&gt;RockTheBull&apos;s&lt;/a&gt; Rouge sprite is the same height as my Risky Sprite. It looks like I still have a ways to go before I can create boob-physics like *this!*
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rockthebull_rouge_original.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rockthebull_rouge_original.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge original&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Incidentally, <a href="https://inkbunny.net/servedasiS">RockTheBull's</a> Rouge sprite is the same height as my Risky Sprite. It looks like I still have a ways to go before I can create boob-physics like *this!*
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/rockthebull_rouge_original.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/rockthebull_rouge_original.gif" loading="lazy" alt="rockthebull rouge original" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:30:31Z:creating-sprites</id>
		<updated>2026-06-05T10:30:31Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					If I have trouble figuring out the anti-aliasing, my old &lt;a href=&quot;https://humbird0.com/makes/tutorials/create_sprites/content.htm#anti-aliasing-and-animation&quot;&gt;pixel-counting technique&lt;/a&gt; might actually be the better approach, because I can make manual adjustments right away while I&apos;m tracing out the low-resolution version of the sprite.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/aseprite_antialiasing_animation_thumb.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/aseprite_antialiasing_animation_thumb.png&quot; loading=&quot;lazy&quot; alt=&quot;aseprite antialiasing animation thumb&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					If I have trouble figuring out the anti-aliasing, my old <a href="https://humbird0.com/makes/tutorials/create_sprites/content.htm#anti-aliasing-and-animation">pixel-counting technique</a> might actually be the better approach, because I can make manual adjustments right away while I'm tracing out the low-resolution version of the sprite.
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/aseprite_antialiasing_animation_thumb.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/aseprite_antialiasing_animation_thumb.png" loading="lazy" alt="aseprite antialiasing animation thumb" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:30:23Z:creating-sprites</id>
		<updated>2026-06-05T10:30:23Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					So what are my conclusions of this experiment?&lt;br /&gt;&lt;br /&gt;It partly works, but you still have to do a lot of manual clean-up afterwards to fix the things that it gets wrong.&lt;br /&gt;&lt;br /&gt;I probably could have just animated on a 2x2 grid instead of a 3x3 grid. With RockTheBull&apos;s Rouge sprite I was able to scale it up afterwards to 6x6, and then down to 3x3, and then shrink it in half with bilinear anti-aliasing. Animating the in-between frames on a 2x2 grid would have taken a little less time.&lt;br /&gt;&lt;br /&gt;This process is NOT a time-saver! Just the opposite. It is the sprite-animation equivalent of doing long-division. You do eventually get useful results, but you&apos;re basically brute-forcing it. And in the end you still end up doing a bunch of manual anti-aliasing and adjustments by hand to clean up the messy results.&lt;br /&gt;&lt;br /&gt;So you might as well just draw the animation directly at the native size and skip of all this scaling nonsense.
				&lt;/p&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					So what are my conclusions of this experiment?<br /><br />It partly works, but you still have to do a lot of manual clean-up afterwards to fix the things that it gets wrong.<br /><br />I probably could have just animated on a 2x2 grid instead of a 3x3 grid. With RockTheBull's Rouge sprite I was able to scale it up afterwards to 6x6, and then down to 3x3, and then shrink it in half with bilinear anti-aliasing. Animating the in-between frames on a 2x2 grid would have taken a little less time.<br /><br />This process is NOT a time-saver! Just the opposite. It is the sprite-animation equivalent of doing long-division. You do eventually get useful results, but you're basically brute-forcing it. And in the end you still end up doing a bunch of manual anti-aliasing and adjustments by hand to clean up the messy results.<br /><br />So you might as well just draw the animation directly at the native size and skip of all this scaling nonsense.
				</p>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:30:02Z:creating-sprites</id>
		<updated>2026-06-05T10:30:02Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Of course the later Shantae games became even better at it, so there is no shortage of inspiration!
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/pirates_curse_risky.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/pirates_curse_risky.gif&quot; loading=&quot;lazy&quot; alt=&quot;pirates curse risky&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Of course the later Shantae games became even better at it, so there is no shortage of inspiration!
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/pirates_curse_risky.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/pirates_curse_risky.gif" loading="lazy" alt="pirates curse risky" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:29:49Z:creating-sprites</id>
		<updated>2026-06-05T10:29:49Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					And this is what Risky Boots originally looked like in the game. I think I actually managed to out-do this sprite! ... But the effort it took was ridiculous!
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot; loading=&quot;lazy&quot; alt=&quot;risky boots&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					And this is what Risky Boots originally looked like in the game. I think I actually managed to out-do this sprite! ... But the effort it took was ridiculous!
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png" loading="lazy" alt="risky boots" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:29:35Z:creating-sprites</id>
		<updated>2026-06-05T10:29:35Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Here is the Shantae game&apos;s Rottytops animation to compare the quality. I still think this animation is way more clever.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif&quot; loading=&quot;lazy&quot; alt=&quot;rottytops riskys revenge&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Here is the Shantae game's Rottytops animation to compare the quality. I still think this animation is way more clever.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif" loading="lazy" alt="rottytops riskys revenge" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:29:20Z:creating-sprites</id>
		<updated>2026-06-05T10:29:20Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Here is the finished sprite, looking as good as I can make it. I spent an hour and a half manually fixing every problem I could find.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-7.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-7.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite anim 7&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Here is the finished sprite, looking as good as I can make it. I spent an hour and a half manually fixing every problem I could find.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-7.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-7.gif" loading="lazy" alt="risky sprite anim 7" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:28:55Z:creating-sprites</id>
		<updated>2026-06-05T10:28:55Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Here is the animation at the sprite&apos;s intended size. The results aren&apos;t quite as nice as I had hoped. A few parts have some unnecessary blurring. Some highlights flicker in and out, and sometimes some grey pixels get used in the purple areas as an in-between shade.&lt;br /&gt;&lt;br /&gt;But let&apos;s clean this up and see how good it can look.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-6.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-6.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite anim 6&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Here is the animation at the sprite's intended size. The results aren't quite as nice as I had hoped. A few parts have some unnecessary blurring. Some highlights flicker in and out, and sometimes some grey pixels get used in the purple areas as an in-between shade.<br /><br />But let's clean this up and see how good it can look.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-6.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-6.gif" loading="lazy" alt="risky sprite anim 6" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:28:47Z:creating-sprites</id>
		<updated>2026-06-05T10:28:47Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					At triple size, the interpolated animation looks like this.&lt;br /&gt;&lt;br /&gt;Now let&apos;s scale to down by 1/3 with bilinear scaling, and force it to use the same color palette. 
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-5.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-5.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite anim 5&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					At triple size, the interpolated animation looks like this.<br /><br />Now let's scale to down by 1/3 with bilinear scaling, and force it to use the same color palette. 
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-5.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky-sprite-anim-5.gif" loading="lazy" alt="risky sprite anim 5" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:28:36Z:creating-sprites</id>
		<updated>2026-06-05T10:28:36Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Four... hours! It took 4 goddamn hours to do all this tweening by hand! Let&apos;s hope the results are halfway decent.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_full_render_aseprite_tween_anim.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_full_render_aseprite_tween_anim.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky full render aseprite tween anim&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Four... hours! It took 4 goddamn hours to do all this tweening by hand! Let's hope the results are halfway decent.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_full_render_aseprite_tween_anim.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_full_render_aseprite_tween_anim.gif" loading="lazy" alt="risky full render aseprite tween anim" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:28:23Z:creating-sprites</id>
		<updated>2026-06-05T10:28:23Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Okay, that only took about 2 hours. Now to do it again in *full color!* I&apos;ll start with the flat colors. It&apos;s tempting to try scaling down this flat version to see how the anti-aliasing looks with the outlines, but screw that, let&apos;s just go *ALL THE WAY!*
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_flat_color_aseprite_tween_anim.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_flat_color_aseprite_tween_anim.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky flat color aseprite tween anim&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Okay, that only took about 2 hours. Now to do it again in *full color!* I'll start with the flat colors. It's tempting to try scaling down this flat version to see how the anti-aliasing looks with the outlines, but screw that, let's just go *ALL THE WAY!*
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_flat_color_aseprite_tween_anim.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_flat_color_aseprite_tween_anim.gif" loading="lazy" alt="risky flat color aseprite tween anim" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:28:08Z:creating-sprites</id>
		<updated>2026-06-05T10:28:08Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now I&apos;ll triple the size and add frames with pixels moving between the grid lines.&lt;br /&gt;&lt;br /&gt;By the way, doing motion interpolation like this by hand is freakin&apos; tedious!
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_tween_anim.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_tween_anim.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky 1bit aseprite tween anim&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now I'll triple the size and add frames with pixels moving between the grid lines.<br /><br />By the way, doing motion interpolation like this by hand is freakin' tedious!
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_tween_anim.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_tween_anim.gif" loading="lazy" alt="risky 1bit aseprite tween anim" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:27:52Z:creating-sprites</id>
		<updated>2026-06-05T10:27:52Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now to animate this sucker. I&apos;ll start by animating the black and white lines first.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_anim.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_anim.gif&quot; loading=&quot;lazy&quot; alt=&quot;risky 1bit aseprite anim&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now to animate this sucker. I'll start by animating the black and white lines first.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_anim.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/risky_1bit_aseprite_anim.gif" loading="lazy" alt="risky 1bit aseprite anim" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:27:40Z:creating-sprites</id>
		<updated>2026-06-05T10:27:40Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Let&apos;s figure out how I want the sprite to look in the end. I&apos;ll give this single image the full rendering treatment.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-test-render.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-test-render.png&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite test render&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Let's figure out how I want the sprite to look in the end. I'll give this single image the full rendering treatment.
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-test-render.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-test-render.png" loading="lazy" alt="risky sprite test render" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:27:26Z:creating-sprites</id>
		<updated>2026-06-05T10:27:26Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now if I did this right, my new sprite should be the same height as the game&apos;s original sprite.&lt;br /&gt;&lt;br /&gt;... Apparently it&apos;s 2 pixels taller. Ah whatever. That&apos;s close enough for this test.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-2.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-2.png&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite 2&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot; loading=&quot;lazy&quot; alt=&quot;risky boots&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now if I did this right, my new sprite should be the same height as the game's original sprite.<br /><br />... Apparently it's 2 pixels taller. Ah whatever. That's close enough for this test.
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-2.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-2.png" loading="lazy" alt="risky sprite 2" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png" loading="lazy" alt="risky boots" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:26:31Z:creating-sprites</id>
		<updated>2026-06-05T10:26:31Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					From here I&apos;ll just use my usual sprite tracing technique. Scale the image to double the intended size. Ink the lines using Paint tool Sai&apos;s vector &apos;curve&apos; tool. Scale that image down by half. Use that as reference in Aseprite and trace over it with pixels.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_sai.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_sai.png&quot; loading=&quot;lazy&quot; alt=&quot;tracing in sai&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/inks_from_sai.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/inks_from_sai.png&quot; loading=&quot;lazy&quot; alt=&quot;inks from sai&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/ref_for_aseprite.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/ref_for_aseprite.png&quot; loading=&quot;lazy&quot; alt=&quot;ref for aseprite&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_aseprite.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_aseprite.png&quot; loading=&quot;lazy&quot; alt=&quot;tracing in aseprite&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					From here I'll just use my usual sprite tracing technique. Scale the image to double the intended size. Ink the lines using Paint tool Sai's vector 'curve' tool. Scale that image down by half. Use that as reference in Aseprite and trace over it with pixels.
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_sai.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_sai.png" loading="lazy" alt="tracing in sai" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/inks_from_sai.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/inks_from_sai.png" loading="lazy" alt="inks from sai" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/ref_for_aseprite.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/ref_for_aseprite.png" loading="lazy" alt="ref for aseprite" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_aseprite.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/tracing_in_aseprite.png" loading="lazy" alt="tracing in aseprite" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:26:16Z:creating-sprites</id>
		<updated>2026-06-05T10:26:16Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					I&apos;m not going to directly copy Rottytop&apos;s pose. I&apos;ll just take a little inspiration from it while doing something a little different.&lt;br /&gt;&lt;br /&gt;Also, I don&apos;t want to directly copy Risky&apos;s sprite. Let&apos;s try reverse-engineering it, and then creating a new sprite from there.&lt;br /&gt;&lt;br /&gt;How do you reverse-engineer a sprite? Let&apos;s try vaguely tracing over it with pencil, to get the general idea of the sprite, and then create a new sprite from that pencil sketch.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-reference-print-sheet.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-reference-print-sheet.png&quot; loading=&quot;lazy&quot; alt=&quot;risky sprite reference print sheet&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_tracings.jpg&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_tracings.jpg&quot; loading=&quot;lazy&quot; alt=&quot;risky tracings&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					I'm not going to directly copy Rottytop's pose. I'll just take a little inspiration from it while doing something a little different.<br /><br />Also, I don't want to directly copy Risky's sprite. Let's try reverse-engineering it, and then creating a new sprite from there.<br /><br />How do you reverse-engineer a sprite? Let's try vaguely tracing over it with pencil, to get the general idea of the sprite, and then create a new sprite from that pencil sketch.
				</p>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-reference-print-sheet.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky-sprite-reference-print-sheet.png" loading="lazy" alt="risky sprite reference print sheet" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_tracings.jpg">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_tracings.jpg" loading="lazy" alt="risky tracings" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:25:35Z:creating-sprites</id>
		<updated>2026-06-05T10:25:35Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div class=&quot;has_sprites has_animation has_experiments has_shantae has_riskyboots&quot;&gt;
				&lt;p&gt;
					To test out my 3x3 pixel grid anti-aliasing technique, let&apos;s see if I can achieve a Shantae style sprite animation.&lt;br /&gt;&lt;br /&gt;Maybe something similar to Rottytops, except with Risky Boots?
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif&quot; loading=&quot;lazy&quot; alt=&quot;rottytops riskys revenge&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png&quot; loading=&quot;lazy&quot; alt=&quot;risky boots&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots_official_artwork.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots_official_artwork.png&quot; loading=&quot;lazy&quot; alt=&quot;risky boots official artwork&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_sprites has_animation has_experiments has_shantae has_riskyboots">
				<p>
					To test out my 3x3 pixel grid anti-aliasing technique, let's see if I can achieve a Shantae style sprite animation.<br /><br />Maybe something similar to Rottytops, except with Risky Boots?
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_risky_test/content/rottytops_riskys_revenge.gif" loading="lazy" alt="rottytops riskys revenge" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots.png" loading="lazy" alt="risky boots" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots_official_artwork.png">
					<img src="https://humbird0.com/makes/experiments/3x3_risky_test/content/risky_boots_official_artwork.png" loading="lazy" alt="risky boots official artwork" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:24:57Z:creating-sprites</id>
		<updated>2026-06-05T10:24:57Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					It&apos;s not perfect. The white rim around her boobs keeps flickering, the edge of her wing turns into a blurry mess, and there is some anti-aliasing on the outside. But this does seem to achieve mostly good anti-aliasing. All it needs is a little clean-up here and there. But doing that is much easier than animating anti-aliasing completely from scratch.&lt;br /&gt;&lt;br /&gt;I guess the next thing to do is try to create a new Shantae animation, and see if I can make it look as good as the game.
				&lt;/p&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					It's not perfect. The white rim around her boobs keeps flickering, the edge of her wing turns into a blurry mess, and there is some anti-aliasing on the outside. But this does seem to achieve mostly good anti-aliasing. All it needs is a little clean-up here and there. But doing that is much easier than animating anti-aliasing completely from scratch.<br /><br />I guess the next thing to do is try to create a new Shantae animation, and see if I can make it look as good as the game.
				</p>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:24:49Z:creating-sprites</id>
		<updated>2026-06-05T10:24:49Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					This looks very promising! Here&apos;s a comparison.
				&lt;/p&gt;
				&lt;video muted=&quot;muted&quot; controls=&quot;controls&quot; loop=&quot;loop&quot; src=&quot;https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_comparison_slow.mp4&quot; loading=&quot;lazy&quot; /&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					This looks very promising! Here's a comparison.
				</p>
				<video muted="muted" controls="controls" loop="loop" src="https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_comparison_slow.mp4" loading="lazy" />
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:24:38Z:creating-sprites</id>
		<updated>2026-06-05T10:24:38Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Now let&apos;s try forcing this to use the original color palette, which will reduce some of the blurring. Any pixels that are only slightly blurred, will be snapped to an existing color, which will tend to match their surroundings.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_4.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_4.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge interpolated 4&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Now let's try forcing this to use the original color palette, which will reduce some of the blurring. Any pixels that are only slightly blurred, will be snapped to an existing color, which will tend to match their surroundings.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_4.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_4.gif" loading="lazy" alt="rockthebull rouge interpolated 4" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:24:19Z:creating-sprites</id>
		<updated>2026-06-05T10:24:19Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					I can remedy that by pasting the original images on top to clean up those particular frames.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_3.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_3.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge interpolated 3&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					I can remedy that by pasting the original images on top to clean up those particular frames.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_3.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_3.gif" loading="lazy" alt="rockthebull rouge interpolated 3" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:24:13Z:creating-sprites</id>
		<updated>2026-06-05T10:24:13Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Hmm... for some reason all of the frames look slightly blurry. I guess his DIAN motion interpolation didn&apos;t leave the original frames alone.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_2.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_2.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge interpolated 2&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Hmm... for some reason all of the frames look slightly blurry. I guess his DIAN motion interpolation didn't leave the original frames alone.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_2.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_2.gif" loading="lazy" alt="rockthebull rouge interpolated 2" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:23:38Z:creating-sprites</id>
		<updated>2026-06-05T10:23:38Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					This resulted in an animation on a 2x2 grid, which is not ideal, but let&apos;s try converting this into a 3x3 grid. I&apos;ll multiply the size by 3x to make each pixel take up 6x6. Then shrink down by half to turn them into 3x3 pixels.&lt;br /&gt;&lt;br /&gt;Now... if I shrink this down by 1/3 using bilinear scaling, every pixel will &apos;favor&apos; a side.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_original.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_original.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge original&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					This resulted in an animation on a 2x2 grid, which is not ideal, but let's try converting this into a 3x3 grid. I'll multiply the size by 3x to make each pixel take up 6x6. Then shrink down by half to turn them into 3x3 pixels.<br /><br />Now... if I shrink this down by 1/3 using bilinear scaling, every pixel will 'favor' a side.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_original.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_original.gif" loading="lazy" alt="rockthebull rouge original" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:23:09Z:creating-sprites</id>
		<updated>2026-06-05T10:23:09Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					I think this would be more useful, because when I go to clean things up I would still see the shapes and lines. They won&apos;t be turning into confusing blobs.&lt;br /&gt;&lt;br /&gt;But that&apos;s just a theory. I need to test this to find out if it can actually work. It would be kind of a pain to create an entire animation just to test something that might not even work. Fortunately &lt;a href=&quot;https://inkbunny.net/servedasiS&quot;&gt;RockTheBull&lt;/a&gt; already made an animation kind of like this.&lt;br /&gt;&lt;br /&gt;He was experimenting with &lt;a href=&quot;https://grisk.itch.io/dain-app&quot;&gt;DIAN motion interpolation&lt;/a&gt; which resulted in a double-size sprite with the &apos;pixels&apos; moving in between the grid.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_1.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_1.gif&quot; loading=&quot;lazy&quot; alt=&quot;rockthebull rouge interpolated 1&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					I think this would be more useful, because when I go to clean things up I would still see the shapes and lines. They won't be turning into confusing blobs.<br /><br />But that's just a theory. I need to test this to find out if it can actually work. It would be kind of a pain to create an entire animation just to test something that might not even work. Fortunately <a href="https://inkbunny.net/servedasiS">RockTheBull</a> already made an animation kind of like this.<br /><br />He was experimenting with <a href="https://grisk.itch.io/dain-app">DIAN motion interpolation</a> which resulted in a double-size sprite with the 'pixels' moving in between the grid.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_1.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rockthebull_rouge_interpolated_1.gif" loading="lazy" alt="rockthebull rouge interpolated 1" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:22:53Z:creating-sprites</id>
		<updated>2026-06-05T10:22:53Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					That won&apos;t look very good. I want lines, not fat blobs. So I need a better hint about which &apos;side&apos; to favor. So what if I force it to have a &apos;bias&apos; by animating on a 3x3 grid and then shrink down by 1/3? That would make it impossible for a moving pixel to be exactly between grid positions. Every pixel would have to slightly favor one side or the other. In theory it would probably look something like this.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/3x3_pixel_animate_example1.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/3x3_pixel_animate_example1.gif&quot; loading=&quot;lazy&quot; alt=&quot;3x3 pixel animate example1&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					That won't look very good. I want lines, not fat blobs. So I need a better hint about which 'side' to favor. So what if I force it to have a 'bias' by animating on a 3x3 grid and then shrink down by 1/3? That would make it impossible for a moving pixel to be exactly between grid positions. Every pixel would have to slightly favor one side or the other. In theory it would probably look something like this.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/3x3_pixel_animate_example1.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/3x3_pixel_animate_example1.gif" loading="lazy" alt="3x3 pixel animate example1" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:22:35Z:creating-sprites</id>
		<updated>2026-06-05T10:22:35Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Hmm... maybe if I animate the sprite at 2x or 3x size, and then scale it down with billinear blurring to generate the anti-aliased pixels?&lt;br /&gt;&lt;br /&gt;The problem with using a 2x2 grid is that it would create these ambiguous blobs when pixels move between the grid.
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/2x2_pixel_animate_example1.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/2x2_pixel_animate_example1.gif&quot; loading=&quot;lazy&quot; alt=&quot;2x2 pixel animate example1&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Hmm... maybe if I animate the sprite at 2x or 3x size, and then scale it down with billinear blurring to generate the anti-aliased pixels?<br /><br />The problem with using a 2x2 grid is that it would create these ambiguous blobs when pixels move between the grid.
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/2x2_pixel_animate_example1.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/2x2_pixel_animate_example1.gif" loading="lazy" alt="2x2 pixel animate example1" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:21:25Z:creating-sprites</id>
		<updated>2026-06-05T10:21:25Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div&gt;
				&lt;p&gt;
					Sure I do have &lt;a href=&quot;https://humbird0.com/makes/tutorials/create_sprites/content.htm#anti-aliasing-and-animation&quot;&gt;one technique&lt;/a&gt;. But the Shantae games seem to animate in much more clever ways. How do you create a boob-bounce like RottyTops has?
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/marle_crawl_side.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/marle_crawl_side.gif&quot; loading=&quot;lazy&quot; alt=&quot;marle crawl side&quot; /&gt;
				&lt;/a&gt;
				&lt;a href=&quot;https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/aseprite_antialiasing_animation_thumb.png&quot;&gt;
					&lt;img src=&quot;https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/aseprite_antialiasing_animation_thumb.png&quot; loading=&quot;lazy&quot; alt=&quot;aseprite antialiasing animation thumb&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div>
				<p>
					Sure I do have <a href="https://humbird0.com/makes/tutorials/create_sprites/content.htm#anti-aliasing-and-animation">one technique</a>. But the Shantae games seem to animate in much more clever ways. How do you create a boob-bounce like RottyTops has?
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/marle_crawl_side.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/marle_crawl_side.gif" loading="lazy" alt="marle crawl side" />
				</a>
				<a href="https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/aseprite_antialiasing_animation_thumb.png">
					<img src="https://humbird0.com/makes/experiments/3x3_anti-aliasing_test_rouge/content/aseprite_antialiasing_animation_thumb.png" loading="lazy" alt="aseprite antialiasing animation thumb" />
				</a>
			</div>
		</content>
	</entry>



	<entry>
		<title>Creating Sprites</title>
		<id>tag:humbird0.com,2026-06-05T10:19:07Z:creating-sprites</id>
		<updated>2026-06-05T10:19:07Z</updated>

		<link rel="alternate" href="https://humbird0.com/makes/tutorials/create_sprites/content.htm" />
		<category term="creating-sprites" />
		<summary type="html">
			&lt;div class=&quot;has_sprites has_experiments has_animation has_shantae&quot;&gt;
				&lt;p&gt;
					So I was playing &lt;a href=&quot;https://en.wikipedia.org/wiki/Shantae:_Risky&apos;s_Revenge&quot;&gt;Shantae Risky&apos;s Revenge&lt;/a&gt; and marveling at the amazing anti-aliasing in the animations. Every time I see these games I always wonder &apos;How on Earth did they make this??&apos; Sure I can anti-alias a still image. But when it&apos;s in motion, that&apos;s way more complicated!
				&lt;/p&gt;
				&lt;a href=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rottytops_riskys_revenge.gif&quot;&gt;
					&lt;img src=&quot;https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rottytops_riskys_revenge.gif&quot; loading=&quot;lazy&quot; alt=&quot;rottytops riskys revenge&quot; /&gt;
				&lt;/a&gt;
			&lt;/div&gt;
		</summary>
		<content type="xhtml">
			<div class="has_sprites has_experiments has_animation has_shantae">
				<p>
					So I was playing <a href="https://en.wikipedia.org/wiki/Shantae:_Risky's_Revenge">Shantae Risky's Revenge</a> and marveling at the amazing anti-aliasing in the animations. Every time I see these games I always wonder 'How on Earth did they make this??' Sure I can anti-alias a still image. But when it's in motion, that's way more complicated!
				</p>
				<a href="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rottytops_riskys_revenge.gif">
					<img src="https://humbird0.com//makes/experiments/3x3_anti-aliasing_test_rouge/content/rottytops_riskys_revenge.gif" loading="lazy" alt="rottytops riskys revenge" />
				</a>
			</div>
		</content>
	</entry>

</feed>