<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8708547959553815878</id><updated>2011-12-29T09:56:05.021-08:00</updated><category term='Atheism'/><category term='Rants'/><category term='Evolution'/><category term='Nitpicker&apos;s Guide to Sonic Genesis'/><category term='Sonic the Hedgehog'/><category term='Hacking Contest'/><category term='Pernicious Fallacies'/><category term='Code of the Ninja'/><category term='Random Thoughts'/><category term='Developer Spotlight'/><category term='Meme Cloud'/><category term='Site News'/><category term='Bang Science'/><category term='SAGE'/><category term='Game Music'/><category term='Game Reviews'/><title type='text'>In the Shade of a Wave</title><subtitle type='html'>by the will of the wind,
and in the shade of a wave - 
here we stand</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>83</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6091492169533620109</id><published>2011-12-16T05:29:00.000-08:00</published><updated>2011-12-16T05:29:50.796-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Christopher Hitchens 1949-2011</title><content type='html'>&lt;p&gt;
So I check my Twitter feed to find that Christopher Hitchens has died.
&lt;/p&gt;

&lt;p&gt;
I shall miss his courageous voice. Even as - if I may put it so brutally - a sick old man, his appearance at the debates and speaking engagements he so gamely persisted in was like nothing so much as a burning sun that had assumed the guise of a man.
&lt;/p&gt;

&lt;p&gt;
With his voice alone, whether spoken or written, he could make you feel as though whipped by a hurricane, or tickled by the gentlest breeze. He was a testament to the explosive power that simple honesty, directness, and steadfast adherence to the principles of freedom, equality, and truth can lend to mere words.
&lt;/p&gt;

&lt;p&gt;
Today I mourn the loss of a fellow mammal, and a personal hero. May his memes long persist.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6091492169533620109?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6091492169533620109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/12/christopher-hitchens-1949-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6091492169533620109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6091492169533620109'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/12/christopher-hitchens-1949-2011.html' title='Christopher Hitchens 1949-2011'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5192511907666956928</id><published>2011-10-21T10:02:00.000-07:00</published><updated>2011-10-21T10:12:55.872-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Hidden Palace Conclusion</title><content type='html'>Now that the Sonic 1&amp;2 Soundtrack has been released and I've heard it, we can see if it resolves any of my questions about Hidden Palace's BGM. And guess what? Not only is the song not titled Hidden Palace on the soundtrack (it's called "Unused") but it actually has an &lt;span style="font-style:italic;"&gt;ending&lt;/span&gt; unlike the original game.

That goes a long way to confirming my &lt;a href="http://intheshadeofawave.blogspot.com/2011/09/musical-mystery-still-unsolved.html"&gt;theory&lt;/a&gt; that the song was &lt;span style="font-style:italic;"&gt;not&lt;/span&gt; composed as a zone music.

I'd say more, but I'm using a phone to post this. =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5192511907666956928?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5192511907666956928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hidden-palace-conclusion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5192511907666956928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5192511907666956928'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hidden-palace-conclusion.html' title='Hidden Palace Conclusion'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3166069802148030115</id><published>2011-10-03T00:56:00.000-07:00</published><updated>2011-10-03T01:25:05.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacking Contest'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Hack Attack (Part III)</title><content type='html'>&lt;p&gt;And now for the comparison of my trophy nominations with the official winners. Why? I... I have no idea.
&lt;/p&gt;
&lt;p&gt;Hidden Palace Trophy &amp;#8211; 1st Place&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had nominated &lt;i&gt;S Factor&lt;/i&gt; as well.
&lt;/p&gt;

&lt;p&gt;Wood Zone Trophy &amp;#8211; 2nd Place&lt;br /&gt;
&lt;strong&gt;Sonic VR by ColinC10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For 2nd Place I had nominated &lt;i&gt;Sonic 2 Heroes&lt;/i&gt;. &lt;i&gt;Sonic VR&lt;/i&gt; got no nomination from me, even though I liked it, because the demo was so limited. I had said "I can't in good conscience let it get high marks for what I'm hoping it will become; it must stand and fall based on what's actually been submitted this year".
&lt;/p&gt;

&lt;p&gt;Dust Hill Trophy &amp;#8211; 3rd Place&lt;br /&gt;
&lt;strong&gt;Sonic 2 Heroes by Flamewing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For 3rd Place I nominated &lt;i&gt;Sonic ERaZor&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;Green Hill Trophy &amp;#8211; Hack that plays most like a Sonic game&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was my choice as well.
&lt;/p&gt;

&lt;p&gt;Windy Valley Trophy &amp;#8211; Best Art&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Again, the same. Chaotic Street in particular blew me away.
&lt;/p&gt;

&lt;p&gt;D.A. Garden Trophy &amp;#8211; Best Music&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;HONOURABLE MENTION &amp;#8211; 30 Day Project: Revisited by PsychoSk8r&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For this I nominated &lt;i&gt;Sonic VR&lt;/i&gt; for it's fitting sample music, and gave &lt;i&gt;30 Day Project&lt;/i&gt; the runner up's position.
&lt;/p&gt;

&lt;p&gt;Palmtree Panic Trophy &amp;#8211; Best Layouts&lt;br /&gt;
&lt;strong&gt;Untitled Sonic 2 Hack by D.A. Garden&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I gave this to &lt;i&gt;S Factor&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;Genocide City Trophy &amp;#8211; Most Difficult Hack&lt;br /&gt;
&lt;strong&gt;Sonic 1 Lunacy by The Masochistic Maniacs (Destructiox, SonicVaan, MarkeyJester, Selbi, Spanner) &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nothing else could have possibly gotten this trophy!
&lt;/p&gt;

&lt;p&gt;11000101 Trophy &amp;#8211; Best Technical Hack&lt;br /&gt;
&lt;strong&gt;Sonic 2 Heroes by Flamewing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I chose &lt;i&gt;Sonic 2 Heroes&lt;/i&gt; as well.
&lt;/p&gt;

&lt;p&gt;Knuckles Trophy &amp;#8211; Best New Character&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals &amp;#8211; Sonia the Hedgehog&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I nominated Sonia, too. I'm glad to see she won, despite the Sonic Underground hate that goes around.
&lt;/p&gt;

&lt;p&gt;Fang Trophy &amp;#8211; Best new/modified enemies in a hack submitted&lt;br /&gt;
&lt;strong&gt;Sonic ERaZor by Selbi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This trophy matches my nomination, too.
&lt;/p&gt;

&lt;p&gt;Eggman Trophy &amp;#8211; Best new bosses/minibosses in a hack submitted&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals &amp;#8211; Team Metallix&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Again, the same.
&lt;/p&gt;

&lt;p&gt;Spindash Trophy &amp;#8211; Best New Ability&lt;br /&gt;
&lt;strong&gt;The S Factor: Sonia and Silver by Aquaslash &amp;amp; Pals &amp;#8211; Silver&amp;#8217;s Telekinesis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had chosen Sonia's ability to break Spikes. I found Silver to be a bit clunky.
&lt;/p&gt;

&lt;p&gt;Carnival Night Trophy &amp;#8211; Most Innovative Feature&lt;br /&gt;
&lt;strong&gt;Sonic 2 Heroes by Flamewing &amp;#8211; 3 Players at Once&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once more, the same.
&lt;/p&gt;

&lt;p&gt;Emerald Trophy &amp;#8211; Best Special Stage&lt;br /&gt;
&lt;strong&gt;Sonic ERaZor by Selbi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I nominated this, too. I'm really pleased to see it win. &lt;i&gt;S Factor&lt;/i&gt; has gorgeous Special Stages, too, but this one was SO MUCH FUN.
&lt;/p&gt;

&lt;p&gt;Robotnik&amp;#8217;s Revenge Trophy &amp;#8211; New Concept based on Existing Concepts&lt;br /&gt;
&lt;strong&gt;Sonic 2 Heroes by Flamewing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had picked &lt;i&gt;Sonic VR&lt;/i&gt; for this. Really, &lt;i&gt;Sonic 2 Heroes&lt;/i&gt; nabbed enough awards and this should have been ColinC10's. &lt;i&gt;Sonic VR&lt;/i&gt; is the exemplar of finding new life out of old concepts.
&lt;/p&gt;

&lt;p&gt;Casinopolis Trophy &amp;#8211; Most Entertaining/Fun Hack&lt;br /&gt;
&lt;strong&gt;Sonic VR by ColinC10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I gave this one to &lt;i&gt;Sonic 2 Heroes&lt;/i&gt;, because it literally did entertain me the most. The official results give it to &lt;i&gt;Sonic VR&lt;/i&gt;, saying this: "Forty challenges await you in this year’s submission from Colin. How long will it take for you to complete them all – if you can do that." A little unfair, considering that all 40 were not implemented in the build evaluated by the contest judges!
&lt;/p&gt;

&lt;p&gt;Vector Trophy &amp;#8211; Most Humourous Hack&lt;br /&gt;
&lt;strong&gt;Yeth by Banoon&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;HONOURABLE MENTION &amp;#8211; Chip McCallihan in Sonic 1 by MainMemory&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I gave this to Yeth, also. The writing in the manual pushed it over the edge for me.
&lt;/p&gt;

&lt;p&gt;WTF?! Trophy &amp;#8211; Most Unique Hacks Submitted&lt;br /&gt;
&lt;strong&gt;Sonic the Ghosthog by Hanoch&lt;/strong&gt; AND &lt;strong&gt;Sonic 1 Misadventure by Arctic Leopard&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Same.
&lt;/p&gt;

&lt;p&gt;Twinkle Park Trophy &amp;#8211; Best 3D Hack&lt;br /&gt;
&lt;strong&gt;Mushroom Zone by Dude&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I didn't judge any 3D hacks.
&lt;/p&gt;

&lt;p&gt;Crystal Egg Trophy &amp;#8211; Best 8-Bit Hack&lt;br /&gt;
&lt;strong&gt;Sonic Chaotic by Ravenfreak&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was the only 8-bit entry, winning by default.
&lt;/p&gt;

&lt;p&gt;Christmas Present Trophy &amp;#8211; The hack that nobody saw coming&lt;br /&gt;
&lt;strong&gt;Sonic VR by ColinC10&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Same.
&lt;/p&gt;

&lt;p&gt;Tails Trophy &amp;#8211; Best Improved Hack from Last Year&lt;br /&gt;
&lt;strong&gt;Sonic ERaZor by Selbi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Same.
&lt;/p&gt;

&lt;p&gt;OH GOD WHY Trophy &amp;#8211; Why was this submitted?&lt;br /&gt;
&lt;strong&gt;Sonic 1 Reinvented by Watsonman&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I must have missed this trophy somehow, because I have no nomination for it. &lt;i&gt;Sonic 1 Reinvented&lt;/i&gt; has zero going for it, so it certainly deserves it.
&lt;/p&gt;

&lt;p&gt;Big Trophy &amp;#8211; Worst Hack&lt;br /&gt;
&lt;strong&gt;Latios in Sonic 3 &amp;amp; Knuckles by Watsonman&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had picked &lt;i&gt;Red the Hedgehog&lt;/i&gt;, with &lt;i&gt;Latios&lt;/i&gt; as the runner up. In retrospect, it's probably better not to give Dandaman the satisfaction. =P &lt;i&gt;Latios&lt;/i&gt; is more legitimately horrible.
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;That's it for now. Back into the deep I sink!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3166069802148030115?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3166069802148030115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hack-attack-part-iii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3166069802148030115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3166069802148030115'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hack-attack-part-iii.html' title='Hack Attack (Part III)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6526420875295011171</id><published>2011-10-01T00:24:00.000-07:00</published><updated>2011-10-01T00:43:36.525-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacking Contest'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Hack Attack (Part II)</title><content type='html'>&lt;p&gt;This is the second part in a three part series of my reviews of the hacks submitted to the &lt;a href="http://sonicresearch.org/hackingcontest/"&gt;Sonic the Hedgehog Hacking Contest&lt;/a&gt;.
&lt;/p&gt;

&lt;img src="http://i54.tinypic.com/2ewmn21.jpg" width="80%"&gt;
&lt;h3&gt;30 Day Project: Revisited&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by PsychoSk8r&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/fof7sh.jpg"&gt;
&lt;p&gt;To fully detail all the changes made to Sonic 1 for this hack would be a whole blog post in itself - the changelog provided with the hack is nearly 700 lines long!
&lt;/p&gt;
&lt;p&gt;The hack is so named because PsychoSk8r set a challenge for himself - make as many changes as possible in a 30-day period. Because of this, there's not much focus or coherency, but a bunch of the changes are cool and fun to play around with.
&lt;/p&gt;
&lt;p&gt;The art mods are a bit uneven - Marble fares much better than Green Hill - but are certainly more creative than most and I appreciate the humorous "easter eggs" strewn throughout.
&lt;/p&gt;
&lt;img src="http://i56.tinypic.com/2nvw37.jpg"&gt;
&lt;p&gt;The music mods are one of the strengths of the hack. There are original remixes for each of the 3 acts (for the zones that are modified in this demo, anyway), and the Sound Test includes a treasure trove of ports and conversions that are extremely well done. It's probably worth the download for the soundtrack alone.
&lt;/p&gt;
&lt;p&gt;As far as programming mods go, there's a slew of those, too. There are a couple of dash moves and a double jump for Sonic (none of which are really necessary to progress), and you're required to find a Chaos Emerald monitor in each Act in order to gain access to the next - a concept which &lt;a href="http://intheshadeofawave.blogspot.com/p/sonic-one-ring.html"&gt;I obviously like&lt;/a&gt;, though I do wish they were hidden a little better.
&lt;/p&gt;
&lt;p&gt;There are also some fun effects like time of day changes and weather, which may not be terribly impressive at this point in the history of hacking, but I liked the atmosphere they created.
&lt;/p&gt;
&lt;p&gt;Overall I'd like to see this hack given more of a point, but I do like the work that's been done on it.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic ERaZor&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Selbi&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/116l1f8.jpg"&gt;
&lt;p&gt;Sonic ERaZor was submitted to last year's contest, as well. When I played it then, I wasn't too fond of it. Something about it felt too edgy and confrontational to be truly enjoyable.
&lt;/p&gt;
&lt;p&gt;This year, though, I found that I liked it a lot. I don't know if that's entirely because &lt;i&gt;it&lt;/i&gt; improved (though of course it has made a bunch of progress), or because I've just gotten over any hangups I might have had with it.
&lt;/p&gt;
&lt;p&gt;Either way, this time I really liked the tone and the "Sonic's having a really weird day" storyline. The challenge level was just right and the concepts for each level, while quite disparate, somehow gelled to create a whole.
&lt;/p&gt;
&lt;p&gt;Particularly standout was the Special Stage, which I adore. I like it far more than the original Sonic 1 stage, and I'd gladly play many more - even if they get progressively harder. Bring it!
&lt;/p&gt;
&lt;img src="http://i56.tinypic.com/242ftci.jpg"&gt;
&lt;p&gt;So I'd recommend ERaZor. I was playing it again while writing this review, and even after the novelty wears off it's still fun.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic 1 Lunacy&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by The Masochistic Maniacs&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/35ind41.jpg"&gt;
&lt;p&gt;"Lunacy" and "Masochistic Maniacs" are incredibly apt terms when it comes to this hack. An example? Everything is out to kill Sonic, even his own jump - pressing the button again while in the air will cause instant death. This game, in Lunacy Mode, must be played extremely carefully!
&lt;/p&gt;
&lt;p&gt;The idea, as far as I can tell from this demo, is to make Sonic 1 not just harder, but a &lt;i&gt;lot&lt;/i&gt; harder. While there are Normal and Hard modes, it looks to me like Lunacy Mode is the meat of the game. Since the title card for Green Hill is replaced with "Cherry Blossom" I'm assuming that future releases will be using custom art, which I look forward to (especially knowing that MarkeyJester is on the team).
&lt;/p&gt;
&lt;p&gt;I'm afraid I don't quite have the stomach for Lunacy Mode, though, and had to battle my through it using savestates. It's not the kind of fair challenge I enjoy that &lt;a href="http://info.sonicretro.org/Sonic_VR"&gt;Sonic VR&lt;/a&gt; is such a beautiful example of. However the game does tease us with things like this:
&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/13zwvpz.jpg"&gt;
&lt;p&gt;...so when it's finished it might be worth self-flagellating to see all the content. As it stands, though, it's mostly Green Hill and I wouldn't recommend it unless you're already following the project.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;The S Factor: Sonia and Silver&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Aquaslash &amp; Pals&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/s5hh6v.jpg"&gt;
&lt;p&gt;Believe it or not, I'm a member of that rarefied species - a Sonic Underground fan. (Just this morning, I had to fend off a cryptozoologist who wanted to stuff and mount me.) So I - &lt;a href="http://forums.sonicretro.org/index.php?showtopic=26487&amp;view=findpost&amp;p=622233"&gt;unlike others&lt;/a&gt; - have no quibble whatsoever with playing as Sonia. In fact, I tend to think of this game as "The S Factor: Sonia" because I couldn't care less for Silver. =P (Scourge and Shadow are not complete as of this release, but even if they were I don't find the prospect of playing as them very appealing, either.)
&lt;/p&gt;
&lt;p&gt;Excepting the less-than-interesting supporting cast, everything about this game - it feels inadequate to call it a "hack" - is brilliant. I've been following it's development as a fan for what seems like years now, and it hasn't disappointed me yet. The hacking contest build was no exception - the new levels were beautiful and won my heart immediately.
&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/rlcobc.jpg"&gt;
&lt;p&gt;It surely deserved all the trophies it won this year and it was certainly my favourite overall submission. But I've got to stop talking about it now, or I'll wind up killing the rest of the evening playing it again. =)
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Untitled Sonic 3 Hack&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 3&amp;amp;K by D.A. Garden&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/2s1k8ef.jpg"&gt;
&lt;p&gt;If you've ever wondered what it would be like to step into a bizarro world where Sonic Team had made different level layouts for Sonic 3 &amp;amp; Knuckles, this is the hack for you. The overall game is intact, but the levels are now completely new while remaining strangely authentic. Keep in mind, though, that the hack is not finished so this is true of some levels more than others.
&lt;/p&gt;
&lt;p&gt;Sadly the palettes have also been changed, and they're hella ugly.
&lt;/p&gt;
&lt;p&gt;There's nothing else to say, really. It's not going to hold anyone's interest for long. D.A. Garden deserves props for making nearly spot-on level layouts, but the Untitled Sonic 2 Hack (that I reviewed in &lt;a href="http://intheshadeofawave.blogspot.com/2011/09/hack-attack-part-i.html"&gt;Part I&lt;/a&gt;) had more going for it, I think.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic 2 Heroes&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 by Flamewing&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/ayrrza.jpg"&gt;
&lt;p&gt;When I first heard of this hack, I was very wary of it. The last thing I want is some of Sonic Heroes' poison rubbing off on a classic like Sonic 2.
&lt;/p&gt;
&lt;p&gt;Fortunately those fears were unfounded, and only the good elements, i.e. the ability to play Sonic, Knuckles, and Tails at once, switching leader on the fly, have been ported over. There's no nonsense like floating rainbow question marks, character switching gates, or conversions of the Seaside Hill BGM.
&lt;/p&gt;
&lt;p&gt;In fact Sonic 2 Heroes reminds me of a time when I was a little kid (and you can be sure I was an adorable one) playing Sonic 3 &amp;amp; Knuckles. When Sonic, Tails, and Knuckles are all present in the Hidden Palace/Sky Sanctuary cutscenes, I would ache for the ability to run around in all the rest of the zones with the complete and total "Team Sonic", having adventures like the glorious second part of the OVA where Knuckles joins the fray.
&lt;/p&gt;
&lt;img src="http://i55.tinypic.com/qsm3v7.jpg"&gt;
&lt;p&gt;Flamewing has not only fulfilled that boyhood dream, but gone above and beyond the call of duty to polish the project to a level of shine that forces Knuckles to don his shades.
&lt;/p&gt;
&lt;p&gt;Not only is there the yearned-for 3-player mode, but there's also every possible combination of 2- and 1-player modes. Sonic and Knuckles, Knuckles and Tails, Tails and Sonic... And all of this is fully compatible with letting a friend pick up the second controller!
&lt;/p&gt;
&lt;p&gt;In addition to the "Heroes" mechanic and cool combo moves like Tails being able to carry Sonic &lt;i&gt;and&lt;/i&gt; Knuckles around, there is a plethora of other goodies to make one swoon. All the elemental shields are here, and with their complete function set, as well, down to repelling projectiles (and one can hardly exaggerate how cool it is to be able to wear a Bubble Shield when playing the "tricky bit" in Chemical Plant Act 2!).
&lt;/p&gt;
&lt;p&gt;Bits of polish Sonic 2 has always needed, such as the underwater distortion effect and victory poses at Act's end, are added in. Sonic has his Insta-Shield &lt;i&gt;and&lt;/i&gt; Super Peel Out (yes yes yes!), Tails can fly, and Knuckles' jump height isn't unfairly nerfed. You can even perform aerial actions, such as gliding and flying, from a drop or a spring, rather than just a jump - something the series has always needed!
&lt;/p&gt;
&lt;p&gt;Everything, from the in-game text to the Sega screen to the Special Stage, are all modified to match the triple character dynamic. Nothing is shoddily done or overlooked.
&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/28rfi54.jpg"&gt;
&lt;p&gt;Seriously, this hack is like &lt;i&gt;winning the lottery&lt;/i&gt;. It tempts one to delete their vanilla Sonic 2 ROMs and never look back. I'm in love.
&lt;/p&gt;

&lt;hr&gt;
&lt;p&gt;Note that I did not review any of the 3D hacks. This is because of my computer's prodigious aptitude for failing to run such things. I will be upgrading soon, so this won't hold me back in future contests.
&lt;/p&gt;
&lt;p&gt;Stay tuned for Part III!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6526420875295011171?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6526420875295011171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hack-attack-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6526420875295011171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6526420875295011171'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/10/hack-attack-part-ii.html' title='Hack Attack (Part II)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i54.tinypic.com/2ewmn21_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-2594306583306757455</id><published>2011-09-28T23:03:00.000-07:00</published><updated>2011-09-28T23:46:25.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacking Contest'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Hack Attack (Part I)</title><content type='html'>&lt;p&gt;As promised, here are my thoughts on the contenders for the 2011 Sonic the Hedgehog Hacking Contest now that &lt;a href="http://sonicresearch.org/hackingcontest/"&gt;the results have been announced&lt;/a&gt;. As with my SAGE "reviews", these will be curt because I'm very &lt;del&gt;lazy&lt;/del&gt; busy.
&lt;/p&gt;

&lt;img src="http://i54.tinypic.com/2ewmn21.jpg" width="80%"&gt;

&lt;h3&gt;Sonic Chaotic&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic Chaos by Ravenfreak&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;I'll let Ravenfreak describe this hack in her own words. A quote from the readme file:
&lt;/p&gt;
&lt;p&gt;&lt;blockquote&gt;It was made because, I believe Sonic Chaos is piss poor easy, and seems to be the easiest 8-bit sonic game, at least in my opinion. ... In this hack, jumping does no good Sonic/Tails doesn't roll into a ball! Instead they are easily vulnerable to enemies and obstacles. To make matters worse, Dr. Robotnik has taken an extra step to make those enemies and obstacles stronger, the second Sonic/Tails collides with them they lose a life!
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;While it's cool to see a hack of the seldom-modded Sonic Chaos, this doesn't seem like Hacking Contest material. Gimping the jump and removing the check for rings upon enemy collision are great proofs of concept, showing that progress is being made in figuring out the Sonic Chaos code. But they're hardly features that make playing through the game interesting. For that reason I guess I have nothing else to say about it.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Chip McCallahan in Sonic the Hedgehog&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by MainMemory&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/1pj6dz.jpg"&gt;
&lt;p&gt;This is clearly some kind of joke hack, and unless you know what's being referenced, it's totally meaningless. Since I didn't get the joke (I had to look it up), I can't say anything for or against it other than that it seems unplayable.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Latios in Sonic 3 &amp; Knuckles&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 3&amp;K by Scott4&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/209hszm.jpg"&gt;
&lt;p&gt;Unless this was being made as a parody of all that can go horribly wrong when a n00b makes a hack, it fails at everything it tries to do. Sonic is replaced with some sort of new character, but it's so poorly drawn and incompletely implemented I can't really tell what it's supposed to be. The palettes and layouts are changed for the worse, and copious Giant Rings lead to Special Stages that seem to consist entirely of blue spheres. A very poor effort.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Blue Sphere Plus&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Blue Sphere by MainMemory&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/28imhdh.jpg"&gt;
&lt;p&gt;In addition to all the features of the normal Blue Sphere, this hack includes all 16 of the Special Stages from Sonic 3 and Knuckles, a save feature, and the ability to play as Tails, Sonic and Tails, or Knuckles and Tails. In other words, there's basically no need to ever play the original version again.
&lt;/p&gt;
&lt;p&gt;Blue Sphere may not be the most exciting thing in the world, but I like this.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic Loco 2&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 by Tamkis&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/zn7zvn.jpg"&gt;
&lt;p&gt;Ugh. Where to start?
&lt;/p&gt;
&lt;p&gt;First, the music. When so many hacks merely replace the music with Azure Lake and Isolated Island &lt;i&gt;ad nauseum&lt;/i&gt;, it's kind of nice to see all the music replaced with interesting compositions. The problem is they are so poorly converted to the Genesis's sound system that they sound like a buggy mess and one can hardly distinguish between songs. They also seem to bork the sound effects (unless there is some other cause for this).
&lt;/p&gt;
&lt;p&gt;Second, the level layouts. There are certainly some interesting constructions, but there are far too many cheap deaths. Also, the implementation is hamfisted - too often springs and platforms are employed to spackle tricky areas, and there are too many broken tiles to count. Overall I'd say it's some of the worst I've seen, almost making me wonder if it's serious.
&lt;/p&gt;
&lt;p&gt;For some reason the Super Peel Out is included, but as badly as I've seen it done. I'm also confused by the mix of Sonic 2 and Sonic 3 sprites which looks odd at best.
&lt;/p&gt;
&lt;p&gt;Ultimately I'd describe this as a "mess". I had to stop at Chemical Plant in order to preserve my good humour.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Red the Hedgehog&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Dandaman&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/6jd538.jpg"&gt;
&lt;p&gt;Described as "a hack with hours of
effort poured into it," I can only hope this is some kind of joke (and judging by the creator's reputation, I'm going on record assuming that it is). There's not a single aspect, from title screen to play control to sound effects to palettes to graphics, that isn't totally ruined. Randomly changing values in a hex editor could make a better hack than this.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Simple Sonic Hack&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Glaber&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/15hfsw5.jpg"&gt;
&lt;p&gt;As advertised, this is quite simple. It's just three acts - GHZ1, GHZ2, and LZ1 - plus Final Zone with different layouts. Not anything to write home about, but worth a playthrough.
&lt;/p&gt;
&lt;p&gt;I also have to give it some respect for adding Sonic's missing shoe stripe. =P
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Megaman 2: The Robotnik Wars&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 by Tamkis&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/339txsp.jpg"&gt;
&lt;p&gt;Tamkis's second effort is, I'm sorry to say, no better than his first. Very shoddily and incompletely implemented Megaman sprites and music are all that's on offer here. Since the sprites are the wrong size for the gameplay, and the music has the same problem as Sonic Loco 2, this has a long way to go before it's even mildly interesting. It shouldn't have been shown to anyone at this stage of completion, let alone entered in a contest.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic 1 Misadventure&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Arctic Leopard&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/actkw4.jpg"&gt;
&lt;img src="http://i53.tinypic.com/wqy3vm.jpg"&gt;
&lt;p&gt;This is a rather ambitious hack as it attempts to give Sonic 1 whole new zones. Unfortunately it's also a very uneven hack - while some design choices seem inspired, others are like "what?". Despite that, though, it has the most potential of any I've talked about so far, with some nice original graphics and even some new gimmick objects.
&lt;/p&gt;
&lt;p&gt;Overall, I have to say I like it.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Yeth&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Banoon&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/b9egs2.jpg"&gt;
&lt;p&gt;This might as well be a completely different game than Sonic. Despite how weird it looks, it's actually pretty fun and charming on its own. I especially liked the tongue-in-cheek PDF manual and the clever new challenges in the levels. It's worth trying out for the noir Spring Yard Zone alone.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic the Hedgehog 1 Reinvented&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Watsonman&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/2nrpzwi.jpg"&gt;
&lt;p&gt;This is a rather cruddy hack of Sonic 1 with butchered sprites and palettes, a jumpdash, and "harder" bosses (they take more hits). I've seen a million of these, and there's nothing that makes this one stand out.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Untitled Sonic 2 Hack&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 by D.A. Garden&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/11vgoyw.jpg"&gt;
&lt;p&gt;Judging by the title, one might guess there's not much of a theme or purpose to this hack. Basically, the only thing you'll notice is that Sonic is darker (why do people &lt;i&gt;do&lt;/i&gt; that?) and that some levels have changed layouts. The ones that are changed (CPZ, MCZ, WFZ) are actually pretty cool, though. Be warned that the new bosses are real hardasses.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic the Ghosthog&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by Hanoch&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i55.tinypic.com/1g3m7b.jpg"&gt;
&lt;p&gt;An interesting gameplay/layout hack where Sonic turns into a ghost instead of dying outright. While a ghost, he can't interact with items or beat the level, but he's sort of invincible and can fly. I'm afraid, though, that this new method of play doesn't have the right balance to be very fun. Essentially the goal becomes playing without getting hit like some kind of "kaizo" hack, but instead of immediately retrying when you fail you have to tediously backtrack.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Metal Sonic Overdrive&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 1 by MKDarkon&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/2d12p92.jpg"&gt;
&lt;p&gt;While parts of the level layouts in this are interesting enough to keep my attention for one playthrough, there's nothing real special going on here. Several design choices (such as having 8-bit Kirbys erupt from the ground instead of little animals escape from a capsule) leave me mystified and a little put off. There are also a lot of things that seem to be changed just for the sake of being changed, which is a mark of a low-quality hack.
&lt;/p&gt;
&lt;p&gt;The hack makes use of my Wall Jump code, which is nice to see, although it's not implemented perfectly: it only works on tiles, not objects, and it's possible to trigger it even while facing away from the wall. Yer makin' me look bad, people! =P
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic Mega Fusion&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 (Nick Arcade prototype) by GenesisFan64&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/15fhn2e.jpg"&gt;
&lt;p&gt;A buggy hack of Emerald Hill with My Little Ponies as enemies? There are some interesting code changes, such as only showing the score counter when Sonic gets score, but the ring counter is missing which makes it feel broken instead of improved.
&lt;/p&gt;
&lt;p&gt;I guess I just don't see the point. I prefer hacks with a good solid idea behind them.
&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Sonic VR&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;Hack of Sonic 2 by ColinC10&lt;/i&gt;&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/zv4jyr.jpg"&gt;
&lt;p&gt;Sonic VR doesn't even feel like a hack of a specific Sonic game, but like a whole new kind of game. It consists of short mini-zones that are self-contained challenges, all of which take place in a snazzy virtual reality world. The player can select any of these challenges from four main "file systems" (which appear to get increasingly difficult) using a cool interface that harks back to personal computers from the early 80's (you know, the kind that &lt;i&gt;Johnny Mnemonic&lt;/i&gt; thought we'd still be using in the future).
&lt;/p&gt;
&lt;p&gt;The challenges strongly remind me of the bonus stages from Wario World for the Nintendo Gamecube, which I've always liked. This was easily one of my favourite hacks this year, further cementing &lt;a href="http://info.sonicretro.org/ColinC10"&gt;ColinC10&lt;/a&gt;'s sparkling reputation.
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Stay tuned for Part II, and also Part III where I will compare my trophy nominations with the actual winners in the interest of science.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-2594306583306757455?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/2594306583306757455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/hack-attack-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2594306583306757455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2594306583306757455'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/hack-attack-part-i.html' title='Hack Attack (Part I)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i54.tinypic.com/2ewmn21_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-727870890048665560</id><published>2011-09-22T23:50:00.000-07:00</published><updated>2011-09-23T00:04:17.151-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE 2011 Reviews (Part IV)</title><content type='html'>&lt;h3&gt;Sonic Worlds Level Collab
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/2jdfigx.jpg" width="60%"&gt;

&lt;p&gt;A long while back, I recall LiQuidShade of &lt;a href="http://soniczone0.com/home/"&gt;Zone: 0&lt;/a&gt; and me discussing how cool it would be if there was some kind of project that was like the Little Big Planet of Sonic - you'd be able to play user created zones without all the other rigmarole. Well, the SWLC team has finally brought us something much like that.
&lt;/p&gt;

&lt;p&gt;This first release contains 2 full zones and 5 short 1-act challenges. Apparently there will be new packages released twice a year, once for SAGE and once for Christmas. Of course the amount of cool zones we'll get depends on how many folks &lt;a href="http://sonicworldslc.webs.com/"&gt;get involved&lt;/a&gt;.
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/6qgrpt.jpg" width="60%"&gt;

&lt;p&gt;The content on offer right now is quite good, though. The standout of all the zones is definitely Amazing Ocean, with its clever boss, intelligent layout, and character-dependent paths. I played it through many times in order to find all the red rings, and I'm not tired of it yet.
&lt;/p&gt;

&lt;p&gt;Collecting said red rings gets you unlockables, such as Super Mode for all the characters and the aforementioned challenge levels.
&lt;/p&gt;

&lt;p&gt;The challenge levels are for the most part charming and fun (although the Labyrinth one is a bit spare). The only thing is I wish they were much harder to make up for their brevity. They are called "challenges" after all; I was expecting to be hit with extreme difficulty.
&lt;/p&gt;

&lt;p&gt;But it's all worth it for Cheese Hill Zone: =P
&lt;/p&gt;

&lt;img src="http://i56.tinypic.com/29wmxcn.jpg" width="60%"&gt;

&lt;p&gt;So far I love the concept and the content, and I can't wait for Christmas to see what other goodies the team will have for us.
&lt;/p&gt;

&lt;h3&gt;Sonic 2 Retro Remix
&lt;/h3&gt;

&lt;img src="http://i51.tinypic.com/3313tyx.jpg" width="60%"&gt;

&lt;p&gt;Sonic 2 Retro Remix is an ambitious and pedigreed Sonic 2 hack. It's also a bit controversial, because the gameplay is intentionally more akin to Super Mario 64's search for stars than the standard run-for-the-goal Sonic fare, although a "classic mode" has traditionally been included. When I last reviewed it, I played only the classic mode, and majorly missed the point. This time, classic mode has been removed to encourage playing the game the way it was meant to be enjoyed, so we'll see what that does to change my mind about it.
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/ztbxaa.jpg" width="60%"&gt;

&lt;p&gt;Not actually a whole lot, to be honest. I still can't seem to enjoy this game, no matter how hard I try. There's just something about the cramped, overly-technical layouts that puts me off. Even the short overworlds, where you enter acts by way of Warp Rings, are frustrating and difficult to navigate, an aspect of Sonic Advance 3 which I loathed and I can't imagine why anyone would want to emulate it. The zones themselves are huge, confusing, sloppy, and devoid of any sense of flow - to me at least; I've heard others swear that, when played right, they're feats of genius. But as far as I'm concerned they are the epitome of everyone's complaints about Sonic CD's level design, cranked up to 11.
&lt;/p&gt;

&lt;p&gt;I'm also not fond of the unnecessarily complicated controls, the busy art, or the music culled from disparate sources. It all feels bloated and aimless, and I can't find any fun in it at all.
&lt;/p&gt;

&lt;p&gt;I know this is an acclaimed hack. For all I know it's a quality one. But it doesn't appeal to me.
&lt;/p&gt;

&lt;h3&gt;To sum up
&lt;/h3&gt;

&lt;p&gt;And that's it for my brief thoughts on SAGE. I won't be going over things like Sonic RealmZ or Super Sonic Knockout, because I'm not interested in, nor qualified to evaluate, such extreme deviations from the standard Sonic formula. I'm also skipping a few embarrassingly incomplete offerings which really should have been kept under wraps for another year or so - you know who you are.
&lt;/p&gt;

&lt;p&gt;But this won't be the last of my reviews for a while - I'll be giving my thoughts on the Hacking Contest entries once the winners are announced.
&lt;/p&gt;

&lt;p&gt;I'll leave you with a recap of my favourites, which I think should be in any Sonic fan's game collection.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sonic: Before the Sequel
&lt;/li&gt;
&lt;li&gt;Sonic Fusion
&lt;/li&gt;
&lt;li&gt;Sonic Axiom
&lt;/li&gt;
&lt;li&gt;Sonic Worlds Level Collab
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you at next SAGE! Maybe by then that lazy, opinionated wanker Murky, or Merkin, or whatever he calls himself, will have released his engine.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-727870890048665560?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/727870890048665560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-iv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/727870890048665560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/727870890048665560'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-iv.html' title='SAGE 2011 Reviews (Part IV)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i55.tinypic.com/2jdfigx_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-2427612531280666542</id><published>2011-09-21T22:37:00.000-07:00</published><updated>2011-09-27T05:58:52.385-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE 2011 Reviews (Part III)</title><content type='html'>&lt;p&gt;It's hardly a secret that I'm not too fond of modern Sonic. I haven't &lt;i&gt;loved&lt;/i&gt; anything of the Sonic brand released after 1996, and haven't even &lt;i&gt;liked&lt;/i&gt; anything since Sonic Adventure 2 (short segments of Sonic Rush Adventure excepted). Yeah, I'm a grinch. But I'm gonna try to be fair at least to my fellow Sonic fangamers who &lt;i&gt;do&lt;/i&gt; like modern Sonic and use those kinds of elements in their projects.
&lt;/p&gt;

&lt;h3&gt;Sonic Inferno
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/ehbqxd.png" width="60%"&gt;

&lt;p&gt;Sonic Inferno is a demo of a single (rather short) act, but there are several characters to choose from: Sonic, Knuckles, and Shadow. (Tails and Chaos are present in the select screen, but inaccessible. One assumes they'll be ready in the next demo quite soon.)
&lt;/p&gt;

&lt;p&gt;The single act is called "Engine Base", which sets one's expectations up for an original (if a little generic) zone, but those are let down when the title card sweeps away to reveal this:
&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/p6kht.png" width="60%"&gt;

&lt;p&gt;...It's Route 99, from Sonic Advance 3. Yes, it has a different layout, but c'mon, guys. When we made the Scrap Brain demo for Sonic Time Twisted, at least we had the decency to advertise it as such!
&lt;/p&gt;

&lt;p&gt;But I digress. Sonic Inferno's engine is robust and quite a few features are implemented - magnet shield, homing attack, Knuckles' climbing/gliding, Advance-style attacks on a secondary button, etc. It's really quite nice overall.
&lt;/p&gt;

&lt;p&gt;But considering how there's hardly anything &lt;i&gt;new&lt;/i&gt; (and I use that "hardly" out of charity) and it's shorter than Sonic after touching the shrink laser from Metallic Madness Zone, there's not a whole lot of reason to play this one unless you're already following the project and are interested to see how the it's progressing. For pure entertainment value, look elsewhere.
&lt;/p&gt;



&lt;h3&gt;Sonic Fusion
&lt;/h3&gt;

&lt;img src="http://i54.tinypic.com/6qb6ev.png" width="60%"&gt;

&lt;p&gt;I reviewed Sonic Fusion at last year's SAGE, and was impressed, but was plagued by some control incompatibilities that prevented me from accessing all the features. For some reason it thought the Down button was continually pressed or something, making it impossible to select Knuckles on the character select screen or even perform the Spin Dash.
&lt;/p&gt;

&lt;p&gt;All of that's in the past now, I'm relieved to say, and I was able to fully enjoy this year's demo. And there's a lot to enjoy - 8 zones, 3 fully implemented characters, a mission mode, and even online multiplayer.
&lt;/p&gt;

&lt;img src="http://i54.tinypic.com/swbct0.png" width="60%"&gt;

&lt;p&gt;The story mode is really cool, and feels like playing a 2D entry in the Sonic Adventure series. The zones themselves are expertly crafted and a joy to play, and as I said last year they equal or top the Sonic Advance series.
&lt;/p&gt;

&lt;p&gt;Unfortunately the similarity with the Dimps developed titles extends to the physics as well, with a floaty jump and rolling that slows you down instead of speeding you up. Fortunately, while I &lt;i&gt;would&lt;/i&gt; prefer classic physics, there's never a moment in Sonic Fusion where these things become a problem. The levels always play smoothly and there's nothing that feels cheap or unfair.
&lt;/p&gt;

&lt;img src="http://i54.tinypic.com/dgnpg8.png" width="60%"&gt;

&lt;p&gt;This game just has so much polish, so much heart, and so many cool elements all brought together with one of the best overall presentations I've seen in a Sonic fangame. You can tell it's a labour of love, and I urge you to try it out. If this is just the demo, we can all expect the finished game to be one of the coolest ever.
&lt;/p&gt;



&lt;h3&gt;Sonic NXT
&lt;/h3&gt;

&lt;img src="http://i53.tinypic.com/r90sph.png" width="60%"&gt;

&lt;p&gt;Last year, Sonic NXT was hardly more fun to play with than a rabid wolverine juggling poison chainsaws. Since then it has an impressive amount of progress, becoming a respectable engine with a lot of the modern trappings: homing attack targets, combo scoring, boost attack, etc.
&lt;/p&gt;

&lt;p&gt;However, it runs with a system-mangling amount of slowdown on my machine so I can't evaluate it all that well. My impression, though, is that there's nothing really that exciting or new, and that it is bogged down with a heapin' helpin' of unnecessaries. I always raise a critical eyebrow when I unzip the archive to find several megabytes of physics DLLs spilling out like so many packing peanuts. If you can't make a 2D Sonic game without relying on PhysXCore, maybe you're in the wrong line of business.
&lt;/p&gt;

&lt;p&gt;I guess for this one I'll just go with "no comment".
&lt;/p&gt;

&lt;p&gt;Next time I'll go on about Sonic Worlds Level Collab, Sonic 2 Retro Remix, and whatever odds and ends I can scrape together.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-2427612531280666542?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/2427612531280666542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-iii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2427612531280666542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2427612531280666542'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-iii.html' title='SAGE 2011 Reviews (Part III)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i55.tinypic.com/ehbqxd_th.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3441582718554364526</id><published>2011-09-20T22:21:00.000-07:00</published><updated>2011-09-20T22:37:17.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE 2011 Reviews (Part II)</title><content type='html'>&lt;h3&gt;Sonic and Friends 2
&lt;/h3&gt;

&lt;img src="http://i52.tinypic.com/35k205k.jpg" width="60%"&gt;

&lt;p&gt;Sonic and Friends 2 is nearly complete with 11 levels, and the first thing I noticed was that those levels are &lt;i&gt;huge&lt;/i&gt;. They aren't laid out like a traditional Sonic game, though - they feel a lot more boxy and remind me of the kinds of things I used to see in the earlier days of Sonic fangaming. They are by no means bad, though, and I quite like the first few acts. The readme file indicates that the later levels are less complete, and they are decidedly less fun, with cheaper enemy placement and less to do.
&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/2yl07xt.jpg" width="60%"&gt;

&lt;p&gt;I'm quite impressed with the engine, too, especially since it doesn't appear to be any of the usual suspects but an entirely original one. It's not 100% accurate (what ever is?) but it's solid and smooth and I encountered no collision bugs. My personal acid test for a Sonic engine is how the ledge balancing and pushing up against walls works, and neither of those features are implemented here, much like in Sonic Advance 2. That kind of bothers me, but the jumping feels right and I guess that's the main thing. I never found any slowdown, either.
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/33m0q6q.jpg" width="60%"&gt;

&lt;p&gt;My biggest beef is with the music, which is mostly borrowed, but where there actually are original compositions they are repetitive and pretty grating. There is the feature for custom soundtracks, though, which is nice - so I'm not gonna dock too many points for the cruddy music.
&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/8wmcg7.jpg" width="60%"&gt;

&lt;p&gt;I'd say give this one a go. It progresses nicely in a sort of Sonic 3 &amp; Knuckles way, and feels like playing through a proper game. The later, imcomplete levels can be a little frustrating, so you might want to stop immediately when you begin to weary of it rather than pushing on. That way you can leave it with a good feeling, and play the final portion when the finished build is out.
&lt;/p&gt;

&lt;h3&gt;Sonic Axiom
&lt;/h3&gt;

&lt;img src="http://i56.tinypic.com/2nar3td.jpg" width="60%"&gt;
&lt;p&gt;&lt;i&gt;I love the new title screen; a definite improvement over last year.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;A team of highly trained tapdancing butlers are still cleaning up the jizz from when I played Sonic Axiom last year. The prospect of a completed version at this year's SAGE eclipsed my excitement for Sonic Generations and Taxman's Sonic CD, and was even able to temporarily postpone my pathetic pining for the Sonic 1 &amp; 2 Soundtrack, which is no mean feat.
&lt;/p&gt;

&lt;p&gt;Strangely, though, this year I think I've soured on it a little. Probably because I had a whole year for expectations to build and my memories to go rosy, this time around I found quite a bit of it to be, well... lame.
&lt;/p&gt;

&lt;p&gt;Firstly I'm really disappointed by the change from Calcified Caverns to Mineral Mine.
&lt;/p&gt;

&lt;img src="http://i52.tinypic.com/24ci448.jpg" width="40%"&gt; &lt;img src="http://i55.tinypic.com/2yx1b45.jpg" width="40%"&gt;
&lt;p&gt;&lt;i&gt;Left: Calcified Cavern; Right: Mineral Mine&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;It was my favourite level from the 2010 demo, with its beautiful music, fun switch puzzles, and overall atmosphere. Now it feels like a whole different level, and it's &lt;i&gt;not as good&lt;/i&gt;. Waah.
&lt;/p&gt;

&lt;p&gt;In addition to that little letdown, I continually noticed other issues with the game that kept the experience from being pure unadulterated fun: everything has huge hitboxes making parts of the game totally unfair; the physics feel really weird causing too much overcompensation; a lot of the objects and animations seem really poorly programmed, jittering and locking up; and (in the nitpick category) the rings don't make sparkles when collected!
&lt;/p&gt;

&lt;p&gt;A particularly apt example of a choppy object is the Bonus Stage glowing orb - it's brutally basic and barely does a passable job. It makes me cringe, because I'd made those work in even &lt;a href="http://dl.dropbox.com/u/5437265/Engine%20Test.zip"&gt;my crappiest earliest engine&lt;/a&gt;, and trying to make SAGE in time is no excuse because I added them in an hour or two. I refuse to believe I'm superhuman, so Sonic Axiom has no excuse!
&lt;/p&gt;

&lt;img src="http://i52.tinypic.com/2e2jmg1.jpg" width="60%"&gt;

&lt;p&gt;It's not all bad. The levels are still beautiful - easily the best use of repurposed graphics I've ever seen. The layouts are brilliant, giving nods to Sonic CD while still feeling original. The music is pretty good, too, though personally I would have preferred something funkier rather than so mellow.
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/25i29ox.jpg" width="60%"&gt;

&lt;p&gt;If I had the free time, I'd jump at the chance to port this to AeStHete. The content here is too good; it deserves better than a choppy framerate and physics that fight you. Like Sonic Genesis, it's a brilliant game struggling to overcome a less-than-stellar implementation.
&lt;/p&gt;

&lt;p&gt;I doubt that this is the last revision we'll ever see, so there's still hope for the future. Regardless of what happens, though, Sonic Axiom is good enough to deserve a permanent home in my game collection, and I'd still recommend it for anyone else's.
&lt;/p&gt;

&lt;h3&gt;Sonic: Before the Sequel
&lt;/h3&gt;

&lt;img src="http://i54.tinypic.com/2md47qb.jpg" width="60%"&gt;

&lt;p&gt;Sonic BTS is advertised to take place between the events of Sonic 1 and 2, and chronicle the first launch of the Death Egg. Because of this, I was expecting a game that cleaved to a Sonic 1 or 2 style at the expense of any kind of originality.
&lt;/p&gt;

&lt;p&gt;Boy, was that illusion ever shattered.
&lt;/p&gt;

&lt;img src="http://i51.tinypic.com/20zd460.jpg" width="40%"&gt;
&lt;img src="http://i55.tinypic.com/2132ptf.jpg" width="40%"&gt;

&lt;p&gt;Instead, Sonic BTS is far and away the most creative and entertaining Sonic fan game I've played since &lt;a href="http://www.sonicfangameshq.com/forum/showthread.php?t=6645"&gt;Eggman Hates Furries&lt;/a&gt;. The bosses, enemies, level tropes, gimmicks - all of them kept me guessing and put a huge smile on my face. It even has mildly humorous Flash cinemas, for pete's sake! Who couldn't love that?
&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/5wyy5e.jpg" width="40%"&gt; 
&lt;img src="http://i52.tinypic.com/2vcbbl0.jpg" width="40%"&gt;
 
&lt;p&gt;The game borrows sound effects and music from Kirby, Yoshi's Island, and Ristar, which also makes me smile. The creator (LakeFeperd) must be my kind of guy!
&lt;/p&gt;

&lt;p&gt;This is definitely my favourite of SAGE this year, a treat I wasn't expecting at all that really picked my spirits up after the mild disappointment of Sonic Axiom.
&lt;/p&gt;

&lt;p&gt;I don't want to say anything else about it, because that would spoil it. Go play it yourself and remember to thank me for pointing you to it. =P
&lt;/p&gt;

&lt;img src="http://i52.tinypic.com/w7dbfm.jpg" width="40%"&gt;
&lt;img src="http://i51.tinypic.com/4gt2so.jpg" width="40%"&gt;
&lt;p&gt;&lt;i&gt;Beautiful!&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;Next time I'll be looking at some of the modern styled offerings. Stay tuned! (said the barman to the guitar.)
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3441582718554364526?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3441582718554364526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3441582718554364526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3441582718554364526'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-ii.html' title='SAGE 2011 Reviews (Part II)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i52.tinypic.com/35k205k_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5996029720413897726</id><published>2011-09-19T23:07:00.000-07:00</published><updated>2011-09-27T05:59:00.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE 2011 Reviews (Part 1)</title><content type='html'>&lt;p&gt;And now, INPO, here is the first batch of my reviews of the games on offer at &lt;a href="http://www.sagexpo.org/"&gt;this year's SAGE&lt;/a&gt;. There will be more over the next couple of days, but don't expect a review of all the showings; I'm only interested in the Sonic ones and even then there are a few that don't catch my fancy.
&lt;/p&gt;

&lt;h3&gt;Sonic Small World
&lt;/h3&gt;

&lt;img src="http://i52.tinypic.com/35218vn.jpg" width="60%"&gt;

&lt;p&gt;I'm impressed that this is actually a complete functioning level with a handful of objects such as a trampoline and moving platforms. But there's nothing here to really blow me away - or anyone else, for that matter.
&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/n2bzae.jpg" width="60%"&gt;

&lt;p&gt;I don't have much affinity for 3D Sonic engine tests. The effort necessary to make a 3D game even playable, let alone good, usually means that all other departments get neglected. As a result, they are usually very bland and not entertaining, and Sonic Small World is no exception. I'm not going to say it's bad - it's not - but it was probably far more fun for the creator to make, exercising their skills, than it will ever be for an audience to play.
&lt;/p&gt;

&lt;p&gt;As basically all of the artworks and other elements are ripped from other sources, there's nothing really new or creative on offer, either. I'd give it a pass if I were you, unless you're a 3D Sonic engine test enthusiast.
&lt;/p&gt;

&lt;h3&gt;Sonic Zero
&lt;/h3&gt;

&lt;img src="http://i52.tinypic.com/30iatlj.jpg" width="60%"&gt;

&lt;p&gt;I reviewed this one &lt;a href="http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-2.html"&gt;last year&lt;/a&gt; and it hasn't changed much - but it sure has been expanded! There are now 3 working acts and a boss (albeit an embarrassingly easy one).
&lt;/p&gt;

&lt;img src="http://i52.tinypic.com/2vb75vc.jpg" width="60%"&gt;

&lt;p&gt;Though I was lukewarm last year, calling it generic, I've warmed to it this year. I really like the mix of elements, from Sonic's new sprite set, to the appearance of the Golden Shield from Sonic 3D Blast, to the Battle Kukkus from Tails Adventure. I was really enjoying myself, and even though I harbour a certain amount of hate for the Sonic Worlds engine (the way it handles corners and edges is just &lt;i&gt;ass&lt;/i&gt;) it doesn't seem to mar this game too badly. The level design works around a lot of the issues quite cleverly.
&lt;/p&gt;

&lt;p&gt;I am disappointed by some minor changes from last year. The music has been traded out with another remix of Chaotix's Isolated Island (and not a very expert one, at that), which is so overused it makes me groan every time I hear it. And there's a rumble feature that - on my system, at least - makes the identical annoying jolt with every spring and enemy you hit. 
&lt;/p&gt;

&lt;p&gt;I do really appreciate the highly detailed and user-friendly control customisation screen, though. I am sick of games that leave joypad users high and dry, so the Sonic Zero team deserves commendation for rectifying that.
&lt;/p&gt;

&lt;p&gt;And one last thing - why is the intermittent drowning warning (which is traditionally a chime) the Sonic CD drowning countdown sound effect? It's a ridiculous change that makes anyone who's familiar with Sonic CD feel like they're drowning any time they happen to be underwater for a moment.
&lt;/p&gt;

&lt;img src="http://i56.tinypic.com/64qnnd.jpg" width="60%"&gt;

&lt;p&gt;The good far outweighs any complaints I may have with this one, though, so I definitely recommend you check it out. If this ever progresses beyond the "single green zone demo" stage, it'll be a keeper.
&lt;/p&gt;

&lt;h3&gt;Sonic Run 3
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/2s0i7eq.jpg" width="60%"&gt;

&lt;p&gt;This is either a joke, part of a conspiracy to make Game Maker look bad, or made by a developer that needs 5 or 10 more years of practise before they should ever set foot at another SAGE.
&lt;/p&gt;

&lt;p&gt;I won't complain about the visuals - they're actually sort of cute - but the gameplay is totally borked. Which I could excuse if there were complicated loops or something - but the whole game is made of simple boxes. Even then, there's a terrible bug upon all horizontal collisions, making each jump a chore that requires you to stop and start.
&lt;/p&gt;

&lt;p&gt;This would be better suited to &lt;a href="http://info.sonicretro.org/Really_Amateur_Games_Expo"&gt;RAGE&lt;/a&gt;, I'm afraid. Don't waste precious minutes downloading it.
&lt;/p&gt;

&lt;h3&gt;Madcap Grotto
&lt;/h3&gt;

&lt;img src="http://i51.tinypic.com/11qr91u.jpg" width="60%"&gt;

&lt;p&gt;Made by two members of the community I've long respected, Dimension Warped and my bud Overbound, and with music by the inimitable Karl "Sonicesque" Brueggemann, this single level demo delivers a veritable Sonic playground. It has more gimmicks than a sitcom with failing ratings, and when it comes to Sonic zones, that's a very good thing. Along with those gimmicks, a posse of clever new enemy types and an impressively animated boss make for a greatly satisfying experience.
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/qxlc2e.jpg" width="60%"&gt;

&lt;p&gt;What makes a Sonic zone live and breathe for me is when it has a tonne of original stuff for Sonic and his friends to actually &lt;i&gt;do&lt;/i&gt;, rather than the all-too-common "look guys I made Tropical Trope Zone Act 345656frghgjkjkf and the Ring Monitor sound is different!" Be warned though, at least one bit of gadgetry in Madcap Grotto will inspire rage unless you remember the worthy lesson the Barrel of Doom taught us all. =P
&lt;/p&gt;

&lt;p&gt;It's not all roses, though. Some of the usual Sonic Worlds issues rear their ugly heads, and there was plenty of slowdown on my machine (which, to be fair, isn't that high-end). Some of the gimmicks had a bug or two, one of which actually forced me to restart, and the boss - as cool as I think it is - is in a large arena making it difficult to keep track of. Wandering around stupidly while a boss shoots you from offscreen happens to be one of my pet peeves - there's a reason Sonic game don't normally do this, you know!
&lt;/p&gt;

&lt;p&gt;That aside, I'd definitely recommend this audio-visual and gameplay feast.
&lt;/p&gt;

&lt;h3&gt;Project Spikepig
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/2ljnbz8.jpg" width="60%"&gt;

&lt;p&gt;The plaintext manual that accompanied the Project Spikepig executable I found to be incredibly witty, but I'm afraid that's the extent of anything good I have to say about it. The level trope is generic, the level layout is - as the manual admits - "slow, nebulous, confusing, complicated and made by a drunk man", the music is frankly terrible, and the engine is plain vanilla Sonic Worlds at its worst. Give this one a pass.
&lt;/p&gt;

&lt;p&gt;...I suppose the graphics do have a certain charm to them, as well. But it's not enough to save it.
&lt;/p&gt;

&lt;h3&gt;Sonic Gear
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/s335s7.jpg" width="60%"&gt;

&lt;p&gt;Look at that shot and tell me honestly whether it's an improvement over the original:
&lt;/p&gt;

&lt;img src="http://i51.tinypic.com/2ltd9d.jpg" width="60%"&gt;

&lt;p&gt;I didn't even bother playing this for more than a few minutes. It was pretty dire.
&lt;/p&gt;

&lt;h3&gt;Sonic GML
&lt;/h3&gt;

&lt;img src="http://i55.tinypic.com/snja1j.jpg" width="60%"&gt;

&lt;p&gt;This is such a clumsy mess I have no idea where to begin. It's weird because there's so much content and so much "completed", it must have been worked on for a long time. But there's absolutely no polish or charm whatsoever.
&lt;/p&gt;

&lt;p&gt;A pass, then.
&lt;/p&gt;

&lt;h3&gt;Sonic Mobius
&lt;/h3&gt;
&lt;img src="http://i52.tinypic.com/hs1ct1.jpg" width="60%"&gt;
&lt;p&gt;Sonic Mobius, judging from the material at its homepage, has a lot of potential. This demo, however, is yet another "single green zone demo". As such it would be unfair of me to evaluate it. I'll only say this - I don't think it was ready to be shown off.
&lt;/p&gt;

&lt;p&gt;Sorry it's got to be so abrupt. Next time I'll be giving my thoughts on some of the heavier hitters: Sonic Axiom, Sonic and Friends 2, and Sonic: Before the Sequel. Those will be in greater depth.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5996029720413897726?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5996029720413897726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5996029720413897726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5996029720413897726'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/sage-2011-reviews-part-1.html' title='SAGE 2011 Reviews (Part 1)'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i52.tinypic.com/35218vn_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8696150769331998184</id><published>2011-09-19T02:19:00.000-07:00</published><updated>2011-09-19T02:30:06.759-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Expo-sition</title><content type='html'>&lt;p&gt;SAGE, a.k.a. the &lt;a href="http://www.sagexpo.org/"&gt;Sonic Amateur Games Expo&lt;/a&gt;, is now in full swing. Unfortunately it's coinciding with a particularly busy and tumultuous time in my life, but that seems increasingly to be the case with me. Nevertheless, I'm going to try and review most of this year's offerings as I did &lt;a href="http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-1.html"&gt;last year&lt;/a&gt;, while they're still relevant.
&lt;/p&gt;
&lt;p&gt;I'm also going to review the &lt;a href="http://sonicresearch.org/hackingcontest/"&gt;Hacking Contest&lt;/a&gt; entries, but since I'm a judge this year I'm going to do that once the results have been comfortably revealed through the proper channels. Anything else would be bad form, doncha know.
&lt;/p&gt;
&lt;p&gt;This year, for the first time, I'm actually involved with one of the games on display (Sonic Fan Remix didn't make it to SAGE last year thanks to a poorly timed illness on my end). So do a bloke a favour and visit the &lt;a href="http://timetwisted.sonicstrike.net/sage2011/"&gt;Sonic Time Twisted booth&lt;/a&gt;. Said bloke being you, of course, because there's sum good eatin's t'be had thar.
&lt;/p&gt;
&lt;p&gt;I think the showing this year is phenomenal, and I can't wait to get started.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8696150769331998184?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8696150769331998184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/expo-sition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8696150769331998184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8696150769331998184'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/expo-sition.html' title='Expo-sition'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-2515935779057743930</id><published>2011-09-09T10:18:00.000-07:00</published><updated>2011-09-09T10:19:45.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Speaking of Hidden Palace...</title><content type='html'>&lt;p&gt;I made a remix!
&lt;/p&gt;

&lt;iframe width="560" height="345" src="http://www.youtube.com/embed/_H2bYvhrXjA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;I wanted to make it sound like the opening to a wushu movie; it could use some more polish but meh.
&lt;/p&gt;

&lt;p&gt;Y'all win an internet cookie if you can ascertain where I lifted the drum sample from. =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-2515935779057743930?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/2515935779057743930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/speaking-of-hidden-palace.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2515935779057743930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2515935779057743930'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/speaking-of-hidden-palace.html' title='Speaking of Hidden Palace...'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/_H2bYvhrXjA/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7988080562708674266</id><published>2011-09-09T09:14:00.000-07:00</published><updated>2011-09-09T10:08:04.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>A Musical Mystery Still Unsolved</title><content type='html'>&lt;p&gt;While &lt;a href="http://info.sonicretro.org/Michael_Jackson"&gt;Michael Jackson's involvement with Sonic 3's soundtrack&lt;/a&gt; seems to get all the press, the mysteries surrounding Sonic 2's soundtrack by &lt;a href="http://info.sonicretro.org/Dreams_Come_True"&gt;Masato Nakamura&lt;/a&gt; capture my interest to a much greater degree. With the release of the &lt;a href="http://translate.google.com/translate?sl=auto&amp;tl=en&amp;js=n&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;u=http%3A%2F%2Fnews.dctgarden.com%2F2011%2F09%2F121019.html"&gt;Sonic 1&amp;amp;2 Original Soundtrack&lt;/a&gt; imminent, I'm hoping some of these mysteries will finally be put to rest by the demo material that's promised to be included.
&lt;/p&gt;

&lt;p&gt;There are many questions I'd like answered about Sonic 2's music. For example, were the 2-Player tunes originally intended for zones that didn't make the cut, but included in their current capacity in order to avoid discarding Masato Nakamura music for which Sega had already payed good money? But today I want to discuss a single issue in particular: The strange and wonderful subject that is the Hidden Palace music.
&lt;/p&gt;

&lt;p&gt;In the interest of full disclosure I must admit that my take on all things Hidden Palace is quite aberrant due to the circumstances of my experience. Back when I first played Sonic 2 the only things I knew about the beta and the removed zones were those titbits which I chanced across in gaming magazines like Sega Visions. Any knowledge of the &lt;a href="http://info.sonicretro.org/Sonic_the_Hedgehog_2_(Simon_Wai_prototype)"&gt;Simon Wai prototype&lt;/a&gt; and the Sonic hacking scene would have to wait over a decade for me to dip my toes into the Internet. For whatever reasons, I just never encountered any &lt;i&gt;screenshots&lt;/i&gt; of Sonic 2's Hidden Palace, but only a brief mention of it by name in the letters section of a gaming mag. The only visual evidence of missing levels I saw was this shot (later &lt;a href="http://info.sonicretro.org/Dust_Hill#Mockup_Image"&gt;confirmed to be a mockup made by Sega&lt;/a&gt;):
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i52.tinypic.com/2ze05ly.jpg" width="256"&gt;
&lt;/p&gt;

&lt;p&gt;Completing the trifecta was an unused song in Sonic 2's sound test, &lt;a href="http://www.youtube.com/watch?v=khkpopBv9zg"&gt;number $10&lt;/a&gt; (that's hexadecimal for 16, for all you non-computer-obsessed types). Between the name Hidden Palace, the screenshot of a missing zone, and an unused song, I made the only assumption I could given the paucity of evidence (and the mental faculties of a 7-year-old): All these bits of info were related to the same zone. In my defense, Sonic 3 had a 2-Player level called Desert Palace, which - using logic a conspiracy theorist would be proud of - I thought helped cement matters.
&lt;/p&gt;

&lt;p&gt;Once I found the glorious resource that is &lt;a href="http://info.sonicretro.org/"&gt;Sonic Retro&lt;/a&gt; years later and opened the floodgates of &lt;a href="http://info.sonicretro.org/Sonic_the_Hedgehog_2_(Simon_Wai_prototype)"&gt;info on the Sonic 2 Beta&lt;/a&gt;, I had to update my mistaken understanding. However, this didn't help erase over a decade of picturing that desert zone with that music and that name. Boohoo for me - I used to pronounce "echidna" wrong, too. Sometimes you just have to change your mind and move on.
&lt;/p&gt;

&lt;p&gt;But I was invested for another reason. As evinced by the "about me" box in the sidebar of this blog, my main project is "a Sonic the Hedgehog fan game that retells the story of the original Mega Drive titles in unprecedented detail and depth." (If that doesn't sound bombastic, what does? =P) Part of that unprecedented detail and depth is the inclusion of material from the beta versions of the games - an idea which has been done to death by now but which I still wish to be part of my own project. If I include both the desert zone from that screenshot &lt;i&gt;and&lt;/i&gt; Hidden Palace in my remake, I want to give them the right music. I don't want my choices to be influence by bullshit theories, not from my 7-year-old self nor from an internet forum. I want the music for each zone to be as accurate a reflection of the developer's original intent as possible (perhaps mixed with the slightest dash of what I deem to be most apposite as an artist).
&lt;/p&gt;

&lt;p&gt;Anyway, this isn't exactly the subject of this article. I've already &lt;a href="http://forums.sonicretro.org/index.php?showtopic=16964"&gt;made a thread&lt;/a&gt; thinking aloud about whether or not the unused track was intended for Hidden Palace or not. When I was informed that it was indeed the song associated with the zone when the zone is accessed (through hacking) in the retail version of Sonic 2, I was content with that. No, my subject is a different, but related, question about Hidden Palace's music.
&lt;/p&gt;

&lt;p&gt;This question arises because of a hack known as &lt;a href="http://info.sonicretro.org/Sonic_2_Long_Version"&gt;Sonic 2 Long Version&lt;/a&gt;. In this hack, Hidden Palace (among other cut zones) is restored to a playable state, and sound test $10 is the music it's given. Here's a video of it in action:
&lt;/p&gt;

&lt;iframe width="420" height="345" src="http://www.youtube.com/embed/SecgWxmQfHo" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;As a slavering Masato Nakamura fanboy it pains me to say this, but that song is &lt;i&gt;really&lt;/i&gt; inappropriate for that zone. It's heavy, sluggish, boring, and feels detached from the action.
&lt;/p&gt;

&lt;p&gt;Such an assertion would fall squarely in opinion territory, if it not for some objective facts. Before I get to those, though, let's just take a look and listen at how Hidden Palace feels in the Sonic 2 beta:
&lt;/p&gt;

&lt;iframe width="420" height="345" src="http://www.youtube.com/embed/NgMELhdYPGE" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;Here, it has the tune which is known to players of the final build as Mystic Cave 2-Player. I would argue that this song is far more fitting, despite the fact that it is still unusual for a "zone music" from a compositional standpoint (it's a stretto fugue that lacks the emotional dynamism of other zones, perhaps because the bassline refuses to change chord throughout the song's duration).
&lt;/p&gt;

&lt;p&gt;Of course one can hardly learn anything from the music assignments in the Sonic 2 beta; Oil Ocean plays the Casino Night 2-Player theme, even though Oil Ocean's theme is present and accounted for in the sound test. If Oil Ocean Zone's music from the final was not intended for that zone from the get go, I'm a doughnut. (Some folks suggest it may have been intended for the desert zone, but that's nonsense - the desert zone is an American desert, replete with cacti and buttes, not an Arabian desert.)
&lt;/p&gt;

&lt;p&gt;It's unusual for a Nakamura "zone music" to not be fitting. As stated in &lt;a href="http://info.sonicretro.org/Masato_Nakamura_interview_by_Sonic_City"&gt;this interview&lt;/a&gt; (and also by Takashi Iizuka in the &lt;a href="http://info.sonicretro.org/Flying_Battery_Zone#Sonic_Team_Commentary_.28from_Sonic_Jam_Strategy_Guide.29"&gt;Sonic Jam strategy guide&lt;/a&gt;), Nakamura didn't just compose a bag of music which was then alotted to each zone like a jolly neighbour handing out Halloween candy. He took a gander at concept art and even test footage of the zones, then composed themes for each with close attention payed to their pace and atmosphere. These songs need to encourage what Sonic does best: running and jumping. As such they are all flavoured with rock, funk, and jazz with time signatures that drive the action along. None of them do anything &lt;i&gt;boneheaded&lt;/i&gt; like being a &lt;i&gt;waltz&lt;/i&gt; which suggests endless circular motion; no, that's reserved for the stately rotating Sonic 1 Special Stage where it fits like a glove.
&lt;/p&gt;

&lt;p&gt;Or do they? Let's take another look at sound test $10. Yes, folks - it's a waltz. Just like the Sonic 1 Special Stage. Hidden Palace, instead of having a respectable theme that encourages the actions and motions most likely to be found in a zone, it has a slow, dragging theme that - while a beautiful tune - suggests an unchanging environment.
&lt;/p&gt;

&lt;p&gt;Yes, this is one of those objective facts I promised earlier. Hidden Palace is a waltz. Say what you will about opinions and bullshit internet theories, but it's pretty incontrovertible. Furthermore, it's the only "zone music" that is (Death Egg's music doesn't count, because it's not a full zone). The only other waltz in the Nakamura Sonic canon? The Sonic 1 Special Stage theme. 
&lt;/p&gt;

&lt;p&gt;Using this passing similarity (&lt;a href="http://forums.sonicretro.org/index.php?showtopic=16964&amp;view=findpost&amp;p=337647"&gt;which has been noted before&lt;/a&gt;) as a starting point, I decided to check deeper into the two songs to see if there were any other similarities. Perhaps I would learn something interesting; after all, Nakamura is known to reuse motifs in songs that convey similar themes. You don't have to take my word for it, either. Not only is it well known that the title theme, invincibility theme, ending theme, and Super Sonic theme are all based on the same composition (one might consider it "Sonic's theme"), but there are other examples.
&lt;/p&gt;

&lt;p&gt;Robotnik's Sonic 1 theme and Final Zone (here, the arpeggio, melody, &lt;i&gt;and&lt;/i&gt; accompaniment are all similar):
&lt;/p&gt;

&lt;iframe width="560" height="345" src="http://www.youtube.com/embed/_lZR5uqtPwU" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;i&gt;Robotnik's theme and the final boss theme in Sonic 2 also revisit the militaristic percussion and have related structures. Nakamura knew exactly how to evoke Robotnik, in the same way John Williams might reuse instruments and motifs to suggest the Empire in Star Wars.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;Super Sonic's theme and the Sonic 2 Special Stage:
&lt;/p&gt;

&lt;iframe width="560" height="345" src="http://www.youtube.com/embed/fodwLtj5RYA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;i&gt;That sound evokes the unbridled power of the Chaos Emeralds. It's no mistake that it's part of Super Sonic's theme and the theme of the stages in which the Chaos Emeralds that power him are collected.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;So are there similarities between Hidden Palace Zone and the Sonic 1 Special Stage beyond that of both being waltzes? Well, yes. They both have similar chords progressions, as well as overall superficial similarities: they're both comparatively short, and are made of a main melody that loops twice before a much shorter coda brings them back around to the beginning (&lt;a href="http://forums.sonicretro.org/index.php?showtopic=16964&amp;view=findpost&amp;p=337739"&gt;this has also been noted before&lt;/a&gt;). But the most damning evidence is a literally reused motif!
&lt;/p&gt;

&lt;iframe width="560" height="345" src="http://www.youtube.com/embed/OUI7fLZSTKA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;i&gt;This is barely audible in the original song with all the other tracks going, but it's really there nonetheless!&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;This leaves no doubt in my mind that sound test $10 was written by Nakamura with the explicit intention to hark back to the Special Stages of the first game. I would also bet money that it was never meant to be heard behind a zone with traditional gameplay.
&lt;/p&gt;

&lt;p&gt;And that's as far as I'm willing to go... on the record. If I give myself over to speculation, I would say this: What we know as Mystic Cave 2-Player was indeed composed for Hidden Palace. But as development progressed it became clear that Hidden Palace would not make the cut - at least not as a full zone. At some point in Sonic 2's development Hidden Palace was given a makeover, giving it a purpose similar to that of the zone from Sonic &amp;amp; Knuckles with the same name. &lt;a href="http://info.sonicretro.org/Hidden_Palace_Zone"&gt;Yuji Naka as much as confirms this&lt;/a&gt;. When the zone's new purpose was decided, Nakamura was conscripted to compose a new, more suitable them for it. As the zone was involved with the Chaos Emerald lore, he composed a song which borrowed heavily from Sonic 1's Special Stage. But when it was decided to scrap the zone altogether, the newly madeover Hidden Palace was never included in the ROM, even though the song assignment was updated. The displaced song was given to Mystic Cave 2-Player, because - let's not quibble here - the zone has a very similar feel to Hidden Palace (underground, brown, green, and purple).
&lt;/p&gt;

&lt;p&gt;But relying on speculation is unwise. Like Carl Sagan, I try not to think with my gut. For all I know sound test $10 was composed for a rotating Special Stage that never made it into Sonic 2. Or maybe Nakamura had a brainfart and just composed the world's most ill-fitting tune for Hidden Palace. This is why I'm so excited for the Sonic 1&amp;amp;2 Original Soundtrack release. On October 19th maybe some of these long-standing mysteries will be cleared up!
&lt;/p&gt;

&lt;p&gt;Until then I will rest happy knowing that I discovered an interesting connection between two songs in Nakamura's Sonic canon. And if it's been common knowledge in the community for years now, well then won't I feel silly! =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7988080562708674266?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7988080562708674266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/musical-mystery-still-unsolved.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7988080562708674266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7988080562708674266'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/09/musical-mystery-still-unsolved.html' title='A Musical Mystery Still Unsolved'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i52.tinypic.com/2ze05ly_th.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1687180297399912310</id><published>2011-08-24T09:22:00.000-07:00</published><updated>2011-08-24T09:29:03.521-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><title type='text'>Code of the Ninja Moves House</title><content type='html'>Just a heads up: all future "Code of the Ninja" posts can be found at its new dedicated blog, &lt;a href="http://ninjanocode.blogspot.com/"&gt;Code of the Ninja&lt;/a&gt;. Please update your following procedures accordingly.

And, er... go there now, 'cos there's a new post. =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1687180297399912310?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1687180297399912310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/08/code-of-ninja-moves-house.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1687180297399912310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1687180297399912310'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/08/code-of-ninja-moves-house.html' title='Code of the Ninja Moves House'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8051440082075851352</id><published>2011-07-23T22:28:00.000-07:00</published><updated>2011-07-23T22:32:32.075-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>ReadySonic is released!</title><content type='html'>&lt;p&gt;From the perspective of the average player, the 16-bit &lt;i&gt;Sonic the Hedgehog&lt;/i&gt; titles are among the most solidly made and least glitchy games from the era. Playing them &lt;i&gt;ad nauseum&lt;/i&gt; in my youth I found them to be virtually bugfree, and I certainly never encountered anything gamebreaking.
&lt;/p&gt;
&lt;p&gt;However, from the perspective of Sonic-hacking nerds with nothing better to do, the games contain bugs and other niggling flaws that can number in the hundreds. This doesn't reflect badly on Yuji Naka and his team - no programmer can truly squash &lt;i&gt;every&lt;/i&gt; bug - but once you notice them they're hard to ignore.
&lt;/p&gt;
&lt;p&gt;As one of these nitpicking players, I always thought it would be cool to have a "fixed" version of the games. When released by Sega, they had tight deadlines and a fixed number of playtesters. But the intervening years have seen them combed through, inside and out, by scads of Sonic hackers the world 'round. Surely a hacker could, with this accumulated knowledge, make more nearly perfect versions?
&lt;/p&gt;
&lt;p&gt;Though I'm somewhat impulsive by nature, this idea was not quite enough to cause me to undertake such a project myself. But in combination with something else, it was enough to drive me to try.
&lt;/p&gt;
&lt;p&gt;That "something else" was playing a lot of Sonic hacks. Many of them are inspired and a great lot of fun. But they inevitably inherit the tiny flaws from their template games, which inflames my OCD. Some hackers go ahead and fix one or more of the bigger and well-documented bugs, but everyone can't be expected to squash the whole list in each hack they make.
&lt;/p&gt;
&lt;p&gt;Hence I had the idea for the "ReadySonic" project. Starting with Sonic 1, I would make hacked versions of each of the games that fixed every problem I knew about. Then I would release their disassemblies. Using the enormous power I wield in the community, I would then encourage all future hackers to use my disassemblies as the base for their projects instead of the plain vanilla versions of the games.
&lt;/p&gt;
&lt;p&gt;...Okay, so that last part is far-fetched. But I hoped that at least some people might benefit from the project, if only by looking at the code instead of outright using the whole thing for their hack.
&lt;/p&gt;
&lt;p&gt;To make a long story short, I ended up making a lot of progress with Sonic 1, but ultimately decided to abandon the project. Why? For one, I'm cynical enough to doubt anyone is going to use a disassembly they aren't already used to, regardless of the benefits. For another, I simply got too busy. The time I devote to Sonic projects would be much better spent on &lt;a href="http://intheshadeofawave.blogspot.com/2011/05/aesthete.html"&gt;AeStHete&lt;/a&gt;, and I assume most would agree with me on that.
&lt;/p&gt;
&lt;p&gt;So I'm releasing the nearly-complete ReadySonic source for Sonic 1. For the download and a list of the mods and fixes I made, please visit the &lt;a href="http://intheshadeofawave.blogspot.com/p/readysonic.html"&gt;project's home page&lt;/a&gt;.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8051440082075851352?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8051440082075851352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/07/readysonic-is-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8051440082075851352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8051440082075851352'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/07/readysonic-is-released.html' title='ReadySonic is released!'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3633876968088611641</id><published>2011-07-21T01:03:00.000-07:00</published><updated>2011-07-21T01:12:34.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Stardust Speedway</title><content type='html'>&lt;p&gt;My favourite Sonic zone of all time is getting a 3D makeover for Generations, and I'm starting to get a little giddy!
&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i56.tinypic.com/2ztfymc.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i52.tinypic.com/fwtb3o.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;I spy with my little eye what looks to be a Ferris wheel. It seems they're mashing up elements of the good future and the bad future, then.
&lt;/p&gt;
&lt;p&gt;Also, Sega should know better than to &lt;a href="http://i56.tinypic.com/2u73p93.jpg"&gt;pose their classic designs alongside their modern ones&lt;/a&gt;. It only serves to highlight how hideous and misshapen the modern ones actually are.
&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;...Oh, right. I haven't posted since the middle of June? Well, suffice it to say I'm still alive, and in the pink again. I should have something of moderate interest to reveal soon, too (it has to do with Sonic hacking).
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3633876968088611641?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3633876968088611641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/07/stardust-speedway.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3633876968088611641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3633876968088611641'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/07/stardust-speedway.html' title='Stardust Speedway'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i56.tinypic.com/2ztfymc_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3678482017805774891</id><published>2011-06-16T18:36:00.000-07:00</published><updated>2011-06-16T18:38:44.412-07:00</updated><title type='text'>Downtime</title><content type='html'>This is brief post letting everyone know that I'll be (even more) inactive here over the next weeks/months as I convalesce from surgery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3678482017805774891?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3678482017805774891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/06/downtime.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3678482017805774891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3678482017805774891'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/06/downtime.html' title='Downtime'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-330255924049749230</id><published>2011-05-09T02:10:00.000-07:00</published><updated>2011-05-09T02:13:52.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>AeStHete</title><content type='html'>&lt;p&gt;Here and there I've coyly mentioned that I'm working on a Sonic game engine in Game Maker, for instance in this &lt;a href="http://forums.sonicretro.org/index.php?showtopic=18575"&gt;old thread&lt;/a&gt; (in which I unwisely muddied the issue by illustrating the engine with a remake of the 8-bit &lt;i&gt;Sonic 1&lt;/i&gt;, which is now indefinitely shelved) or in a now-out-of-date &lt;a href="http://www.youtube.com/watch?v=vM7wRc5cjvA"&gt;YouTube video&lt;/a&gt; or two.
&lt;/p&gt;

&lt;p&gt;But I realise that nowhere have I really officially announced it. Time to fix that!
&lt;/p&gt;

&lt;img src="http://i55.tinypic.com/2ebhjlz.jpg" width="400" alt="Thanks to Overbound for the snazzy logo graphic! ^_^" title="Thanks to Overbound for the snazzy logo graphic! ^_^"&gt;

&lt;p&gt;Announcing &lt;i&gt;AeStHete&lt;/i&gt;, "An Excellent Sonic The Hedgehog Engine That's Editable"! (After much struggle I managed to find a name that was obscure, immodest, &lt;i&gt;and&lt;/i&gt; annoying to type! Am I cool or am I cool?) It's made in Game Maker, but there's a possibility it will be ported in the future.
&lt;/p&gt;

&lt;p&gt;Screenies:
&lt;/p&gt;

&lt;img src="http://i51.tinypic.com/3503v2u.jpg" alt="Sonic looks annoyed at being in yet one more GHZ remake." title="Sonic looks annoyed at being in yet one more GHZ remake."&gt;

&lt;p&gt;&lt;i&gt;'What's wrong with the HUD?' I hear you asking. Well, how else would you know it wasn't a screenshot of the real game? It's just that good, folks!&lt;/i&gt;
&lt;/p&gt;

&lt;img src="http://i54.tinypic.com/5prev8.jpg" alt="The zone graphics are optionally fogged out to make the objects being edited stand out." title="The zone graphics are optionally fogged out to make the objects being edited stand out."&gt;

&lt;p&gt;&lt;i&gt;Waaaa! What's all this about? Yes, you can enter Edit Mode at any time and create or modify levels as you play - there's no need for a separate level editor. The interface can be customised, and there are several resolution options for Edit Mode.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;Though I began making &lt;i&gt;AeStHete&lt;/i&gt; expressly for my own Sonic fangame project, I've decided to make it totally Open Source - so, in addition to being able to edit levels and so on using the interface, you'll also be able to modify the interface and engine yourself in whatever way you see fit (that is, if you know Game Maker's scripting language). Think of it like hacking a ROM, only instead you're hacking a fangame.
&lt;/p&gt;

&lt;p&gt;Because of this, &lt;a href="http://info.sonicretro.org/Sonic_Time_Twisted"&gt;Sonic Time Twisted&lt;/a&gt; will be the first game to use &lt;i&gt;AeStHete&lt;/i&gt; once it's finished. When will that be? I can't really say (I've as much as promised demos before and missed the deadline, and I'm not interested in doing that again). The thing is I keep finding bugs - and then discovering that these bugs actually &lt;i&gt;exist in the original Yuji Naka engine&lt;/i&gt;, and that means I can't simply do more research into the originals in order to solve them. I have to work out how to improve on the engine myself, and this takes some time. (Why not settle for "as good as the original?" I'm a perfectionist, dammit!)
&lt;/p&gt;

&lt;p&gt;But rest assured that progress (and a lot of it) is being made. On that note, I made a &lt;a href="https://twitter.com/#!/MercurySilver/status/66780259562954752"&gt;semi-mysterious tweet&lt;/a&gt; a couple days ago saying I was happy about some obstacle I had overcome. I was referring to having successfully implemented &lt;a href="http://forums.sonicretro.org/index.php?showtopic=25192"&gt;palette cycling&lt;/a&gt;, an effect which classic consoles could do in their sleep, but that Game Maker &lt;a href="http://replay.web.archive.org/20060111164001/http://www.gamemaker.nl/todo.html"&gt;doesn't natively support&lt;/a&gt; (scroll to the bottom of the page for Mark Overmars' list of things he'll never add). In the end, pixel shaders, specifically &lt;a href="http://gmc.yoyogames.com/index.php?showtopic=492876"&gt;this shader extension&lt;/a&gt;, came to the rescue. Now I can confidently say that &lt;i&gt;AeStHete&lt;/i&gt; can do everything the original 16-bit games do, just as well and often better.
&lt;/p&gt;

&lt;p&gt;Now that the hedgehog's properly and officially out of the bag, I'll probably be blogging and tweeting about &lt;i&gt;AeStHete&lt;/i&gt;'s progress more often, like this:
&lt;/p&gt;

&lt;pre&gt;
 I just typed a line of code.
 
 Oops - made a mistake. Hit backspace a few times.
 
 Compiling and testing now...
 
 Damn, omitted a semicolon.
 
 Okay, that's got it. It works now, but I think I should increase this value a bit...
 
 Pausing for snack. BRB
&lt;/pre&gt;

&lt;p&gt;What, not that often? Whatever.
&lt;/p&gt;
&lt;p&gt;Ingrates.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-330255924049749230?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/330255924049749230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/05/aesthete.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/330255924049749230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/330255924049749230'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/05/aesthete.html' title='AeStHete'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i55.tinypic.com/2ebhjlz_th.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1438745610837761774</id><published>2011-05-04T02:02:00.000-07:00</published><updated>2011-05-04T02:04:37.182-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Finally.</title><content type='html'>&lt;p&gt;I've been waiting 15 years to see a screenshot like this in a magazine article about an upcoming Sonic game.
&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/2upfk37.jpg"&gt;
&lt;p&gt;Thanks, Sega. That is all.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1438745610837761774?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1438745610837761774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/05/finally.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1438745610837761774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1438745610837761774'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/05/finally.html' title='Finally.'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i51.tinypic.com/2upfk37_th.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5931738007186525295</id><published>2011-04-19T13:25:00.000-07:00</published><updated>2011-04-19T13:39:49.182-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Thoughts on Sonic Generations</title><content type='html'>&lt;p&gt;When Project Needlemouse was revealed to be Sonic 4, I made a &lt;a href="http://intheshadeofawave.blogspot.com/2010/02/sonic-4.html"&gt;post&lt;/a&gt; which contained a fair amount of (what I hoped was biting) criticism of the trailer, and by extension the game itself. It garnered a few 'Right on, brother!'s from people I respect, but it also incited hateful comments (which were frankly hilarious) and was reposted on a handful of gaming forums, inevitably with some sort of 'look at how much this guy is bitching' topic.
&lt;/p&gt;
&lt;p&gt;During the wait for Sonic Colours, I ended up keeping mum about the whole thing; not because I'd become shy of touching off another controversy, but because I realised that I just didn't feel very strongly about it. There wasn't anything for me to say that wasn't already being endlessly said &lt;i&gt;passim&lt;/i&gt; (if you'll excuse the gratuitous and clumsy use of Latin). There's such a fine line between adding to the conversation, and adding to the noise.
&lt;/p&gt;
&lt;p&gt;Despite the above, and despite the fact that lately I've been rather busy as well as feeling sort of apathetic about things and letting this blog languish, I feel I just have to weigh in on Sonic Generations.
&lt;/p&gt;
&lt;p&gt;And this time I have no complaints. I never thought I'd live to see the day!
&lt;/p&gt;
&lt;iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/tV1Osnkr5Nc" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;First, just to get it out of the way, I have to chuckle at the obvious similarities to &lt;a href="http://sonicfanremix.com/"&gt;Sonic Fan Remix&lt;/a&gt;. The concept of trying to recapture the awesomeness that was Classic Sonic is of course a natural one, and one that well predates both SFR and Sonic Generations, but seeing Sega's offering come so hot on its heels makes me chuckle inwardly. We'll probably never know, of course - Sega would never admit it - but it would be cool to think that Pelikan and I had a tiny part in making Sonic Generations a reality. As if I wasn't insufferable enough as it is.
&lt;/p&gt;
&lt;p&gt;Second, I have to talk about Classic Sonic's return (or, as he's referred to now in a fast-spreading meme, C.Sonic). I've always been a pretty vocal detractor in regards to Sonic's Dreamcast redesign (which somehow stuck and has now lasted quite a bit longer than the original design), calling it everything from a "green-eyed monster" to "octopus-headed gurning freak". (And to those who always countered by pointing out - condescendingly, always condescendingly - how &lt;i&gt;little&lt;/i&gt; difference there really was between the two designs, I say HAH - see them &lt;a href="http://i56.tinypic.com/o5w8ro.jpg"&gt;side by side&lt;/a&gt; and say that now.) Call me simple, call me afraid of change, call me mired in the past - whatever the case may be, whether the failing is on my part or Sega's, it remains true that I prefer C.Sonic and always will. As much as I like him over M.Sonic, though, I was completely unprepared for how much of an impact it would actually make on me to see Sega bring him back. Having now seen it happen for real, I realise that it was in fact the crux of the issue the whole time, the deciding factor that makes me smile uncontrollably when watching previews of the game instead of reaching for a nearby chalice (or pot) in which I can empty the contents of my stomach.
&lt;/p&gt;
&lt;p&gt;Does that make me a horrible, shallow person? Sega just slaps C.Sonic in a game and I'm suddenly their undying apostle, an unthinking thrall who will follow them, lemming-like, wherever they may lead? Well, no... otherwise I would be over the moon for Sonic Schoolhouse. I think what it comes down to is that, while C.Sonic is no panacea, no matter how good every other aspect of a game might get, M.Sonic still needles me and prevents my pure and unadulterated enjoyment of it. It's hard to describe exactly why, but M.Sonic's presence (especially in Sonic 4) feels like a slap in the face, like someone saying, 'you know that thing you like more than anything else in the world? Yeh, it's &lt;i&gt;laaaame&lt;/i&gt;, and this one's better. Oh, and you're a stupid delegitimate ludite if you don't admit it!'
&lt;/p&gt;
&lt;p&gt;Grrr, enough about this M.Sonic stuff. The point is that this time I'm actually happy, yes &lt;i&gt;happy&lt;/i&gt;, and unreservedly so, about an upcoming Sonic game. Not only am I over the moon about cuddly C.Sonic's return, something about seeing him and M.Sonic teaming up makes me also - incredibly - like M.Sonic more as well. All it takes is Sega admitting that C.Sonic is valuable &lt;i&gt;too&lt;/i&gt;, officially saying that the two of them can peaceably coexist, and it's like there's finally closure. (And it's not just the return of &lt;i&gt;Sonic's&lt;/i&gt; classic design itself, but the apparently loving attention to detail on the model and the presence of other things like yellow springboards and classic Eggman/Robotnik that do it for me too. I can't wait to see C.Tails now!)
&lt;/p&gt;
&lt;p&gt;And now I'm going to say something I really thought I'd never say in all my years - Sega's idea for this game is deeply ingenious. Yes, that's what I said - &lt;i&gt;deeply ingenious&lt;/i&gt;. What makes me think so? Isn't it just another pathetic rehash-fest like Sonic 4 and... well, everything else we've seen in the last few years?
&lt;/p&gt;
&lt;p&gt;No, at least not to me. And not just because this interpretation of Green Hill Zone is the best I've ever seen it (with the possible exception of Sonic Fan Remix, but even still there are some things in Sonic Generations' version I prefer. 'You speak blasphemy, sir!' 'Yes, fluently.'). The biggest reason why I think Sonic Generations works fabulously well on a fundamental level is because I look at it like this: Why did Sonic Unleashed suck? Why did Sonic and the Black Knight suck? Because they kept adding horrible gimmicks that fans of Sonic gameplay just couldn't stand. But Sega didn't do this just to be perverse - they aren't stupid or cruel after all. These things were added to &lt;i&gt;pad the experience&lt;/i&gt; because no one will buy a 2-hour long game these days - at least not for upwards of 50 bucks.
&lt;/p&gt;
&lt;p&gt;But finally, with Sonic Generations, a solution that works. Play as M.Sonic for an exhilarating, Unleashed-day-stage, run-till-your-feet-bleed rollercoaster ride. There is no doubting that this is extremely fun, if a little shallow. So what does Sega add for depth? A sword? A Werehog? Of course not - what kind of fool would come up with ideas like &lt;i&gt;that&lt;/i&gt;? Instead they add C.Sonic gameplay, with the technical platforming that classic players crave. In one stroke they've solved the schism that has been the franchise's most glaring flaw &lt;i&gt;and&lt;/i&gt; padded their game to a respectable size. It's amazing this wasn't thought of before.
&lt;/p&gt;
&lt;p&gt;The only sad thing in all this good news is the sobering thought that this can't possibly be true for the next Sonic game. There can't be temporal warps for the rest of time - after the blow-out anniversary celebrations it'll be back to business as usual. My fervent hope is that this could be the start of a branch in the franchise - sort of like how Zelda's Windwaker-style Link has his own independently running series. Hey, a guy can dream, right?
&lt;/p&gt;
&lt;p&gt;Now if you'll excuse me, I have to go watch a certain trailer over and over.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5931738007186525295?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5931738007186525295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/04/thoughts-on-sonic-generations.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5931738007186525295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5931738007186525295'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/04/thoughts-on-sonic-generations.html' title='Thoughts on Sonic Generations'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/tV1Osnkr5Nc/default.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-35483481478927885</id><published>2011-03-19T11:06:00.000-07:00</published><updated>2011-03-19T11:15:22.579-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Jump Height Calculator</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;

&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Hello again, Code Ninjas!
&lt;/p&gt;
&lt;p&gt;Today is something very simple: a formula that allows you to plug in variables for "jump force" and "gravity" and get the maximum height of a jump as the result.
&lt;/p&gt;
&lt;p&gt;When designing platformers, tweaking the physics until they're just right is very important. Having a formula such as this will be useful for zeroing in on exactly what values constants like gravity should have.
&lt;/p&gt;
&lt;p&gt;Another use might be this: say you already have established physics, for instance because you're hacking a Sonic game. But you want to add a new object, such as a new kind of bumper or spring, that bounces Sonic exactly 5 times his height. Determining the force at which Sonic should be impelled by the object in order to achieve that height would be a snap using the following formula.
&lt;/p&gt;
&lt;p&gt;The simplest way to write the formula is this:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
g = gravity;&lt;br&gt;
f = jumpForce;&lt;br&gt;
h = 0;&lt;br&gt;
t = 0;&lt;br&gt;
&lt;b&gt;while&lt;/b&gt; ( f &gt; 0 )&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;h += f;&lt;br&gt;
&amp;nbsp;&amp;nbsp;f -= g;&lt;br&gt;
&amp;nbsp;&amp;nbsp;t += 1;&lt;br&gt;
}&lt;br&gt;
&lt;b&gt;return&lt;/b&gt; h;
&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;g&lt;/i&gt; is your gravity, and &lt;i&gt;f&lt;/i&gt; is the jump force, which can be set to anything. In Sonic, for example, gravity is 0.21875pps (pixels per step) and the jump force is 6.5pps.
&lt;/p&gt;
&lt;p&gt;&lt;i&gt;h&lt;/i&gt; is the height value we are trying to find out - the number of pixels the character will travel given the jump force &lt;i&gt;f&lt;/i&gt; with gravity &lt;i&gt;g&lt;/i&gt;. &lt;i&gt;t&lt;/i&gt; is time, which is optional - it will be the number of steps it takes to reach the apex of the jump. Both &lt;i&gt;h&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt; are initialised at 0.
&lt;/p&gt;
&lt;p&gt;Then we run a loop while &lt;i&gt;f&lt;/i&gt; is greater than 0. In the loop, first &lt;i&gt;f&lt;/i&gt; is added to &lt;i&gt;h&lt;/i&gt;, then &lt;i&gt;g&lt;/i&gt; is subtracted from &lt;i&gt;f&lt;/i&gt;. This simulates the jump: the force acts upon the character's position, then the gravity acts upon the force. &lt;i&gt;t&lt;/i&gt; is then incremented by 1 in order to count the time.
&lt;/p&gt;
&lt;p&gt;When the loop is finished, &lt;i&gt;h&lt;/i&gt; will be the ultimate height of the jump.
&lt;/p&gt;
&lt;p&gt;Note that this code assumes your physics to handle similarly to Sonic's. In Sonic, because of the particulars of the original code, the jump force is added once to the character's position before gravity acts upon it. If this is not the case in your game, then the loop should be restructured accordingly; &lt;i&gt;g&lt;/i&gt; should be subtracted from &lt;i&gt;f&lt;/i&gt; before &lt;i&gt;f&lt;/i&gt; is added to &lt;i&gt;h&lt;/i&gt;.
&lt;/p&gt;
&lt;p&gt;Earlier I said "the simplest way" to write the formula. The truth is that this, while simple, is a rather brute force method. Depending on the strength of the jump force and gravity, the loop could run dozens of times. Yes, modern computers can handle this without breaking a sweat, and yes, you probably won't even be using the formula in a running game, anyway. But for the sake of mathematical beauty, we can find a better way that doesn't employ a loop.
&lt;/p&gt;
&lt;p&gt;So let's build this new formula piece by piece. First, we need to find how many steps it will take for gravity to whittle the jump force away to 0 (or less). This will be time &lt;i&gt;t&lt;/i&gt; again.
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
g = gravity;&lt;br&gt;
f = jumpForce;&lt;br&gt;
t = &lt;em&gt;ceil&lt;/em&gt;(f/g);
&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;We find &lt;i&gt;t&lt;/i&gt; by dividing &lt;i&gt;f&lt;/i&gt; by &lt;i&gt;g&lt;/i&gt; and rounding up to the nearest 1. Why the rounding up? Well, if the jump force isn't perfectly divisible by gravity, the remainder would still count as upward velocity and the player would still move up by a little bit during that step. Since it counts toward the total, it must be taken into account.
&lt;/p&gt;
&lt;p&gt;Now that we know how long the jump will take to reach the apex, we can easily discover the distance the character would travel during that time, &lt;i&gt;without&lt;/i&gt; gravity, merely by multiplying &lt;i&gt;f&lt;/i&gt; by &lt;i&gt;t&lt;/i&gt;.
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
h = f*t;
&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Of course this seems a little silly, because we're trying to find the height covered &lt;i&gt;with&lt;/i&gt; gravity taken into account. But knowing this value is useful; 'cos if we can also determine how much force is deducted by gravity from the jump force over &lt;i&gt;t&lt;/i&gt; steps, we can multiply gravity by that number, subtract it from &lt;i&gt;h&lt;/i&gt;, and have our correct result. 
&lt;/p&gt;
&lt;p&gt;In the first step (&lt;i&gt;t&lt;/i&gt; = 0), the jump force is unaffected. In the next, it is lesser by gravity. In the next, it is lesser by gravity again, i.e. it is equal to the initial jump force value minus gravity times two. Next step, times three, then in the next, times four, and so on, until gravity overcomes the jump force in step &lt;i&gt;t&lt;/i&gt;-1.
&lt;/p&gt;
&lt;p&gt;Visually represented, you might think of the amount of force lost to gravity as a triangular stack like this:
&lt;/p&gt;
&lt;pre&gt;
----- (t=0)
g---- (t=1)
gg--- (t=2)
ggg-- (t=3)
gggg- (t=4)
ggggg (t=5)
...
&lt;/pre&gt;
&lt;p&gt;Fortunately it is easy to find the area of a triangle such as this by finding the area of a square the size of &lt;i&gt;t&lt;/i&gt;*&lt;i&gt;t&lt;/i&gt;-1 and then cutting that value in half. (If, as mentioned above, your physics subtract gravity before the character moves once, the square should have a size of &lt;i&gt;t&lt;/i&gt;*&lt;i&gt;t&lt;/i&gt;+1 instead).
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
h -= t*(t-1)*0.5*g;
&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Et voilà&lt;/i&gt;, you have the correct height of the jump, identical to the result of the while statement method used above.
&lt;/p&gt;
&lt;p&gt;Finally, because multiplication is a commutative process, the formula can be recast in a simpler way for our final code:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
g = gravity;&lt;br&gt;
f = jumpForce;&lt;br&gt;
t = &lt;em&gt;ceil&lt;/em&gt;(f/g);&lt;br&gt;
h = (f-((t-1)*0.5*g))*t;&lt;br&gt;
&lt;b&gt;return&lt;/b&gt; h;
&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;You can find a small example .gmk &lt;a href="http://dl.dropbox.com/u/5437265/Code%20of%20the%20Ninja/jump%20height%20calculator.gmk"&gt;here&lt;/a&gt; that lets you play with the variables to get different jump heights. Until next time, happy coding!
&lt;/p&gt;


&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you do! Just drop me a comment below, or e-mail me at &lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-35483481478927885?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/35483481478927885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-jump-height-calculator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/35483481478927885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/35483481478927885'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-jump-height-calculator.html' title='Code of the Ninja: Jump Height Calculator'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3451188314876623267</id><published>2011-03-02T09:17:00.000-08:00</published><updated>2011-03-02T09:24:16.789-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja - Partially Erasing Surfaces in GM</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;

&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Hey there, Code Ninjas!
&lt;/p&gt;

&lt;p&gt;One of the cool things about Game Maker 8 is the ability to export PNGs with an alpha channel for transparency. There's no separate functions for doing so, though; if you want to be sure the exported image is in PNG format, you have to make sure the extension is explicitly ".png", like so:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;em&gt;sprite_save&lt;/em&gt;("sprite.png");&lt;br&gt;
&lt;em&gt;screen_save_part&lt;/em&gt;("screenie.png",320,224);&lt;br&gt;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;It's especially cool to create partially transparent surfaces and export them. After creating a surface, you can use the draw_clear_alpha() function to make it completely transparent:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;em&gt;surface_set_target&lt;/em&gt;(surface);&lt;br&gt;
&lt;br&gt;
&lt;em&gt;draw_clear_alpha&lt;/em&gt;(c_black,0); &lt;i&gt;// clear the entire surface with fully transparent colour&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;surface_reset_target&lt;/em&gt;();&lt;br&gt;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;One thing that's annoying, though, is the way that drawing with a partial alpha to a surface works. Instead of blending with the colour underneath, the colour is completely replaced, alpha and all. Effectively this punches "holes" in the surface image.
&lt;/p&gt;

&lt;p&gt;You'd think this could exploited to create some kind of eraser tool. Draw pixels with an alpha of 0 to the surface to erase pixels that are already there, leaving fully transparent pixels behind.
&lt;/p&gt;

&lt;p&gt;This doesn't work, though, for some reason. Very low alpha values such as 0 or 0.01 function exactly as you'd normally expect when drawing to the screen, even though higher values such as 0.7 differ when using surfaces.
&lt;/p&gt;

&lt;p&gt;So much for the ability to erase pixels from a surface using that method... But there is another way.
&lt;/p&gt;

&lt;p&gt;Set the blend mode to bm_subtract before drawing to the surface and you'll effectively be able to erase from the image:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;em&gt;surface_set_target&lt;/em&gt;(surface);&lt;br&gt;
&lt;br&gt;
&lt;em&gt;draw_set_blend_mode&lt;/em&gt;(bm_subtract);&lt;br&gt;
&lt;em&gt;draw_set_color&lt;/em&gt;(c_white); &lt;i&gt;// color doesn't actually matter&lt;/i&gt;&lt;br&gt;
&lt;em&gt;draw_set_alpha&lt;/em&gt;(1); &lt;i&gt;// alpha must be 1 to fully erase pixels&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;// erase an "X" across the surface&lt;/i&gt;&lt;br&gt;
&lt;em&gt;draw_line&lt;/em&gt;(0,0,&lt;em&gt;surface_get_width&lt;/em&gt;(surface),&lt;em&gt;surface_get_height&lt;/em&gt;(surface));&lt;br&gt;
&lt;em&gt;draw_line&lt;/em&gt;(&lt;em&gt;surface_get_width&lt;/em&gt;(surface),0,0,&lt;em&gt;surface_get_height&lt;/em&gt;(surface));&lt;br&gt;
&lt;br&gt;
&lt;em&gt;draw_set_blend_mode&lt;/em&gt;(bm_normal);&lt;br&gt;
&lt;br&gt;
&lt;em&gt;surface_reset_target&lt;/em&gt;();&lt;br&gt;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;This trick may come in handy on occasion, especially when making games where the user is allowed to paint custom textures for things - an erase tool is essential.
&lt;/p&gt;

&lt;p&gt;Until we meet again, happy coding!
&lt;/p&gt;

&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you do! Just drop me a comment below, or e-mail me at &lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3451188314876623267?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3451188314876623267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-partially-erasing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3451188314876623267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3451188314876623267'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-partially-erasing.html' title='Code of the Ninja - Partially Erasing Surfaces in GM'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3506622010074477475</id><published>2011-03-01T09:31:00.000-08:00</published><updated>2011-03-01T09:38:32.103-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Looking Up and Down</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;

&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Hello again, Code Ninjas!
&lt;/p&gt;
&lt;p&gt;In most 2D platformers the player has the ability to shift the camera a short way by holding up or down on the D-pad. In Sonic games, it works great but there is minor flaw that's hard to notice and really doesn't cause any problems, but I thought it would nice to show how to fix it anyway.
&lt;/p&gt;

&lt;p&gt;The problem arises when the player looks up or down near the top or bottom boundaries of the level (or whatever current boundaries the camera is limited to). In order to understand the problem, we need to look at the basic idea behind shifting the camera.
&lt;/p&gt;

&lt;p&gt;If there were no ability to look up or down, the process would be really simple. The camera would simply follow the player's position directly, with a simple check to make sure it doesn't leave the level boundaries. In order to shift the camera up and down, though, an extra step is needed. An offset is added to the player's Y position before the camera follows it. By increasing or decreasing the offset value when the up or down buttons are pressed, the camera will shift vertically relative to the player's position.
&lt;/p&gt;

&lt;p&gt;Clearly there need to be maximum and minimum values that the offset can't exceed, otherwise the player could continue to scroll the camera freely until it reached the top or bottom of the level. Normally this behaviour is not desired, so limits are set that will keep the player visible on the screen.
&lt;/p&gt;

&lt;p&gt;Imagine for a moment, though, that there aren't. Say the player is looking up - the offset decreases and decreases. It will continue to decrease even after the camera stops at the top of the level, because the offset doesn't know when to quit. The camera is limited, sure, and the player never sees beyond the boundary of the level, but the offset value is still decreasing away.
&lt;/p&gt;

&lt;p&gt;Now what would happen if the player stops pressing up? The offset value will start increasing until it returns to 0 (no shift at all). But depending on how long you've been pressing up, you'll have to wait a few moments before the camera starts to visibly scroll back to the neutral position. After all, the offset has been invisibly counting away for an undetermined amount of time, and that extra time has to be made up for when it tries to return.
&lt;/p&gt;

&lt;p&gt;This example with no upper/lower limit for the offset illustrates the problem I'm talking about, and that we're going to fix. It's less noticable when limits are present for the offset, because the value can't continue to increase or decrease indefinitely, but it's still there. If you've got a copy of any Genesis Sonic game, try looking up or down near the top or bottom of a zone and see for yourself. Scandalous, isn't it?
&lt;/p&gt;

&lt;p&gt;It may not be the worst problem in the world, but it can be fixed, so let's give it a go.
&lt;/p&gt;

&lt;p&gt;There are actually two solutions. One would be to reduce the offset by the appropriate amount when the player lets up from pressing up or down, but that's not the solution I'll describe. Why not? Because that method would require the detection of when up or down is released, which - while certainly possible - is harder to slot right into the way the code already works in the original Sonic.
&lt;/p&gt;

&lt;p&gt;Let's look at some basic code for handling the offset, and then we'll apply the fix to it.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;cam_step()&lt;/h1&gt;&lt;p&gt;
shiftMode = 0; &lt;i&gt;// reset shift mode&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; ( &lt;em&gt;joy&lt;/em&gt;( UP ) ) shiftMode = -1; &lt;i&gt;// player is looking up&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; ( &lt;em&gt;joy&lt;/em&gt;( DOWN ) ) shiftMode = 1; &lt;i&gt;// player is looking down&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;switch&lt;/b&gt; ( shiftMode )&lt;br&gt;
&lt;b&gt;{&lt;/b&gt;&lt;br&gt;
&lt;b&gt;case&lt;/b&gt; 0: &lt;i&gt;// camera is recentring&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;lt; 0) shiftOffset += 2; &lt;i&gt;// scroll down if too high&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;gt; 0) shiftOffset -= 2; &lt;i&gt;// scroll up if too low&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;break&lt;/b&gt;;&lt;br&gt;
&lt;b&gt;case&lt;/b&gt; -1: &lt;i&gt;// camera is shifting up&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;gt; -shiftLimit ) shiftOffset -= 2; &lt;i&gt;// scroll up until reach negative limit&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;break&lt;/b&gt;;&lt;br&gt;
&lt;b&gt;case&lt;/b&gt; 1: &lt;i&gt;// camera is shifting down&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;lt; shiftLimit ) shiftOffset += 2; &lt;i&gt;// scroll down until reach positive limit&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;break&lt;/b&gt;;&lt;br&gt;
&lt;b&gt;}&lt;/b&gt;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;The problem occurs in case -1 and case 1: stopping at the shiftLimit isn't good enough, because at the top and bottom of the level, we need to stop increasing or decreasing early.
&lt;/p&gt;

&lt;p&gt;How close to the top or bottom of the level must one be in order for the undesired behaviour to occur? Close enough that the distance between the top/bottom of the camera and the top/bottom of the level is less than the shiftLimit.
&lt;/p&gt;

&lt;p&gt;This suggests the solution. Instead of using the shiftLimit alone, we should use whichever happens to lesser - the shiftLimit or the difference between the view boundary and the level boundary.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;cam_step()&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;case&lt;/b&gt; -1: &lt;i&gt;// camera is shifting up&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;r = &lt;em&gt;min&lt;/em&gt;( shiftLimit, &lt;strong&gt;view_yview&lt;/strong&gt; - shiftOffset );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;gt; -r ) shiftOffset -= 2; &lt;i&gt;// scroll up until reach negative limit&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;break&lt;/b&gt;;&lt;br&gt;
&lt;b&gt;case&lt;/b&gt; 1: &lt;i&gt;// camera is shifting down&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;r = &lt;em&gt;min&lt;/em&gt;( shiftLimit, levelBottom - ( ( &lt;strong&gt;view_yview&lt;/strong&gt; - shiftOffset ) + &lt;strong&gt;view_hview&lt;/strong&gt; ) );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; ( shiftOffset &amp;lt; r ) shiftOffset += 2; &lt;i&gt;// scroll down until reach positive limit&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;break&lt;/b&gt;;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;(The reason why shiftOffset has to be subtracted from view_yview is so the difference won't change once the screen starts scrolling and the offset starts to change.)
&lt;/p&gt;

&lt;p&gt;And that's all that's needed. It may not be much, but obsessive compulsives will enjoy the game more!
&lt;/p&gt;

&lt;p&gt;If you enjoyed this and the previous Code of the Ninja, be sure to come back tomorrow for one more before I slip back into the shadows. =P
&lt;/p&gt;

&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you do! Just drop me a comment below, or e-mail me at &lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3506622010074477475?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3506622010074477475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-looking-up-and-down.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3506622010074477475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3506622010074477475'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/03/code-of-ninja-looking-up-and-down.html' title='Code of the Ninja: Looking Up and Down'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5286335345716885860</id><published>2011-02-28T09:40:00.000-08:00</published><updated>2011-02-28T09:52:50.265-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Checking Multiple Joypad Buttons</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;

&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Welcome back, Code Ninjas!
&lt;/p&gt;

&lt;p&gt;I apologise for not posting in such a long time (I know ninjas are supposed to be silent, but not &lt;i&gt;that&lt;/i&gt; silent), but I've been working on a couple of projects that I hope will soon suprise and delight.
&lt;/p&gt;

&lt;p&gt;Right now, though, I want to talk about an improvement to my earlier &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-joy-to-world.html"&gt;Joypad code&lt;/a&gt;. I've been interacting a lot recently with disassemblies of &lt;i&gt;Sonic the Hedgehog&lt;/i&gt;, and it's a great learning experience. Regardless of what might have happened to the Sonic series over the years, Yuji Naka's programming remains an inspiration to me. Studying his code has taught me plenty of little tricks, not least because the Genesis is very limited by today's standards and it took a lot of skill to squeeze great results out of it.
&lt;/p&gt;

&lt;p&gt;Anyway, last time I had described a system that updates a variable called JoyCurrent each step with the current state of the joypad, with each bit representing one button. There was also a second variable called JoyPrevious in which JoyCurrent is stored right before JoyCurrent gets updated. And finally, a third variable called JoyPast, only there to smooth out problems with cheap joypads that occasionally glitch up.
&lt;/p&gt;

&lt;p&gt;There were three scripts: joy() for checking if a button is down; joy_pressed() for checking if a button is down now but not one step ago; and joy_released() for checking if a button is up now but not one step ago (or even two steps ago, in the case of the aforementioned glitchy controllers).
&lt;/p&gt;

&lt;p&gt;But I've since discovered a serious deficiency with the joy_pressed() and joy_released() scripts. They can't check for more than one button at a time without causing problems. Let me explain.
&lt;/p&gt;

&lt;p&gt;Since JoyCurrent and its related variables contain bits that are either on or off to represent the state of buttons on the joypad, checking the state of a button is as easy as testing any given bit with code like this:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;return&lt;/b&gt; ( JoyCurrent &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; );
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;where argument0 is a value such as 1 (for testing the first bit), 2 (for testing the second bit), 4 (for testing the third bit), and so on. It's best to define these values as constants so that they can be sensibly named after the buttons, like A, B, LEFT, or START.
&lt;/p&gt;

&lt;p&gt;Anyone paying enough attention can see that you can test for more than one button simultaneously just by passing a value as argument0 that has more than 1 bit on. For instance, you could pass a value like 65535 to test if any button was down, or you could use OR to test any combination such as LEFT|RIGHT.
&lt;/p&gt;

&lt;p&gt;Now, the way the script was written it will return true if &lt;i&gt;any&lt;/i&gt; bit of argument0 matches up with one in JoyCurrent. If you want to be sure &lt;i&gt;all&lt;/i&gt; the bits match, then you'd have to write something like this:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;if&lt;/b&gt; (&lt;em&gt;joy&lt;/em&gt;(LEFT|RIGHT)==LEFT|RIGHT) &lt;b&gt;then&lt;/b&gt; ...
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;This is all very well and good, but it falls apart when we get to joy_pressed(). This is how it was written:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy_pressed()&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;return&lt;/b&gt; ( JoyCurrent &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; ) &lt;b&gt;and&lt;/b&gt; !( JoyPrevious &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; );
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Now suddenly, because of that boolean "and", the value being returned is degraded - it's now only useful as true or false and doesn't give us as much information. Worse, the following happens:
&lt;/p&gt;

&lt;p&gt;Imagine you want to check whether A, B, or C are pressed, like in the old Sonic games where any of the three buttons makes him jump or Spin Dash. You don't care if one of the buttons is already down when another is pressed - you still want to detect the new press. The way my code was written, this is impossible with only one call to joy_pressed() because if &lt;i&gt;any&lt;/i&gt; of the bits is on in JoyPrevious, the new press won't be detected. The only solution would be to make multiple calls something like this:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;if&lt;/b&gt; (&lt;em&gt;joy_pressed&lt;/em&gt;(A) &lt;b&gt;or&lt;/b&gt; &lt;em&gt;joy_pressed&lt;/em&gt;(B) &lt;b&gt;or&lt;/b&gt; &lt;em&gt;joy_pressed&lt;/em&gt;(C)) &lt;b&gt;then&lt;/b&gt; ...
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;which is just tacky and consumes more processor time. It would be far better to be able to type:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;if&lt;/b&gt; (&lt;em&gt;joy_pressed&lt;/em&gt;(A|B|C) then...
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;and have it be done with. (Of course, A|B|C could be a constant called JUMPBUTTON or something, too, to make it even nicer.)
&lt;/p&gt;

&lt;p&gt;Well, then, how can we change the code so that this is possible? I'm glad you asked that.
&lt;/p&gt;

&lt;p&gt;At the end of the script joy_step() (the one that updates JoyCurrent and JoyPrevious), we need to update two new variables, JoyPressed and JoyReleased (not to be confused with the scripts that have similar names!) These should be global variables, declared in joy_init().
&lt;/p&gt;

&lt;p&gt;These variables are destined to behave just like JoyCurrent, only for pressed and released. Just like how you can test to see if buttons are down by checking JoyCurrent as joy() does:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy()&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;return&lt;/b&gt; ( JoyCurrent &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; );
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;you'll be able to check which buttons are newly down or up in one simple comparison by rewriting joy_pressed like so:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy_pressed()&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;return&lt;/b&gt; ( JoyPressed &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; );
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;and joy_released() like so:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy_released()&lt;/h1&gt;&lt;p&gt;
&lt;b&gt;return&lt;/b&gt; ( JoyReleased &amp;amp; &lt;strong&gt;argument0&lt;/strong&gt; );
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;(At this point these scripts are all so simple you might not even want to make them scripts at all, but merely type JoyPressed&amp;amp;BUTTON anywhere you would have typed joy_pressed(BUTTON), but it's up to you.)
&lt;/p&gt;

&lt;p&gt;This sounds great, and it will solve all of the problems I mentioned above, but I haven't told you yet &lt;i&gt;how&lt;/i&gt; to update JoyPressed and JoyReleased at the end of joy_step(). It requires a little bit of explanation, though, so we can understand the underlying principles. Otherwise, it would get confusing and complex if you ever need to expand upon it.
&lt;/p&gt;

&lt;p&gt;First, let's look at a visual representation of our variables. I'm assuming only 8 buttons for convenience. Here's a state with no buttons down:
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - -
JoyCurrent:  - - - - - - - -
&lt;/pre&gt;

&lt;p&gt;Let's press the first button (we'll call it A).
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - -
JoyCurrent:  - - - - - - - A
&lt;/pre&gt;

&lt;p&gt;Now let's, without advancing a step yet, add a third variable to this visual guide, temp. It's contents will be JoyPrevious AND JoyCurrent (i.e. "temp = JoyPrevious&amp;JoyCurrent;").
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - -
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - -
&lt;/pre&gt;

&lt;p&gt;As far as temp is concerned, nothing has happened! But what happens when we do advance one step, without letting go of A?
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - A
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - A
&lt;/pre&gt;

&lt;p&gt;JoyPrevious becomes JoyCurrent, JoyCurrent remains the same, and temp finally notices what's going on. Clearly, temp is no good for checking buttons that are newly down, because for one temp has only detected the new press one step late, and for two if we continue to hold A temp will not revert to 0. Merely using bitwise AND (&amp;amp;) isn't enough. We need to do one more calculation, XOR (^). Let's go back to our previous step:
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - -
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - -
&lt;/pre&gt;

&lt;p&gt;and add a fourth variable, called JoyPressed. It's contents will be temp ^ JoyCurrent.
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - -
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - -
JoyPressed:  - - - - - - - A
&lt;/pre&gt;

&lt;p&gt;By XORing temp and JoyCurrent, JoyPressed contains only bits that are different between them. In the next step, the magic happens:
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - A
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - A
JoyPressed:  - - - - - - - -
&lt;/pre&gt;

&lt;p&gt;Now JoyPressed has reverted to 0, meaning it accurately represents buttons pressed - bits will only trigger for one frame when their corresponding button is pressed. The same thing will happen even if A is released instead of held down:
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - A
JoyCurrent:  - - - - - - - -
temp:        - - - - - - - -
JoyPressed:  - - - - - - - -
&lt;/pre&gt;

&lt;p&gt;And, if a new button is pressed while another is held down, it will still be detected as a new press:
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - - A
JoyCurrent:  - - - - - - B A
temp:        - - - - - - - A
JoyPressed:  - - - - - - B -
&lt;/pre&gt;

&lt;p&gt;Fantastic! Let's add another variable, JoyReleased, that is temp ^ JoyPrevious (instead of JoyCurrent) and advance one step while releasing B (but not A).
&lt;/p&gt;

&lt;pre&gt;
JoyPrevious: - - - - - - B A
JoyCurrent:  - - - - - - - A
temp:        - - - - - - - A
JoyPressed:  - - - - - - - -
JoyReleased: - - - - - - B -
&lt;/pre&gt;

&lt;p&gt;The same principle operates as with JoyPressed. We just solved the problem. Hooray! The actual code at the end of joy_step() would look something like this:
&lt;/p&gt;

&lt;pre&gt;
JoyPressed = ( JoyPrevious &amp; JoyCurrent ) ^ JoyCurrent;
JoyReleased = ( JoyPrevious &amp; JoyCurrent ) ^ JoyPrevious;
&lt;/pre&gt;

&lt;p&gt;Really the only thing to be done now is make sure that cheap joypads don't cause false press and release events simply because the signal is interrupted for a step once in a while. This is easily done by ORing JoyPrevious and JoyPast together to create a sort of "buffered" previous state when checking for presses, and ORing JoyCurrent and JoyPrevious together for a buffered current state (and using JoyPast in place of JoyPrevious where it used to appear in the line) when checking for releases. For example:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy_step()&lt;/h1&gt;&lt;p&gt;
JoyPressed = ( ( JoyPrevious | JoyPast ) &amp;amp; JoyCurrent ) ^ JoyCurrent;&lt;br&gt;
JoyReleased = ( ( JoyCurrent | JoyPrevious ) &amp;amp; JoyPast ) ^ JoyPast;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Conceivably you could also, instead of doing everything in 2 lines, store more information like so:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;joy_step()&lt;/h1&gt;&lt;p&gt;
JoyCurrentBuffered = JoyCurrent | JoyPrevious;&lt;br&gt;
JoyPreviousBuffered = JoyPrevious | JoyPast;&lt;br&gt;
&lt;br&gt;
JoyDown = JoyPreviousBuffered &amp;amp; JoyCurrent;&lt;br&gt;
JoyUp = JoyCurrentBuffered &amp;amp; JoyPast;&lt;br&gt;
&lt;br&gt;
JoyPressed = JoyDown ^ JoyCurrent;&lt;br&gt;
JoyReleased = JoyUp ^ JoyPast;
&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;This way you could check JoyDown or JoyUp to see whether a button is down but &lt;i&gt;not&lt;/i&gt; pressed, or up but &lt;i&gt;not&lt;/i&gt; released, which might be useful. Hey, you never know.
&lt;/p&gt;

&lt;p&gt;That takes care of today's subject. I'll be posting again soon. Until then, happy coding!
&lt;/p&gt;

&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you do! Just drop me a comment below, or e-mail me at &lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5286335345716885860?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5286335345716885860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/02/code-of-ninja-checking-multiple-joypad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5286335345716885860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5286335345716885860'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/02/code-of-ninja-checking-multiple-joypad.html' title='Code of the Ninja: Checking Multiple Joypad Buttons'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8323624341147208358</id><published>2011-01-05T22:24:00.000-08:00</published><updated>2011-01-25T12:34:57.371-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>The Most Famous Fastest Hedgehog Alive In The World</title><content type='html'>&lt;p&gt;&lt;i&gt;UPDATE: This article has been featured at &lt;a href="http://www.saturdaymorningsonic.com/"&gt;Saturday Morning Sonic&lt;/a&gt;, so you could zoom over and &lt;a href="http://www.saturdaymorningsonic.com/features/famous"&gt;read it there&lt;/a&gt; instead.&lt;/i&gt;&lt;/p&gt;

&lt;img src="http://i53.tinypic.com/27ys1g.jpg" height="192" width="256" /&gt;  &lt;img src="http://i51.tinypic.com/eim9sz.jpg" width="256" /&gt;
&lt;p&gt;&lt;i&gt;Sonic is described as "the Most Famous Hedgehog in the World" on the original Mega Drive boxart, and as "the Fastest Thing Alive" in the theme song of the Saturday morning cartoon.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;When I was young, I watched both Sonic cartoons - &lt;a href="http://info.sonicretro.org/Sonic_the_Hedgehog_%28TV_series%29"&gt;&lt;i&gt;Sonic the Hedgehog&lt;/i&gt;&lt;/a&gt; (SatAM) and &lt;a href="http://info.sonicretro.org/Adventures_of_Sonic_the_Hedgehog"&gt;&lt;i&gt;Adventures of Sonic the Hedgehog&lt;/i&gt;&lt;/a&gt; (AoStH) - at the same time as I played the Sonic games on the Sega (well, not the &lt;i&gt;same&lt;/i&gt; time; I'm not &lt;i&gt;that&lt;/i&gt; good at multi-tasking!)
&lt;/p&gt;

&lt;p&gt;I could tell there were marked differences between them all, but I never felt that they were in conflict. They all felt equally "Sonic" to me, and to this day I still like them all equally. (In the interest of full disclosure I should admit that I did go through a brief "purist" phase in the early 2000's. It was then that I was first discovering (through Sonic Adventure, the &lt;a href="http://info.sonicretro.org/Sonic_the_Hedgehog_%28anime%29"&gt;OVA&lt;/a&gt;, and information on the Internet) the original Japanese Sonic "canon". Being a big anime nut I temporarily considered it superior - mostly because Sonic was drawn so much cooler in the early Japanese art. This was as I say only a "phase" because after the dust settled I realised that I now had twice as much Sonic than before. There was no need for a false dichotomy that would only reduce it back to half.)
&lt;/p&gt;

&lt;p&gt;Sure, there were things in one version of Sonic that weren't in the others (most notably, the characters that never crossed over) but the thing that was important to me - Sonic's personality - was consistent across them all. I had no trouble imagining "the Fastest Thing Alive" Sonic in Sonic 2; when he turned toward me, impatient, tapping his foot and looking at his watch ('I'm waaaaaiting....'); as he blazed across hilly landscapes with Tails whirling after ('Up, over, and gone!'). In fact I had no reason at all &lt;i&gt;not&lt;/i&gt; to imagine him that way. Likewise, the Sonic in the cartoons was still "the Most Famous Hedgehog in the World"; when he spun into a spiky ball and destroyed robotic enemies; when he used the power of Rings; when he fought to rescue his friends from being turned into robots by the mad Dr Robotnik. He was "the Most Famous Fastest Hedgehog Alive in the World." =P
&lt;/p&gt;

&lt;p&gt;I respect the opinion of those who personally dislike the cartoons but love the games (there are many of them) or don't care much for the games but love the cartoons (there are a few). I even sympathise on many points: I'm p.o.'ed that Knuckles never showed up in SatAM, I think Sonic's spines are depicted too much like fins in the American art, I wish my favourite Freedom Fighters had appeared in the games, and so on. Everyone's opinions are different, depending on what they grew up with or what happens to strike their fancy. There's no reason - or need - for me to oppose that.
&lt;/p&gt;

&lt;p&gt;But there's some things I just won't have said: that SatAM "isn't Sonic"; that it could have been about "any other furry" and been just the same; that the games (and their universe, and by extension Sonic Team's current characters and world) are objectively superior for some reason; or that SatAM just "doesn't count" because it throws out a lot of the games' concepts (or completely reworks them). Sometimes the haters will go so far as to &lt;make up="" lies="" cloth=""&gt; to marginalise the American Sonic - such as the laughably and &lt;a href="http://intheshadeofawave.blogspot.com/2009/09/mobius-fallacy.html"&gt;demonstrably&lt;/a&gt; false claim that the name "Mobius" is some sort of mistake - in an attempt to make Sega of America look like careless buffoons.
&lt;/make&gt;&lt;/p&gt;

&lt;p&gt;I don't know why there is so much resistance (in rare cases bordering on bigotry against the fans) to the side of Sonic that I grew up with. It would be one thing if I was talking about some obscure Icelandic version of Sonic that appeared only once on a gimmicky push-button picture book, but this is the portrayal of Sonic that was used in America - you know, that place where Sonic was the most successful? (And was &lt;i&gt;more&lt;/i&gt; successful before Sega "internationalised" the franchise. &lt;i&gt;Tcheh&lt;/i&gt;, what a filthy euphemism - it's not like they borrowed any Western elements besides the fleeting use of the name "Robotnik".)
&lt;/p&gt;

&lt;p&gt;Is there hate because a large swath of SatAM fans are furries? I mean, as open as I am to alternative sexualities, BunnieXAntoine porn is just too much... but that's really no excuse to dislike SatAM fans specifically. I mean, there's just as much inflatable Rouge smut in the other camp.
&lt;/p&gt;

&lt;p&gt;Is there hate because of the Archie comic? It's a katamari ball of turtles, mammoths, and other crap, and it's gone off the rails more times than I can count. There are plenty of good reasons to criticise its many examples of poor art and storytelling, but that shouldn't reflect on the SatAM universe - the Archie comic is a melting pot of &lt;i&gt;all&lt;/i&gt; versions of Sonic. They've done just as much damage to Shadow, Amy Rose, and their own original characters as they have to any of the Freedom Fighters. Archie's suckage is equal opportunity suckage.
&lt;/p&gt;

&lt;p&gt;The only reason that makes any sense to me whatsoever (though it's not a good reason by any stretch) is the one I have personal experience with: the whole "purity" thing. The feeling that maybe this isn't what Sonic is "supposed to be".
&lt;/p&gt;

&lt;p&gt;If this feeling can colonise and spread in a mind like mine, which was pumped full of Knothole, Robotropolis, Swatbots, and Uncle Chuck at a tender young age, then even the most die-hard American Sonic fan's loyalties can start to drift to a new Sonic iteration - especially when that new iteration is seen to be more "real" or "correct".
&lt;/p&gt;

&lt;p&gt;But this pernicious perception is only an illusion, and it doesn't do the victim any favours (I'm certainly not proud of the era I spent as a snobbish purist). I didn't quite &lt;i&gt;alienate&lt;/i&gt; my friends who also liked SatAM, but I must have afflicted them with a fair amount of confusion and frustration. It was as if I wasn't doing my own thinking. Like some mind virus that makes one superstitiously and obsessively eat only white foods, I was restricting my Sonic "diet" arbitrarily.
&lt;/p&gt;

&lt;p&gt;What's that actually mean in down-to-earth language? It means I was not watching the show anymore, I was getting rid of old merchandise, and I wasn't drawing those characters. Also - since I've been designing my own Sonic fan games since I first had the physical strength to pick up a pen - it meant not including what used to be some of my favourite characters and concepts in my own creations.
&lt;/p&gt;

&lt;p&gt;On the other side of this, with the sobered hindsight of one who is no longer an angry teenager trying to fit life into neat partitions, I wish that I had seen the myth of purity for what it was. This is just about Sonic, but human nature is a continuum - I recognise this as the same "in-group, out-group" mentality that fuels racism and inspires atrocities. I'm very glad to be wiser.
&lt;/p&gt;

&lt;p&gt;All of the arguments I had used to assert SatAM's inferiority to the "real" universe of the games, as well as all the ones I hear bandied about online, fall apart on closer scrutiny - that is to say, even a brief second glance.
&lt;/p&gt;

&lt;p&gt;The first - and perhaps most important - thing to keep in mind is that the classic games don't even &lt;i&gt;have&lt;/i&gt; a universe in any strong sense. There is a handful of events, less than a dozen characters, and no dialogue. Of course, the classic games are awesome, and Sonic Team did an amazing job of making Sonic compelling and cool with what they had. Sonic's personality oozed from his sprites, something we take for granted in today's world of fluid cartoon graphics and motion-captured acting. I'm certainly not going to argue in favour of SatAM by turning around and shitting on the games' world.
&lt;/p&gt;

&lt;p&gt;But there are some clear reasons why Sonic's world is far less developed in the games as opposed to the cartoons. Video games are not necessarily a more limited medium than cartoons, but the particular type of game that Sonic was - action platformer - is certainly more limited in terms of telling story. In fact, the whole reason why there's a SatAM universe in the first place is that very fact! If the creators of Sonic's first game had filled in all the blanks, the cartoons would have been a 1:1 copy and paste job.
&lt;/p&gt;

&lt;p&gt;Adapting an action video game to a story-based medium is fraught with difficulties, for the nature of early video games makes creating a compelling serial adventure saga out of one nearly impossible without great changes and total shifts in focus. Unless you want to have a show with a lot of jumping and gathering floating objects with the occasional interjected bonus round, something drastic need be done.&lt;/p&gt;

&lt;p&gt;Take Pacman, for example. How does one tell an engaging story about running around and chomping Power Pellets? How about a new story each week? Hanna-Barbera actually took on this challenge, producing a Pacman cartoon in the early 80's. When I first learned of it (by watching re-runs on Boomerang a few years ago; the original show was a bit before my time) I was incredulous that such a thing was attempted because the Pacman "universe" was just so narrow in scope. (I really shouldn't have been surprised - television managed to scrape together Carmen Sandiego and Rubik's Cube cartoons as well, so I guess they'll try anything.) But I found the Pacman cartoon to be boring and silly precisely because it retained too many of the game's abstract gameplay elements.
&lt;/p&gt;

&lt;p&gt;The problem is the mentality that the show has to be about the actual &lt;i&gt;video game&lt;/i&gt;. This is what leads to the Pacman problem that sees your show full of things that frankly don't make any sense to a television audience (unless they're the Scott Pilgrim consuming, canny audience of today). But let's shake the mentality by flipping it around. If one were to adapt a TV show to a video game, they'd never make it one long digital cinema scene! They'd work to add the elements that make a video game a video game, and worth &lt;i&gt;playing&lt;/i&gt; instead of watching. Sonic doesn't gather Rings or jump on floating platforms in the games because it's something Sonic as a character must do to remain unmistakably himself - they're things he does because they're &lt;i&gt;fun to do in a game&lt;/i&gt;. But they aren't much worth watching. In the same way, in a Home Improvement video game, Tim Allen fights dinosaurs - because (as we all know), that's what video games are &lt;i&gt;for&lt;/i&gt;. Fighting dinosaurs.
&lt;/p&gt;

&lt;p&gt;So the trick is to picture the Sonic games not as the be-all, end-all perfect template that all other Sonic iterations must slavishly adhere to, but as video games adapted from some hypothetical story - the Platonic Sonic, if you will. =P
&lt;/p&gt;

&lt;p&gt;Seen like this, it's obvious that things like SatAM can't be denigrated for not being just like the games, any more than the games can be denigrated for not being just like SatAM. Which came first is irrelevant - they are both windows to a grander whole, in the style of their own particular medium. Clung-to ideas like "Sonic should be a silent character" because "he never talked in the games" are revealed as silliness - it would be like arguing that Final Fantasy Advent Children should have exclusively employed blue text boxes to impart its story (though, in fairness it might have made more sense that way! =P)
&lt;/p&gt;

&lt;p&gt;One might fairly say that this is no excuse for Sega (or a fan like me) to justify making a Sonic game full of tedious story, exposition, or a preponderance of SatAM characters to the exclusion of what makes the games great. But no one would want story to get in the way of their game in the first place, no matter what universe it took place in. It's fine to not want a heavy-handed Sonic game (none of the good ones have been, after all), but why should it really offend if the side characters are from SatAM, new folks like Chip and Professor Pickle, or even a mix suited to the tastes of the developer? I know some would scream foul if Sega ever had the nerve to give a nod to what's fast becoming the "lost" Sonic of the west, but would it really hurt? Wouldn't it finally patch the gaping divide that every Sonic fan has to deal with? They've taken the first step with chili dogs in Sonic Unleashed. I for one would be happy if they went even further, perhaps even half-and-half.
&lt;/p&gt;

&lt;p&gt;"Modern" Sonic is now well-established, and over a decade old. It's still as maddeningly tight-lipped as ever when it comes to acknowledging a significant slice of Sonic's legacy. For many fans, maybe it's starting to slowly erase how they used to picture Sonic. With time (and repeated beatings) comes acceptance, and learned helplessness. But there's no good reason to take it sitting down - you can stand up for yourself and your childhood and ask "why?" Why be so quick to accept that Sonic has moved on? (It's like the infuriating people who like to say "Classic Sonic is &lt;i&gt;never&lt;/i&gt; coming back, so deal with it!", as if they can predict the future or something. PROTIP: They can't.) Most of the latest Sonic games have been crappy, by fan consensus and critical review alike. It's not like Sega has proven they can do just fine and dandy without the American universe, thanks. So let's - amidst the endless barage of those who would love to shout us down with cries of "it's not even really Sonic" - remember what's actually what here.
&lt;/p&gt;

&lt;p&gt;Am I reacting too strongly? Is there really that much resistance to the SatAM elements in the larger Sonic community? Well, to me it sometimes feels like there's a SatAM mitigation brigade, just waiting for you to mention it at which point they are moved to post, all but telling us we're fools for continuing to consider the show to be Sonic. This happened just recently at Sonic Retro when Richard Kuta (the force behind the nascent &lt;a href="http://www.youtube.com/user/AnimatedSonicFanFilm"&gt;Animated Sonic Fan Film&lt;/a&gt;) said this:&lt;/p&gt;

&lt;blockquote&gt;However, Sonic is a rare case where Americans made the franchise better! If I was introduced to Sonic during the whole Sonic Adventure/Sonic X era, I would have no interest cause it comes off as a generic, paper-thin anime stereotype. Excluding Sonic Colors, everything beforehand [in the modern Sonic era] was garbage. Sonic had little to no personality and his ballooned cast of friends had no character development. Even though Adventures of Sonic and Sonic Underground were cheesy and campy, Sonic actually had a likable personality.
&lt;/blockquote&gt;

&lt;p&gt;(For context, the discussion was basically about how Sega of Japan appears to want to have nothing to do with Sega of America's Sonic anymore, even going so far as to attempt to kill Kuta's film.)&lt;/p&gt;

&lt;p&gt;But then David the Lurker replied:
&lt;/p&gt;

&lt;blockquote&gt;But I guess what I'm saying here is that SatAM was not the be-all, end-all of Sonic the Hedgehog. The main writer of the show, Ben Hurst, took one look at the games and threw out EVERYTHING that made it Sonic. I'll admit that when I was a kid, I loved the show.&lt;/blockquote&gt;

&lt;p&gt;Which doesn't refute Kuta's point one bit! He was saying how Sega of America bolstered the Sonic franchise with valuable elements, but he gets this thrown in face as if the improvements don't count because it's not &lt;i&gt;exactly&lt;/i&gt; like the games. (Also, to nitpick a little, Ben was not actually "main writer" of the show, just particularly prominent, especially in Series 2. And to lay all the blame for SatAM's format on him is misleading, he and the story team would have been working with Sega of America's production bible concepts that were evolving then. Pressed for time, the writers never were given a grand tour of the Sonic franchise, apprised of each detail by Yuji Naka, and then proceeded to chuck it all out in favour of pet ideas. That's a fantasy.)&lt;/p&gt;

&lt;p&gt;It may seem like I'm doing a petty thing here and complaining about the behaviour of an individual from the safety of my blog rather than responding critically in the original thread. This is not my intention; I've got nothing against David the Lurker. I am merely using this (mild) incident from a public forum as an example of what I'm talking about, because it's bad form to complain about a phenomenon without citing a single example of it.&lt;/p&gt;

&lt;p&gt;It illustrates exactly the type of thing I mean about folks, not just &lt;i&gt;disliking&lt;/i&gt; Americanised Sonic, but actively trying to dissuade others from considering it part of the Sonic whole. And this quote is from someone who professes to have liked the show when younger! Why, then, drink Sega's koolaid and allow your concept of Sonic's universe to be replaced piece by piece until it's nothing like it was when you first fell in love with it?
&lt;/p&gt;

&lt;p&gt;The lack of Item Monitors, Lamp Posts, and cyclical Robotnik boss confrontations make SatAM no less Sonic than the lack of the "SCORE-TIME-RINGS" counter. On the other hand, the use of samey Swatbots, or the underuse of the Tornado biplane... these are legitimate complaints and I do wish these things had appeared in the show (no more or less, though, than I wish that elements of the show had been in the games, so this in no way reflects badly on SatAM). The fact remains that Sonic the Hedgehog - the &lt;i&gt;real&lt;/i&gt; Sonic the Hedgehog - fought for the freedom of his friends and his planet from the robotic tyranny of Robotnik. And isn't that what really counts?
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8323624341147208358?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8323624341147208358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/01/most-famous-fastest-hedgehog-alive-in.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8323624341147208358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8323624341147208358'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2011/01/most-famous-fastest-hedgehog-alive-in.html' title='The Most Famous Fastest Hedgehog Alive In The World'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i53.tinypic.com/27ys1g_th.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6405580972150864749</id><published>2010-12-30T01:38:00.000-08:00</published><updated>2010-12-30T01:45:02.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>First Attempt</title><content type='html'>&lt;p&gt;I thought it would be funny to show off my very earliest attempt at making a Sonic engine in Game Maker, so &lt;a href="http://dl.dropbox.com/u/5437265/OldSonicEngine.zip"&gt;here's the link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now you can laugh at all the glitches and mistakes I made 5 years ago! I know, it's a poor way to tide folks over until the new shiny version is released.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6405580972150864749?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6405580972150864749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/first-attempt.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6405580972150864749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6405580972150864749'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/first-attempt.html' title='First Attempt'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8731481939688238570</id><published>2010-12-23T23:50:00.000-08:00</published><updated>2010-12-23T23:52:27.162-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bang Science'/><title type='text'>!SCIENCE #4</title><content type='html'>&lt;p&gt;
As promised...
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i55.tinypic.com/2uik5ud.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
This, my friends, is why I should concentrate on programming. =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8731481939688238570?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8731481939688238570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/science-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8731481939688238570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8731481939688238570'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/science-4.html' title='!SCIENCE #4'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i55.tinypic.com/2uik5ud_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3374965148003638650</id><published>2010-12-23T00:35:00.000-08:00</published><updated>2010-12-23T00:42:30.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bang Science'/><title type='text'>!SCIENCE #3</title><content type='html'>&lt;p&gt;
&lt;/p&gt;
I can't believe it's been a whole year since I made the &lt;a href="http://intheshadeofawave.blogspot.com/2009/12/science.html"&gt;first one&lt;/a&gt; of these!
&lt;/p&gt;
&lt;p&gt;
In honour of its anniversary I'm going to post one today and tomorrow, so be sure to come back for the second helping. =)
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://i54.tinypic.com/293fuqh.jpg"&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3374965148003638650?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3374965148003638650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/science-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3374965148003638650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3374965148003638650'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/science-3.html' title='!SCIENCE #3'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i54.tinypic.com/293fuqh_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-2891218634014503928</id><published>2010-12-18T18:55:00.000-08:00</published><updated>2010-12-18T19:00:35.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Afterthoughts on the SFR article</title><content type='html'>&lt;p&gt;
If you're subscribed to &lt;a href="http://www.gameinformer.com/"&gt;Game Informer&lt;/a&gt; or follow the &lt;a href="http://www.sonicretro.org/2010/12/sonic-fan-remix-creators-interviewed-in-latest-gameinformer-issue/"&gt;Sonic news&lt;/a&gt; around the 'Net, you've probably already heard that &lt;a href="http://sonicfanremix.com/"&gt;Sonic Fan Remix&lt;/a&gt; has been covered in the magazine.
&lt;/p&gt;
&lt;p&gt;
The article takes the form of a short interview with Pelikan and me. It's the first time I've ever really been interviewed (let alone in &lt;i&gt;print&lt;/i&gt;, though that means increasingly little in today's digital age), so I'm understandably chuffed; but I'm also excited that SFR is getting the added publicity... just in case there's any stragglers in the Sonic community who haven't heard of it yet.
&lt;/p&gt;
&lt;p&gt;
The interview was conducted by email, so I gave my answers as thoughtfully as I could and sent them along, hoping that the editors at GI could whip them into something manageable for their article. Of course, they did a great job. Understandably a few tweaks were made, and some content was cut that would have been repetitious or wouldn't have flowed with the rest of the article.
&lt;/p&gt;
&lt;p&gt;
However, for anyone who's interested in the dirty underbelly, here's what was cut:
&lt;/p&gt;
&lt;p&gt;
(isn't having a personal blog great?)
&lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt;
&lt;i&gt;"One of the most striking elements of Sonic Fan Remix is the fact that it’s visually superior to the Sega-made Sonic 4. How was a team of two able to make a better looking game than a major game studio?"&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
First, I don't think it's fair to say it's visually superior. While I certainly prefer the look of SFR, I know quite a few folks who don't. Artistic beauty is very subjective. Second, it's not even two people, it's one - I had nothing to do with the visuals. And I'm as mystified as anyone else how Pelikan is able to make such gorgeous graphics. It's like some kind of crazy superpower!
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Understandably, the part about how it's not really that fair to compare the graphical styles was dropped, because Pelikan already put it better. But I'm sort of sad that the bit showing my admiration for Pelikan's skills was omitted - I'm honestly in awe of his abilities. I know he works freelance in the game industry, which means he's a professional, but his work would be impressive even for a team of artists. It is like a superpower. 
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
To actually answer the question, though - speaking for myself - I think that SFR succeeds where Sonic 4 fails because it's more surprising. There are so many details that you're just not expecting to see, and that's what makes it so exciting.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
You'll notice here that the first part was removed. The loss of those three crucial words "speaking for myself" changes the tone of the whole quote. I'm actually trying to describe why SFR delights &lt;i&gt;me&lt;/i&gt; more than Sonic 4 did, but the final GI article makes it look like I'm expansively claiming Sonic 4 to be objectively worse. (They embiggened my nuts. =P) But one can't really blame them for trying to stir up controversy, because controversy is interesting. Also, I &lt;i&gt;am&lt;/i&gt; responsible for phrasing it in such a provoking way.
&lt;/p&gt;
&lt;p&gt;
I stand by what I said about being surprising, though. Just like the single word of advice "consent" has extraordinary mileage when it comes to questions of sex, when it comes to game design, "surprise" is the word.
&lt;/p&gt;
&lt;p&gt;
Take Sonic 3, for example. Sonic gets punched in the face, the island gets set on fire, and then you get carpet bombed. And that's just the first zone.
&lt;/p&gt;
&lt;p&gt;
Well, here's looking forward to a cover feature when SFR is a complete, surprising whole. =)
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-2891218634014503928?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/2891218634014503928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/afterthoughts-on-sfr-article.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2891218634014503928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2891218634014503928'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/afterthoughts-on-sfr-article.html' title='Afterthoughts on the SFR article'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1703035385344749795</id><published>2010-12-09T02:46:00.000-08:00</published><updated>2010-12-09T03:03:15.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Baww Green Eyes!</title><content type='html'>&lt;p&gt;
When "Project Needlemouse" was revealed to be &lt;i&gt;Sonic 4&lt;/i&gt;, and the first trailer was shown, it immediately became clear that Sega wasn't going to use Sonic's classic design. This was disappointing to many fans, and not just because the hype had promised a return to classic form. It also hurt because it had a ring of finality to it - if Sega didn't bring back classic Sonic for &lt;i&gt;Sonic 4&lt;/i&gt;, they're probably never going to do it.
&lt;/p&gt;
&lt;p&gt;
This perceived betrayal caused what's called a "shitstorm" by indelicate people. I did my bit with &lt;a href="http://intheshadeofawave.blogspot.com/2010/02/sonic-4.html"&gt;this post&lt;/a&gt;, angrily complaining about Sonic's modern design. Of course, to any backlash there is always another backlash, and people began to complain about the complainers: "It's just his design! It's not a very important detail! Just shut up!" And so, the "Baww Green Eyes!" meme was born. (I like to think that my post is at least partly responsible, but I'd probably be over-inflating its impact.)
&lt;/p&gt;
&lt;p&gt;
When it comes to any argument - for example, "Black Eyes VS Green Eyes" - I can respect the two opposite views. Those arguing for one design over the other are both passionately defending something that matters. It's the third group, those who say "shut up!" that I can't stand. Telling someone that their argument doesn't matter and that they should desist is doubly toothless: first, it's antagonistic - it opposes their viewpoint and will be seen as just as disagreeable as their opponents; second, unlike their opponents, it contributes nothing to the argument.
&lt;/p&gt;
&lt;p&gt;
This is why I dislike the "Baww Green Eyes!" meme so much. It seeks to delegitimise an entire conversation, a conversation that I feel is worth having. Suddenly any discussion of Sonic's design and its strengths and weaknesses can be hijacked by any fool who brays "Baww Green Eyes!" like it's the most brilliant possible rejoinder. "This subject doesn't matter! You're all whiny bitches!"
&lt;/p&gt;
&lt;p&gt;
If it's such a minor detail that it truly doesn't matter, then why does this third group of "shut-uppers" seem to care so much? If they aren't interested in the details of Sonic's design, why don't they leave the discussion altogether? They aren't contributing anything, and by their own admission they wouldn't care whatever the outcome.
&lt;/p&gt;
&lt;p&gt;
Argue for black eyes. Argue for green eyes. (Or peach/blue eyelids, or short/long spines, etc). But don't say it doesn't matter at all.
&lt;/p&gt;
&lt;p&gt;
I've been accused of nerdrage and bitching enough to know that it stings. I'll probably be accused once more, because of this post. God knows I'm painfully aware of how pathetic it sounds to talk about Sonic's eye-colour as though the future of mankind depends on it. But I will not have it said that it doesn't matter, for a very good reason. That mentality dismisses the work of talented people to whom it very much &lt;i&gt;does&lt;/i&gt; matter - the game designers themselves.
&lt;/p&gt;
&lt;p&gt;
You may be a layperson who only plays the games, and to you the details are just that - details. Many of them you won't remember, or ever be consciously aware of. But the developers and designers sweat blood to get these details right, so there actually &lt;i&gt;is&lt;/i&gt; a quarter of the world wherein Sonic's design does supremely matter - in the mind and the workplace of his designers.&lt;/p&gt;
&lt;p&gt;
Do you really think that Naoto Ohshima or Yuji Uekawa just slapped their Sonic designs together with an "anything goes" attitude? "It doesn't matter what our character looks like. He'll be appealing anyway, because he can jump!"&lt;/p&gt;
&lt;p&gt;Because I'm interested in designing Sonic games myself, these details are of interest and importance to me. This doesn't make me a whiner - it just means I'm not a passive player in the Sonic experience. Being invested doesn't make me any weirder than the people who took care to create Sonic in the first place. No one would dare think to fault them for caring about their &lt;i&gt;own&lt;/i&gt; designs, upon which their careers may even hinge. Obsession isn't automatically a bad thing.
&lt;/p&gt;
&lt;p&gt;
Methinks I doth protest too much. Perhaps it's time I make a stab at outlining &lt;i&gt;why&lt;/i&gt; I dislike the green eyes on Sonic. It's not a knee-jerk hatred of "Modern Sonic" (though rest assured I do hate the design), it's got a rational basis. As such, I could be argued out of my position if this basis were shown to be silly. 
&lt;/p&gt;
&lt;p&gt;
There are two major reasons why they don't work. First, it's a bad colour choice. Sonic's red, white, and blue design is iconic, partly inspired by the emblematic flags of the UK and US.
&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/11i1uhj.jpg"&gt;
&lt;img src="http://i52.tinypic.com/311xn36.jpg"&gt;
&lt;p&gt;
The reason why these colours work is because they are complementary. If you introduce another colour from a wildly different band of the spectrum, things go terribly wrong. That's why you'll often see American flags with gold tassels or edging, but never anything like this:
&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/157p649.jpg"&gt;
&lt;img src="http://i55.tinypic.com/28konl0.jpg"&gt;
&lt;p&gt;
Simply, having all of the primary colours present in the same scheme looks totally wrong. This is why Sonic's peach muzzle and tummy, or golden shoe buckle, look alright. They share the "red" aspect of the scheme, and don't conflict. The minute green is introduced, though, it all goes wrong.
&lt;/p&gt;
&lt;img src="http://i55.tinypic.com/29ptdty.png"&gt;
&lt;p&gt;
You may say, "yes, but it's such a small amount of green, nothing like the treasonous vandalism you visited upon those flags." You'd be right, of course (also, the eyes are very far away from the red of the shoes, mitigating the conflict somewhat) - but the eyes are the part of the design you're supposed to be drawn to. They're the most important part; they aren't described as "windows to the soul" for nothing. Everything else can change, but if the eyes don't look right, the whole picture is ruined. For example:
&lt;/p&gt;
&lt;img src="http://i55.tinypic.com/ej8tg6.jpg"&gt;
&lt;img src="http://i52.tinypic.com/331gjtv.jpg"&gt;
&lt;p&gt;
&lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Pareidolia"&gt;These are not faces.&lt;/a&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
A minor change, in the grand scheme of things, but an enormous change in the character of the "face".
&lt;/p&gt;
&lt;p&gt;
So, would changing the colour of Sonic's eyes help matters? If I'm complaining about the green, would I be happy with blue or cyan? Well, let's find out:
&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/2w7mqkx.png"&gt;
&lt;p&gt;
A small improvement; less violence is done to the colour scheme, certainly. But I find I still don't like it. So what &lt;i&gt;is&lt;/i&gt; my complaint with the "green eyes" if not the "green" part? Let's take a look at my favourite picture of classic Sonic:
&lt;/p&gt;
&lt;img src="http://i56.tinypic.com/20itlx4.png"&gt;
&lt;p&gt;
Sonic doesn't just have black (or very dark brown) eyes, but there is an obvious "shine" to them. The little white circle does wonders. Without it, he looks like this:
&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/28mel4p.png"&gt;
&lt;p&gt;
There's a reason why, in anime and manga, characters are often depicted without a shine in their eyes to make them look dead or mind-controlled. There's an eerie lifelessness to it. So Sonic has shiny eyes in all his classic forms:
&lt;/p&gt;
&lt;img src="http://i55.tinypic.com/fuxpa1.jpg"&gt;
&lt;img src="http://i54.tinypic.com/2efhtt4.png"&gt;
&lt;p&gt;&lt;i&gt;CD Sonic goes really far. Practically the top half of each pupil is white!&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;
But it's not just the shine or lack thereof that makes the eyes, it's the position. If we move the shine to the dead centre of Sonic's pupils, he starts to look weird:
&lt;/p&gt;
&lt;img src="http://i53.tinypic.com/23rv37o.png"&gt;
&lt;p&gt;&lt;i&gt;Derp!&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;
It makes him look less like he's looking at you, and connecting with you, and more like he's just a drawing. It's a subtle detail, but for designers, it's details like these that make or break a design.
&lt;/p&gt;
&lt;p&gt;
The trouble is, the way they shade Sonic's eyes these days, with the green iris, the shine ends up being almost dead centre in his pupil. Examples:
&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/14t6d0x.png"&gt;
&lt;img src="http://i51.tinypic.com/64pb3p.png"&gt;
&lt;p&gt;
If this looks familiar, it's because Mario has been doing it forever:
&lt;/p&gt;
&lt;img src="http://i52.tinypic.com/t0153m.gif"&gt;
&lt;p&gt;
Sonic's has Mario's eyes! And overall shading style, to boot. (What was Sega thinking, if you can't beat 'em join 'em?)
&lt;/p&gt;
&lt;p&gt;
So it's not so much that Sonic has green eyes as it is that he has green irises that force his pupil to be much smaller, putting the shine closer to centre. If the eye, both pupil and iris, were treated as a single unit with one large shine, I think it'd be improved a lot:
&lt;/p&gt;
&lt;img src="http://i54.tinypic.com/2rrbb11.png"&gt;
&lt;p&gt;
To be fair, many of the more recent renderings of Modern Sonic are gravitating toward looking like this, and I think that's helping him look better. But they need to do it consciously and consistently to bring back his "cute" look.
&lt;/p&gt;
&lt;p&gt;
Klonoa has had irises for years and still looks cute and appealing because the artists did just that:
&lt;/p&gt;
&lt;img src="http://i51.tinypic.com/206bklg.jpg"&gt;
&lt;img src="http://i51.tinypic.com/2m3jqtg.jpg"&gt;
&lt;p&gt;
To close, I'll also give props to &lt;i&gt;Sonic Battle&lt;/i&gt;'s bold design, which looks great despite the green:
&lt;/p&gt;
&lt;img src="http://i56.tinypic.com/21en3es.png"&gt;
&lt;p&gt;
I think Sega should take a hint from &lt;i&gt;Sonic Battle&lt;/i&gt; and use flagrantly different designs for their games more often. The plain vanilla "Modern Sonic" has been with us for over a decade and we could do with some artistic licence. Hey, if Disney can make a dark, intelligent platformer about Mickey Mouse (a Mickey Mouse that reverts to his classic design, no less) to critical acclaim, so can Sega do with Sonic.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1703035385344749795?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1703035385344749795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/baww-green-eyes.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1703035385344749795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1703035385344749795'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/baww-green-eyes.html' title='Baww Green Eyes!'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i52.tinypic.com/11i1uhj_th.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5733483392820827392</id><published>2010-12-07T01:38:00.000-08:00</published><updated>2010-12-08T01:22:07.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Wright is Wrong</title><content type='html'>&lt;p&gt;
Some folks get their jollies by watching competitive sports. Not me, though - I insist on being weird. When I want to watch a competition where one side gets soundly beaten, I watch debates. The latest of these was between &lt;a href="http://en.wikipedia.org/wiki/Sam_Harris_(author)"&gt;Sam Harris&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Robert_Wright_(journalist)"&gt;Robert Wright&lt;/a&gt;. (&lt;a href="http://www.youtube.com/watch?v=FJ9aMthqOig"&gt;Watch it on YouTube&lt;/a&gt;.)
&lt;/p&gt;

&lt;p&gt;
Now, both Harris and Wright are technically atheists, but they disagree on the details. Wright agrees with Harris that religion is &lt;i&gt;wrong&lt;/i&gt;, but parts ways with him when it comes to religion being &lt;i&gt;bad&lt;/i&gt;. It's Wright's contention that religion is always &lt;i&gt;neutral&lt;/i&gt; in any situation, neither bad nor good. He claims that the bad that Harris would attribute to religion is actually caused by other factors: cultural, political, socioeconomic, etc. He even goes so far as to characterise the the Israeli-Palestine conflict as a "land dispute".
&lt;/p&gt;

&lt;p&gt;
This isn't the first time Wright has argued for this position. I've seen him do it once before with Christopher Hitchens. It seems to be his "shtick". He even admits when challenged that the question of religion's neutrality is a hard one to answer; that he hasn't done enough research or gathered enough evidence to be firm in his conclusion; and that it's his "intuition" about it. This is starting to sound more and more like an &lt;i&gt;a priori&lt;/i&gt; assumption to me. It's amazing the wriggling he'll do to defend it, as well. In the debate with Harris, Richard Dawkins happened to be in attendance. During the Q&amp;A, he asked Wright (in so many words) whether the conflict in Northern Ireland would exist without the artificial religious labels that continue to fuel it. Wright's prevaricating answer suggested that the conflict grew out of an imbalance in the two groups' access to power. This didn't go a long way to answering Dawkins' question - the concept of being two distinct groups would never have existed in the first place if not for theological differences - but whatever.
&lt;/p&gt;

&lt;p&gt;
Basically, any time someone gives an example of an evil in the world that is ostensibly caused by religion, Wright will dutifully trot out a rationalisation that conveniently absolves religion. As he's not religious himself, one wonders why he bothers - but one can uncharitably speculate. When Harris asked him why he's against criticising Islam, but not against criticising the comparable (and quasi-religious) situation in North Korea, he said "Well, what are they gonna do?" Perhaps Wright is being hypocritical. He's okay with stepping on an ant hill, but not knocking on a bee hive. 
&lt;/p&gt;

&lt;p&gt;
Anyway, it's not my intent to figure out why Wright argues for the neutrality of religion. It's my intent to refute it. You'd think Sam Harris could have done so amply in the debate, but he seemed a little off his game (though Sam Harris on a bad day is still a force to be reckoned with). Unfortunately, the conversation turned to Islam more often than not, and much time was wasted with Harris reiterating its dangers. "There's a reason why we're not all lying awake at night worrying about the Amish," he said, making a great point in his great quotable style. But he said nothing that began to cut through Wright's argument and kill it at its root.
&lt;/p&gt;

&lt;p&gt;
Wright's clung-to position that "religion is always neutral" is twofold: when an example of an evil of religion is brought up that he can't quickly dismiss, he'll move the goalpost, shifting the meaning of neutral to mean that while religion actually &lt;i&gt;can&lt;/i&gt; inspire bad after all, it also inspires enough good that it's on balance neutral again. Once more, of course, he says this is difficult to measure and that he doesn't have any concrete foundation for his claim. (One wonders, then, why he makes the debate circuit arguing such a shaky claim.)
&lt;/p&gt;

&lt;p&gt;
Both claims of neutrality, however, are easily and quickly dismissed. It's a shame Harris didn't do so, because maybe we'd be spared further flogging of the idea by Wright in the future. Anyway, I'll tackle them.
&lt;/p&gt;

&lt;p&gt;
First claim of religious neutrality: "Religion never inspires bad things, people do bad things anyway and use religion to defend them. Take religion away and they'll just justify the bad things with something else, such as bastardised science."
&lt;/p&gt;

&lt;p&gt;
This seems like you could dismiss it easily by finding something bad that a holy book tells people to do, and find an example of people doing it. For example: Not treating gays equally. That's a foul thing to do, and it's caused by religion, right?
&lt;/p&gt;

&lt;p&gt;
Well, it may or may not be (though I'd say that in most cases, yes, it is), but Wright's rejoinder would probably be something like, "Yes, but there are lots of religious people - even ones who follow the very same holy book - who &lt;i&gt;don't&lt;/i&gt; do it. Therefore, the bigots are practising homophobia because of their culture or some other reason, and simply using "God's word" to justify their behaviour."
&lt;/p&gt;

&lt;p&gt;
That's a pretty sneaky response, and it can send one reeling just long enough for the subject to be changed. And it works with pretty much any minority group.
&lt;/p&gt;

&lt;p&gt;
Except one.
&lt;/p&gt;

&lt;p&gt;
&lt;span style="font-style:italic;"&gt;Atheists.&lt;/span&gt; Pray tell, without religion, how there could possibly be such a phenomenon as discrimination against atheists? This is at least evil that can't be explained away as due to "socioeconomic factors" and completely hamstrings the argument that religion itself generates no evil.
&lt;/p&gt;

&lt;p&gt;
Second claim of religious neutrality: "Okay, you might have got me there. Maybe religion causes that. But it causes enough good to make up for it in the end!"
&lt;/p&gt;

&lt;p&gt;
This second claim is so facile that one wonders who &lt;i&gt;couldn't&lt;/i&gt; shred it, but here goes. Doing good after doing bad doesn't make one good, or even neutral. The guilt of having done bad remains. For example, if I murdered someone, and then donated one of my kidneys or lungs to save someone else, would I be "neutral"? No, I'd still be in gaol for having murdered someone! At the risk of invoking Godwin's Law, Wright's claim is tantamount to saying that the Nazis were on balance &lt;i&gt;neutral&lt;/i&gt; because, hey! they rebuilt Germany's economy while they were at it.
&lt;/p&gt;

&lt;p&gt;
Unless I've grossly mischaracterised Wright's position, it's pretty clear that it's pathetically easy to take apart. Fortunately for him Harris was fixated on Islam for so much of the talk; because if the light of reason had fully shone on his silly notions, they would have been embarrassingly revealed as unclothed in logic or consideration.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5733483392820827392?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5733483392820827392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/wright-is-wrong.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5733483392820827392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5733483392820827392'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/12/wright-is-wrong.html' title='Wright is Wrong'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7314162672115598069</id><published>2010-11-07T01:31:00.000-07:00</published><updated>2010-11-07T01:45:48.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Should Atheism Be Provisional?</title><content type='html'>&lt;p&gt;
There's been a minor dustup here in atheist town. The subject of "what could possibly convince us of the existence of god(s)" has bubbled to the fore again. The last time this was &lt;a href="http://www.alternet.org/belief/147424/?page=entire"&gt;brought up by Greta Christina&lt;/a&gt;, I &lt;a href="http://intheshadeofawave.blogspot.com/2010/07/aliens-vs-god.html"&gt;commented&lt;/a&gt;, saying that technologically advanced aliens would be a more parsimonious explanation for the types of evidence she suggested. (I didn't mention it at the time, but so would human beings with a new and highly advanced technology. There's nothing to say there won't someday be made a discovery on the level of splitting the atom that will give humans "godlike" powers. In other words, a heretofore unknown technology indistinguishable from magic doesn't have to be extraterrestrial in origin.)
&lt;/p&gt;

&lt;p&gt;
Currently, the conversation is bouncing back and forth between P. Z. Myers (&lt;a href="http://scienceblogs.com/pharyngula/2010/10/its_like_he_was_reading_my_min.php"&gt;here&lt;/a&gt;, &lt;a href="http://scienceblogs.com/pharyngula/2010/10/eight_reasons_you_wont_persuad.php"&gt;here&lt;/a&gt;, and &lt;a href="http://scienceblogs.com/pharyngula/2010/11/theyre_all_still_arguing_again.php?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+scienceblogs%2Fpharyngula+%28Pharyngula%29"&gt;here&lt;/a&gt;) and Jerry Coyne (&lt;a href="http://whyevolutionistrue.wordpress.com/2010/10/11/can-there-be-evidence-for-god/"&gt;here&lt;/a&gt;). Greta Christina has also made a &lt;a href="http://www.alternet.org/belief/148670/can_atheism_be_proven_wrong?page=entire"&gt;follow-up post&lt;/a&gt;, clarifying her position and acknowledging the "aliens" angle.
&lt;/p&gt;

&lt;p&gt;
While Coyne and Christina are taking a firm "provisionalist" stance (i.e. that their atheism is provisional and could in principle be overturned by new evidence), Myers takes the opposite view. He's basically saying that the concept of god is so wooly and useless that there can never be convincing evidence for it. This stance has drawn accusations that he's making irrational &lt;i&gt;a priori&lt;/i&gt; assumptions, and that his atheism is just as faith-based as any religion.
&lt;/p&gt;

&lt;p&gt;
I think this unfair. Personally, I mildly disagree with Myers - I think I should be openminded to the possibility that there might be some kind of evidence that could convince me of god(s), even if I can't imagine what it is. &lt;i&gt;However&lt;/i&gt;, calling his position irrational and faith-based is totally uncalled for and off target.
&lt;/p&gt;

&lt;p&gt;
Even the most hardline sceptic has beliefs that cannot - &lt;i&gt;even in principle&lt;/i&gt; - be overturned. For one example, there's no possible evidence that you could ever show me that would convince me that I don't exist (or that the universe doesn't exist, etc). As sceptical as I am, that's something that I will always believe, no matter what. Is it an irrational position taken on blind faith? No, it's just an extreme example of "extraordinary claims require extraordinary evidence." There are just some claims that verge on infinitely extraordinary, and no one can muster infinite evidence.
&lt;/p&gt;

&lt;p&gt;
Perhaps the &lt;i&gt;nonexistence&lt;/i&gt; of god(s) is in the same category as the &lt;i&gt;existence&lt;/i&gt; of the universe. Totally unassailable at this point, considering the overwhelming and persistent evidence.
&lt;/p&gt;

&lt;p&gt;
In principle, I'd side with the "provisionalists", but I don't think Myers' position is ridiculous on the face of it. He makes (characteristically) good points.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7314162672115598069?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7314162672115598069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/11/should-atheism-be-provisional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7314162672115598069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7314162672115598069'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/11/should-atheism-be-provisional.html' title='Should Atheism Be Provisional?'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7072712856339948241</id><published>2010-10-21T21:00:00.000-07:00</published><updated>2010-10-23T00:53:34.677-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Sonic Fan Remix Demo Out</title><content type='html'>&lt;p&gt;&lt;i&gt;Sonic Fan Remix&lt;/i&gt;, the absolutely gorgeous fangame I've mentioned several times before, finally has a playable demo. Rejoice! And a bunch of you unbelievers thought it wasn't ever gonna be playable.&lt;/p&gt;

&lt;p&gt;
To download the demo, go to either the official site, &lt;a href="http://sonicfanremix.com/"&gt;sonicfanremix.com&lt;/a&gt;, or the &lt;a href="http://sonicresearch.org/sonicfanremix/"&gt;helpfully provided mirror&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Here's a video if you wanna know what you're getting in to:
&lt;/p&gt;

&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xHKD14XfOe8?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xHKD14XfOe8?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
(If you're still having trouble finding a working download, check the description box to the above video at YouTube. You can also nose around in the &lt;a href="http://forums.sonicretro.org/index.php?showtopic=19981&amp;st=0&amp;start=0"&gt;&lt;i&gt;Sonic Fan Remix&lt;/i&gt; thread&lt;/a&gt; at Sonic Retro. The discussion there is pretty lively, too.)
&lt;/p&gt;

&lt;p&gt;
Now, my modesty has prevented me from pointing out the fact that I'm the programmer for &lt;i&gt;Sonic Fan Remix&lt;/i&gt;. In fact, whenever I mention the game I tend to neglect that fact altogether. It just seemed to be kind of unfair to toot my own horn when it's the beautiful graphics that are the real heart of the game. I didn't want people who read too quickly to get the idea that I was somehow responsible for more than I actually was, which is &lt;i&gt;just&lt;/i&gt; the programming.
&lt;/p&gt;

&lt;p&gt;
However, it's probably common knowledge by now, so I'll take the opportunity to mention a few things about the physics.
&lt;/p&gt;

&lt;p&gt;
There are a few minor changes from classic Sonic physics, which were intentionally made because we thought they were improvements. That said, there is still a fair number of unintentional glitches and unwanted differences. Getting everything to work accurately in a 3D environment is tricky! Rest assured, though, most of these issues are known and will be addressed in later releases. It &lt;i&gt;is&lt;/i&gt; just a demo, after all.
&lt;/p&gt;

&lt;p&gt;
But it's a damn good one! So stop listening to me ramble on and go play it already!
&lt;/p&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;p&gt;
...Unless you're still waiting for it to download, in which case I'll happily regale you with the story of the time I was stuck in Carnival Night Zone. It was dark, there were over 8 minutes on the clock, and Tails - as usual, when things go bad - was nowhere to be seen...
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7072712856339948241?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7072712856339948241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/10/sonic-fan-remix-demo-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7072712856339948241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7072712856339948241'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/10/sonic-fan-remix-demo-out.html' title='Sonic Fan Remix Demo Out'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3348791353027875500</id><published>2010-10-07T18:40:00.000-07:00</published><updated>2010-10-07T19:02:48.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Sonicky Trailer Goodness</title><content type='html'>&lt;p&gt;
A major Sonic news outlet may have already brought these to your attention, but if not, then you're in for a treat. Here are the latest trailers for &lt;i&gt;Sonic Fan Remix&lt;/i&gt; and &lt;i&gt;Sonic Megamix&lt;/i&gt;. I couldn't find a trailer for the upcoming &lt;i&gt;Sonic Trail Mix&lt;/i&gt;, but trust me, it's nuts.
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/94Hn1XhyWB0?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/94Hn1XhyWB0?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
It's the physics that really sell it. *shot*
&lt;/p&gt;

&lt;p&gt;
Elsewhere on the internet when this trailer was posted, there were inevitably a handful of comments saying how it looks better than Sonic 4. We appreciate the support, guys, but when you think about it that's really not much of a compliment.
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8CS9AyAdSjs?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8CS9AyAdSjs?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
Wow.
&lt;/p&gt;

&lt;p&gt;
Stop and take a second to think about the fact that that's a hack of Starlight Zone. Truly an amazing achievement. In fact, the only thing bad about it is that it makes the rest of us look kinda pathetic in comparison.
&lt;/p&gt;

&lt;p&gt;
When this &lt;a href="http://www.sonicretro.org/2010/10/sonic-megamix-new-starry-night-revealed/"&gt;made the news&lt;/a&gt; at Sonic Retro, one comment said this: "I don't like that much the graphics design". Send your eyes back for a refund, man. Seriously.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3348791353027875500?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3348791353027875500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/10/sonicky-trailer-goodness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3348791353027875500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3348791353027875500'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/10/sonicky-trailer-goodness.html' title='Sonicky Trailer Goodness'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6512336715572852744</id><published>2010-09-14T11:52:00.000-07:00</published><updated>2010-09-14T12:01:48.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Let's Play Sonic the Hedgehog: The One Ring</title><content type='html'>&lt;p&gt;
I had a really great time watching this playthrough of &lt;a href="http://intheshadeofawave.blogspot.com/p/sonic-one-ring.html"&gt;my hack&lt;/a&gt;, so I want to share it here.
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/i2xwbJrifLo?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/i2xwbJrifLo?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
&lt;a href="http://www.youtube.com/user/usMercurySilver#grid/user/5327403EC37F51A7"&gt;Playlist with all 19 parts&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I want to give a big shout of thanks to 13th Nightmare (aka &lt;a href="http://www.youtube.com/user/Horrormaniac13"&gt;Horrormaniac13&lt;/a&gt;) for making this. I know I've scarred the poor man for life - he'll never be able to see an Orbinaut again without being gripped with dread. =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6512336715572852744?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6512336715572852744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/lets-play-sonic-hedgehog-one-ring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6512336715572852744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6512336715572852744'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/lets-play-sonic-hedgehog-one-ring.html' title='Let&apos;s Play Sonic the Hedgehog: The One Ring'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8850657293306922244</id><published>2010-09-13T11:48:00.000-07:00</published><updated>2010-09-14T00:51:46.829-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><category scheme='http://www.blogger.com/atom/ns#' term='Nitpicker&apos;s Guide to Sonic Genesis'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>The Nitpicker's Guide to Sonic Genesis - Part II</title><content type='html'>&lt;p&gt;
Hello again, Code Ninjas! It has been quite a while since &lt;a href="http://intheshadeofawave.blogspot.com/2009/09/nitpickers-guide-to-sonic-genesis-part.html"&gt;&lt;i&gt;Part I&lt;/i&gt;&lt;/a&gt;, but never fear - slowly but surely I will give &lt;i&gt;Sonic Genesis&lt;/i&gt; the drubbing it deserves. Welcome to &lt;i&gt;The Nitpicker's Guide to Sonic Genesis - Part II&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Code Flaw #002: The Demos Are Totally Nerfed&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Original:&lt;/i&gt;&lt;/p&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KbEdu9T98nU?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KbEdu9T98nU?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;&lt;i&gt;GBA:&lt;/i&gt;&lt;/p&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/csmXssXty6I?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/csmXssXty6I?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
The demo is completely different in the GBA version, and obviously much worse (Sonic is hurt twice, seems disoriented, and demonstrates less of the level). Why should this be? If we were uncharitable, we might chalk it up to the GBA team recording new demos which betray their underdeveloped skill level. However it is much more likely that the game is using the &lt;i&gt;same demo data&lt;/i&gt;, but changes in the physics have thrown it off.
&lt;/p&gt;

&lt;p&gt;
You see, the demo "movies" in the old Sonic games were not actual videos of the action - that would have taken up so much space it would have been prohibitive. Instead, the game itself is running, but with two changes: 1) the game resets when the player hits the start button or when 30 seconds have elapsed, whichever comes first; 2) the Sonic object isn't receiving input directly from the joypad, but from a chunk of data read sequentially from the ROM. This chunk of data was made by logging the button presses while someone played the level (for more information about recording joypad input "movies", see &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-at-movies.html"&gt;this post&lt;/a&gt;).
&lt;/p&gt;

&lt;p&gt;
So, if the physics or level layout changes, the recording won't be appropriate anymore. It's as if your joypad were simultaneously plugged into two Sega Genesises (Geneses?), one of which contained a &lt;i&gt;Sonic 1&lt;/i&gt; cart, and the other, &lt;i&gt;Sonic 2&lt;/i&gt;. You might be playing &lt;i&gt;Sonic 1&lt;/i&gt; beautifully, but anyone watching the &lt;i&gt;Sonic 2&lt;/i&gt; game will wonder why Sonic is suddenly acting like a drunkard. (They won't notice a difference in Tails' behaviour, though - wantonly flinging himself into harm's way is business as usual for him. =P )
&lt;/p&gt;

&lt;p&gt;
The team who made &lt;i&gt;Sonic Genesis&lt;/i&gt; should have recorded new demos after the physics were in place to avoid this issue. But, one can hardly blame them for not doing so; it would, after all, have involved playing the game, and I wouldn't wish that on anybody!
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Fixing The Problem In Your Own Hack&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;
This issue with screwy demos isn't confined to &lt;i&gt;Sonic Genesis&lt;/i&gt;. ROM hacks will have the same problem if the physics, controls, or layout are changed, even slightly. I encountered it myself when making &lt;a href="http://intheshadeofawave.blogspot.com/p/sonic-one-ring.html"&gt;&lt;i&gt;Sonic: The One Ring&lt;/i&gt;&lt;/a&gt;, and needed to find a way to record new demos that would be compatible with the ROM. I've turned what I learnt into a tutorial and utility - &lt;a href="http://intheshadeofawave.blogspot.com/p/hacking-tools.html#gmv2bin"&gt;go here&lt;/a&gt; for the complete story. See, I'm not just complaining about &lt;i&gt;Sonic Genesis&lt;/i&gt; just to be mean - I'm using it to frame programming tips to help you guys out! Aren't I nice?
&lt;/p&gt;

&lt;p&gt;
Well, not &lt;i&gt;that&lt;/i&gt; nice since I'm now going to throw in a few freebie Bonus Flaws out of spite!
&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bonus Flaw #003: Wrong Credits Footage&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
In addition to having broken demos, the "demos" seen during the game's credits are broken, too. But none so badly as the Labyrinth Zone one: this time, not only does the control movie not sync up because of different physics, it's totally inapposite because the wrong area of the level has been loaded!
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i56.tinypic.com/9u20w2.jpg"&gt; &lt;img src="http://i54.tinypic.com/4h8fuo.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
The famous underwater section where Sonic is pulled through the tunnel by the current, catching on to the breakable poles and avoiding spikes, has been inexplicably replaced by some other region of the zone.
&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bonus Flaw #004: Marble Zone Button Keeps Turning Up Like A Bad Penny&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i54.tinypic.com/m8oikz.jpg"&gt; &lt;img src="http://i54.tinypic.com/2ikea8z.jpg"&gt; &lt;img src="http://i52.tinypic.com/bbgg6.jpg"&gt;&lt;/p&gt;

&lt;p&gt;This is pretty hilarious. It's supposed to load different graphics depending on the zone ID, but they can't even get that right.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bonus Flaw #005: Underwater Palettes Incorrect&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Sonic and the Badniks don't look right...&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Original:&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i54.tinypic.com/24enxx3.jpg"&gt;&lt;/p&gt; 

&lt;p&gt;&lt;i&gt;GBA:&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i55.tinypic.com/15qrt06.jpg"&gt;&lt;/p&gt;

&lt;p&gt;...but objects like doors and blocks fare even worse.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i54.tinypic.com/70gz7k.jpg"&gt; &lt;img src="http://i54.tinypic.com/9iyb1z.jpg"&gt;&lt;/p&gt;

&lt;p&gt;(And why does Scrap Brain Act 3 have such a horrible dark blue background? It's supposed to be a lovely, rich purple.)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bonus Flaw #006: Missing/Incorrect Background Tiles&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
This flaw really does take the cake. This isn't a matter of not being able to properly port a complicated game's physics to a new platform, or something relatively forgivable. It's a simple matter of gratuitous incompetence and unconcern for the product.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i54.tinypic.com/30ixmd0.jpg"&gt; &lt;img src="http://i51.tinypic.com/29gjwox.jpg"&gt; &lt;img src="http://i52.tinypic.com/15d5jiu.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i56.tinypic.com/97v6zl.jpg"&gt; &lt;img src="http://i55.tinypic.com/34ir5vd.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, try to keep your lunch down, Code Ninjas - I know it's not easy after that rogue's gallery. Until next time!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8850657293306922244?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8850657293306922244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/nitpickers-guide-to-sonic-genesis-part.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8850657293306922244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8850657293306922244'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/nitpickers-guide-to-sonic-genesis-part.html' title='The Nitpicker&apos;s Guide to Sonic Genesis - Part II'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i56.tinypic.com/9u20w2_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4684088654739936618</id><published>2010-09-12T11:35:00.000-07:00</published><updated>2010-09-14T11:04:35.869-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random Thoughts'/><title type='text'>Failures of Imaginary Perspective</title><content type='html'>&lt;p&gt;
The human brain has evolved an extraordinary set of software for grappling with its environment. Working with data from multiple sensory inputs, it constructs a highly detailed virtual simulation of our universe.
&lt;/p&gt;

&lt;p&gt;
And it has the ability - perhaps unique in the animal kingdom - to simulate that which &lt;i&gt;is not&lt;/i&gt; but &lt;i&gt;might be&lt;/i&gt;: imagination.
&lt;/p&gt;

&lt;p&gt;
Using both the experience of past inputs and a toolset of built-in intuitions, the brain makes thousands of little imaginative predictions all the time; to judge distance, calculate consequences of actions, or even "converse" with itself as a second entity. (Most of us have had imagined conversations with persons absent.)
&lt;p&gt;

&lt;p&gt;
The brain's software for imagining the physical universe (how objects will interact, etc) has been called "folk physics". You can think of these folk physics as a sort of video game physics engine: a recreation of real-world physics, informed by real-world data and accurate to a degree, but still imperfect.
&lt;/p&gt;

&lt;p&gt;
Folk physics aren't quite perfect because the brain has evolved to cope with everyday situations. Our ancestors (and for the most part, modern humans) would usually cope with moderate distances, speeds, sizes, and timespans. When it comes to extreme and unfamiliar situations, the brain's intuitions cease to be useful. For example, at the atomic or astronomic scales, common sense is useless; without tools like science and mathematics, we'd have little hope of ever having a meaningful understanding of realms beyond the mundane.
&lt;/p&gt;

&lt;p&gt;
In other words, the brain can't just grasp this stuff on its own - it needs a lot of help. For instance, great spans of time can be rendered on a graph as visual information. Only then, with the data in a format that the brain understands, can patterns be recognised and useful work be done.
&lt;/p&gt;

&lt;p&gt;
But it's not just the ultimate extremes of our universe that cause the brain to trip up. Oftentimes things much closer to home, only a step or two away from the deeply familiar, can fool our imaginations.
&lt;/p&gt;

&lt;p&gt;
Which brings me to the actual point of this post. Creators of stories have long made their tales exciting by having them take place right on the edges of our experience. In the early days, that meant unexplored caves and mystic forests, peopled by ogres, fairies, gods, and mythical beasts. Today, it means a plethora of science fiction "what ifs". "What if you could read thoughts?" "What if we met aliens?" "What if you could travel back in time?" "What if you could shrink down to the size of an ant?"
&lt;/p&gt;

&lt;p&gt;
These concepts are always fun to explore. They are the best of the human imagination, still hungry to explore that which is not but might be.
&lt;/p&gt;

&lt;p&gt;
Exceedingly often, though, there are catastrophic failures of imaginary perspective. Folk physics fails the storyteller (moviemaker, etc) miserably when they try to picture an unfamiliar perspective.
&lt;/p&gt;

&lt;p&gt;
We've all seen movies where spaceships make noise as they fly by; cartoons where characters can breathe and talk in space without spacesuits; or even movies where the most fundamental of all physical laws - the speed of light - is waived (either for the needs of the story or out of sheer ignorance, it's hard to be certain). This latter &lt;i&gt;faux pas&lt;/i&gt; was commited by a Star Trek movie ("Generations"), of all things:
&lt;/p&gt;

&lt;blockquote&gt;&lt;cite&gt;from &lt;a href="http://www.chuggnutt.com/2009/07/09/where-star-trek-generations-went-wrong.php"&gt;chuggnutt.com&lt;/a&gt;&lt;/cite&gt;&lt;p&gt;&lt;b&gt;Point:&lt;/b&gt; In what is probably the worst production/science gaffe they could possibly make, Soran launches his missile from the planet towards the sun (to blow it up, remember) just as the Nexus is nearing. Immediately the sun darkens and explodes. Do you see what's wrong with this picture?&lt;/p&gt;
&lt;p&gt;
The sun should not have appeared to change for at least 8 full minutes. Not even counting the time it would take for the missile to reach the sun — let's suppose it has warp capabilities, to get around that issue — the light (and gravity) from the sun can only travel at the speed of light. And since they were on an Earth-looking planet, which is 8 light-minutes away from the sun, then that means there's no possible way the sun would appear to darken immediately—and the gravitational effect on the Nexus would be similarly delayed.&lt;/p&gt;
&lt;p&gt;
Huge, huge blunder. Somebody (preferably the writers) should have been fired for that one.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;
So much for Star Trek's reputation of scientific accuracy!
&lt;/p&gt;

&lt;p&gt;
I've also noticed that there are glaring oversights just about any time a character is depicted as shrinking. In "Honey I Shrunk The Kids" (I find it embarrassing to admit I've ever seen this movie), the shrunken kids tame and befriend an ant, which behaves like a large dog. To the diminutive human characters, the ant is the size of a large animal, and so the screenwriters have it behave as one - growling, whimpering, munching food out of the children's hands. Later, it even shows loyalty, sacrificing itself to protect its newfound friends! The writers seem to forget that the ant is not &lt;i&gt;actually&lt;/i&gt; a large animal, it just &lt;i&gt;appears&lt;/i&gt; large to the newly shrunken humans.
&lt;/p&gt;

&lt;p&gt;
Of course, "Honey I Shrunk The Kids" is a comedy, and can be excused. However, there's another big problem with just about every "shrunken" sequence I've ever seen - and it's a little harder to notice at first.
&lt;/p&gt;

&lt;p&gt;
When you watch the wind blow through the trees, or stalks of a tall grain crop, they sway smoothly and slowly. But if you watch grass, even in a light breeze, it snaps back and forth super-quickly. This is because, of course, the distances involved are so much smaller.
&lt;/p&gt;

&lt;p&gt;
If you were a shrunken, centimeter-high character on a lawn on a breezy day, you wouldn't see large majestic stalks of green grass waving lazily above your head. You'd see them bending double and flashing back and forth almost faster than your eyes can follow. It would be like the worst hurricane footage you've ever seen. It would probably be too overwhelming to cope with. It's understandable why this has never (to my knowledge) been depicted on film.
&lt;/p&gt;

&lt;p&gt;
Also, you wouldn't see the breeze ripple its way through the blades, either. With every gust, all the grass would react in almost perfect unison. (A 10mph breeze can play through almost 15 feet of grass per second.)
&lt;/p&gt;

&lt;p&gt;
So, next time you watch a movie with an unusual view-point, watch for failures of imaginary perspective. You might be surprised.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4684088654739936618?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4684088654739936618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/failures-of-imaginary-perspective.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4684088654739936618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4684088654739936618'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/09/failures-of-imaginary-perspective.html' title='Failures of Imaginary Perspective'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4884278123230148683</id><published>2010-08-14T02:31:00.000-07:00</published><updated>2010-08-15T03:08:23.021-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE Advice: Part 5</title><content type='html'>&lt;p&gt;
Here comes the final part of my series on SAGE 2010. I apologise now to the remaining games I didn't get a chance to review.
&lt;/p&gt;

&lt;h3&gt;Sonic 1: SAGE 2010 Edition&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;ROM hack of &lt;/i&gt;Sonic 1&lt;i&gt; by Cinossu&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://rchan.sonicretro.org/index.php?"&gt;Visit the &lt;i&gt;Sonic 1: SAGE 2010 Edition&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i33.tinypic.com/smzj1u.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
This hack of &lt;i&gt;Sonic 1&lt;/i&gt; is more than just that - it's actually a proof-of-concept demo for the new &lt;a href="http://rchan.sonicretro.org/index.php?"&gt;Retro Channel&lt;/a&gt; at &lt;a href="http://www.sonicretro.org/"&gt;Sonic Retro&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/r23u50.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
The idea is like a modern evolution of the Sega Channel. By playing in a special emulator, you can upload data such as achievements, scores, and time attack times to the Retro Channel database.
&lt;/p&gt;

&lt;p&gt;
It's still in its infancy, though, and there are a lot of technical issues to sort out. But that doesn't stop it from being one of the geekiest, coolest ideas I've ever seen.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/1zb5clx.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Seeing the Sonic Retro logo at the beginning (with randomly chosen little sprite vignettes) gives me a pang of excitement. Wouldn't it be cool if we were fast heading towards a world with a "Retro Team" that develops quality hacks like this one that will work in conjunction with Retro Channel? It's probably nothing more than my fanboyish dreaming, but I'd love for that to happen. Needless to say, they'd be my favourite developer - Sonic Team would be left in the dust (I say that as if they haven't been already. =P)
&lt;/p&gt;

&lt;p&gt;
Now, I couldn't get the networking features to connect, so I just played the game to ogle at the technical changes. Each Zone and Act is accessible from a cool playable menu with pushbuttons and warp rings. All your stats are saved to SRAM, making time- and score- attacking possible.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/1071kjt.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
There's also a nifty Boss Rush with music by Tweaker that can't be missed.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/wmgkrm.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Even if you can't connect to Retro Channel, this is worth playing. If you're a hacking nerd like me, it'll be quite a treat to check out all the classy changes that have been.
&lt;/p&gt;

&lt;h3&gt;Sonic 2: Retro Remix&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;ROM hack of &lt;/i&gt;Sonic 2&lt;i&gt; by Thorn &amp; DNXDelta&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonic2retroremix.weebly.com/"&gt;Visit the &lt;i&gt;Sonic 2: Retro Remix&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i35.tinypic.com/2vl5mxd.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
This is a pretty thorough hack of Sonic 2 that makes it into almost an entirely new game. There are two modes: Classic and Adventure. Adventure Mode involves all sorts of Emerald hunting, missions, and level unlocking, which I'm a sucker for, but I didn't have time to play it in depth. What I did do, though, was fun. Anyway, I'll be looking at Classic Mode only for this review.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/1467g6.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, we've got our obligatory green level here. The new art is a little grainy, and also samey. The repeating blocks all look like they're at the same depth, causing it to look boring, but also making the gameplay confusing. It's hard to always tell what you can pass through, behind, or in front of or not.
&lt;/p&gt;

&lt;p&gt;
We've got some new moves for Sonic, too. There's a wall jump, homing attack, and even an expertly recreated version of the trick system from &lt;i&gt;Sonic Advance 2&lt;/i&gt;, which I have to say is mighty awesome. All of this works very well and it's fun to use the controls.
&lt;/p&gt;

&lt;p&gt;
Unfortunately the level design is poor. It's like a bad mix of &lt;i&gt;Sonic Advance 2&lt;/i&gt; and &lt;i&gt;Chaotix&lt;/i&gt;. You keep finding yourself zipping along, only to come to a stop, or fall through a passageway, or get bounced into a blocky area that impedes your flow. It's also fairly easy to get lost.
&lt;/p&gt;

&lt;p&gt;
Some fangames, like &lt;a href="http://sonicaxiom.angelfire.com/"&gt;&lt;i&gt;Sonic Axiom&lt;/i&gt;&lt;/a&gt;, or &lt;i&gt;Sonic: Time Twisted&lt;/i&gt; (see below), have level design that works very well. I'm not entirely sure what the secret to good level design is, but I think one aspect is that the designer needs to be aware of the screen. As they draw the Zone, they need to constantly be thinking about how the material they're adding is going to be &lt;i&gt;presented&lt;/i&gt; to the player. How is it going to be revealed onto the screen? Will the player see where they need to go? Is there enough interest present in any given frame? How can we surprise the player? What kind of visual cues can we use to encourage certain player behaviour? The two games I just mentioned seem to have this kind of thing in mind.
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Sonic 2: Retro Remix&lt;/i&gt;, however, much like the two games I compared it to (&lt;i&gt;Sonic Advance 2&lt;/i&gt; and &lt;i&gt;Chaotix&lt;/i&gt;) seems more like you're playing a &lt;i&gt;map&lt;/i&gt; than a Zone. As though it was all splodged onto a big canvas by someone who understood the overview, but had no concern for how it should feel to play through it as it scrolls onscreen incrementally. 
&lt;/p&gt;

&lt;p&gt;
So, for all the content here, the level design mars things pretty badly. Playing the Zone gives me a sort of empty feeling, like I'm not actually &lt;i&gt;doing&lt;/i&gt; anything.
&lt;/p&gt;

&lt;p&gt;
I've seen &lt;a href="http://sonic2retroremix.weebly.com/videos.html"&gt;trailer videos&lt;/a&gt;, though, with amazing speedruns of the Zones. Perhaps the Zones are just too finetuned, and I have to play them "right" in order to properly enjoy them. Either way, I think they need work.
&lt;/p&gt;

&lt;p&gt;
The later Zones actually fare slightly better in the level design department, or maybe I was just getting used to the style. I particularly appreciate the snow level - it's both pretty and fun.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i35.tinypic.com/ftlag3.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Don't get me wrong, &lt;i&gt;Sonic 2: Retro Remix&lt;/i&gt; is in no way bad. In fact I quite like it. The ported musics are really good (I especially like the third Act of the first Zone), and the Zones are fast and exhilarating when things are going well. You should definitely play it.
&lt;/p&gt;

&lt;h3&gt;Sonic: Time Twisted&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Overbound in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.timetwisted.sonicstrike.net/"&gt;Visit the &lt;i&gt;Sonic: Time Twisted&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/16lln9d.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
I've seen this game around since I first encountered the Sonic community several years ago. It's notable as a solid Game Maker Sonic fangame, and for having &lt;i&gt;Sonic CD&lt;/i&gt;-esque time travel, albeit streamlined to only 2 different eras.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/35b8iz8.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
This demo's level, Perplex Puzzle, has extremely well conceived level design, and has quite a handful of different gimmicks and  moving platforms types - some of which are even unique to the past or future. It's amazing the difference that this makes - suddenly you feel like you're playing a true Sonic game, with echoes of Sandopolis, Marble Garden, or Tidal Tempest, and not a mere tech demo made up of blocks.
&lt;/p&gt;

&lt;p&gt;
There are branching paths, hidden rooms, and nothing feels like it's just been thrown together or unnecessarily repeated just to pad things out. The enemy placement is fair and reasonable, plus the enemies themselves are cool. One is a snail that leaves a slime trail (quite a cool graphical effect, to be honest), and another is based on &lt;a href="http://info.sonicretro.org/TP_Badnik"&gt;this guy&lt;/a&gt; from &lt;i&gt;Sonic Triple Trouble&lt;/i&gt;. Actually, a lot of the level design reminds me favourably of the latter two Game Gear Sonic titles, mixed with Sonic CD. Importantly, it's genuinely fun to play the Zone.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i35.tinypic.com/4ugk6s.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
The music is really nice, too - it has the &lt;i&gt;Sonic CD&lt;/i&gt; vibe, which fits really well, but it also reminds me of one of my favourite game soundtracks, that of &lt;i&gt;Pushover&lt;/i&gt; for the SNES. This is fitting, considering that the Zone is a perplexing puzzle!
&lt;/p&gt;

&lt;p&gt;
It's not perfect, though. The art style, while vibrant, consistent, and technically proficient, at least for this Zone uses too many conflicting primary colours. The future is all green and purple, while the past is all blue and orange.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/316812b.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
I'm guessing this was done because Tidal Tempest has a similar look, but it confuses the eye and makes some of the gimmicks you're supposed to interact with (the pull-switches and doors, for instance) difficult to make out. Some of the object sprites, like the shield and the springs, look a little flat and unfinished. Also, the water doesn't change the colour of what's submerged, which reminds me of the lazy PC port of Sonic CD.
&lt;/p&gt;

&lt;p&gt;
I like the Sonic sprite, though, apart from some issues with the eyes in a few of the frames, and the balance of borrowed to original art is also respectable. None of the repurposed elements look out of place.
&lt;/p&gt;

&lt;p&gt;
The game has a fair amount of bugs and incompatibilities. The Zone Clear sequence is particularly unpolished - which is fair enough, this &lt;i&gt;is&lt;/i&gt; just a demo. But at one point it triggered during the Zone when I was nowhere near the end, and then froze up the game! The music didn't play on my machine, either, so I had to manually run it in a media player as I played the Zone. The Time Travel transition also showed up as video garbage - and my system can handle Game Maker and surfaces just fine, usually.
&lt;/p&gt;

&lt;p&gt;
Those glitches aside, though, the engine - a modified form of Sonic DASH - is a lot more playable than in most cases. There are a bunch of obvious problems that stand out to someone like me who's studied the originals so carefully, but to the average player there's nothing here that will frustrate you so much you won't be able to finish the demo.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; This is definitely worth checking out. It's much more polished than the previous demos of the game I've played, which promises that &lt;i&gt;Sonic: Time Twisted&lt;/i&gt; will only continue to improve in the future, too. If you like well-thought-out Zones and platforming gameplay (like me), then this is one to watch.
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sagexpo.org/"&gt;Visit SAGE!&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;A Happy Announcement!&lt;/h3&gt;

&lt;p&gt;
A few days ago, Overbound - the creator of &lt;i&gt;Sonic: Time Twisted&lt;/i&gt; - asked me if I'd like to join the project as Lead Programmer, and make the game's physics and engine even better. I was flattered that he proposed this, and also excited to lend support to a promising Sonic fangame, so I jumped at the chance and said 'yes'.
&lt;/p&gt;

&lt;p&gt;
Now, some of you may also know that I'm currently working on putting together a Unity engine for &lt;a href="http://forums.sonicretro.org/index.php?showtopic=19981"&gt;&lt;i&gt;Sonic Fan Remix&lt;/i&gt;&lt;/a&gt;. How can I juggle both projects? Well, the truth is, I already am - as I code for &lt;i&gt;SFR&lt;/i&gt; in Unity, I'm also working on my Game Maker Sonic engine. When things are going tough in one, I can switch to the other for a breather.
&lt;/p&gt;

&lt;p&gt;
So, though nominally I am now the "Lead Programmer" of &lt;i&gt;STT&lt;/i&gt;, more accurately I'm still just working on my Game Maker Sonic engine as I have been doing. However, now I'll be keeping Overbound posted on progress, and &lt;i&gt;STT&lt;/i&gt; will be the first game to use my engine when it's done.
&lt;/p&gt;

&lt;p&gt;
By the next SAGE, you're almost assured to see a demo of &lt;i&gt;STT&lt;/i&gt; that we'll work to make better than ever. Be there!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4884278123230148683?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4884278123230148683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-5.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4884278123230148683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4884278123230148683'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-5.html' title='SAGE Advice: Part 5'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i33.tinypic.com/smzj1u_th.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8748507739505269046</id><published>2010-08-13T09:29:00.000-07:00</published><updated>2010-08-13T22:40:10.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE Advice: Part 4</title><content type='html'>&lt;p&gt;
This time we'll be looking at some 3D fangames at SAGE, as well as some that are more heavily influenced by "Modern Sonic".
&lt;/p&gt;

&lt;h3&gt;Sonic Adventure 3&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Acidhead Games in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonicadventure3.zxq.net/"&gt;Visit the &lt;i&gt;Sonic Adventure 3&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i33.tinypic.com/2096hr5.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
I wish I could give this game a proper review, but sadly it's buggy as hell and I can't control it. Sonic doesn't seem to be able to run forward properly.
&lt;/p&gt;

&lt;p&gt;
What I can see of the presentation, though, is underwhelming at best. No Sonic game, not even a 3D one, should have to have &lt;a href="http://en.wikipedia.org/wiki/Mouselook"&gt;mouselook&lt;/a&gt;. It screams 'I've re-textured a basic FPS tutorial' not 'worthy follow-up to Sonic's last hurrah on the Dreamcast.'
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Who knows - if the controls work on your system, you might get something more out of it than I did. But I don't really see the point. I can't even say 'Great effort, guys!' because I'm most emphatically &lt;i&gt;not&lt;/i&gt; a fan of 3D Sonic fangames. Why, exactly, would you &lt;i&gt;want&lt;/i&gt; to repeat Sega's mistakes? Sonic works in 3D about as well as it does as an interpretive dance.
&lt;/p&gt;

&lt;h3&gt;Sonic 3D&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Zykov Eddy in EDuke 32&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonic3d.ru/en/downloads/category/3-current"&gt;Visit the &lt;i&gt;Sonic 3D&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i33.tinypic.com/e5lqb6.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, this fares slightly better. I can at least control it. But again we have mouselook, which just feels wrong. Worse, since it's the only way to turn (the WASD controls allow only strafing), you have to always have one hand on the mouse. But of course, jump is mapped to the spacebar! Oh joy, we have to run and jump with one hand, while looking around with the other! It's far from the optimal setup, and isn't conducive to Sonic gameplay at all. Jumping on enemies or items is supposed to be the &lt;i&gt;central action&lt;/i&gt; of a Sonic game, but here it's a tedious chore - like in most 3D versions of Sonic.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; In the end it feels like the poor man's version of the much better Sonic Robo Blast 2. I find it a shame that - perhaps in some attempt to be "impressive" - people are compelled to make 3D games like this. When most major studios can't get it right, what hope do you have? I'm all for quixotic perseverance in the face of the odds, but this is just silly. Maybe I'm just being closed-minded here, but does anyone actually have fun &lt;i&gt;playing&lt;/i&gt; projects like this, or are they just glorified tech demos?
&lt;/p&gt;

&lt;h3&gt;Sonic NXT&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Altheboss in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.wix.com/altheboss/Sonic-NXT"&gt;Visit the &lt;i&gt;Sonic NXT&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/1hyvl1.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
You know what? This one is horrible, too. I don't know if I'm just in a bad mood, or if these 3D and "Modern" fangames just suck (but I have a vague idea which it might be).
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i35.tinypic.com/23kcf46.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Aside from the borrowed graphics that are copy-pasted in the least imaginative of ways, the physics are also terrible. I bounced around in here for a good half-minute.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i38.tinypic.com/v6uut0.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
These springs bounce you right into a big solid thing. Helpful.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/wv7o08.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
And the red spring to the left of here isn't powerful enough to send you further up this slant without stopping (you have to use the Spindash). Of course, in any decent engine it would be. It's almost as though the level design doesn't &lt;i&gt;want&lt;/i&gt; me to play it.
&lt;/p&gt;

&lt;p&gt;
Well, I'm happy to oblige it.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i38.tinypic.com/dmuzj5.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
I do sorta like the Zone intro, though. Meh.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; This is way too broken to be any fun, and everything in it is recycled. Skip it. It's telling that the fangames that seem the most heavily influenced by the more recent Sonic games are also the worst.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i33.tinypic.com/2e4dths.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
And, yes, that's Tails with four tails. Saints preserve us.
&lt;/p&gt;

&lt;h3&gt;Sonic Phoenix&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by LH_The_Hedgehog in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.spbooth.blogspot.com/"&gt;Visit the &lt;i&gt;Sonic Phoenix&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/2r3bj21.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, we've got a single act demo here, it appears. There are all the usual "Modern Sonic" suspects: boost, homing attack, Egg Pawns, wall jump, QTE's - the works.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i33.tinypic.com/2nsv1hh.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Unfortunately there are also all the bad things about "Modern Sonic", too: treacly acceleration (PROTIP: Sonic is &lt;a href="http://www.youtube.com/watch?v=G4jd0UWGPgY"&gt;supposed to be fast&lt;/a&gt;), run-run-run-trick-run level design, and awful butt-rock music (though the Zone theme isn't terrible).
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/6plyxj.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
It has more polish than some similar attempts I've seen, though, I'll give it that much. And I like that it detects your ToD ("Time of Day") and changes the Zone's ToD accordingly.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; It's not totally unplayable (which means it stands out in today's group), but there's nothing that makes it fun. Though, compared to &lt;a href="http://www.youtube.com/watch?v=QABIdKDQ2sg"&gt;&lt;i&gt;Shadow the Hedgehog 2&lt;/i&gt;&lt;/a&gt; from last year, there's just no contest.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i34.tinypic.com/21ax1n6.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, they get props for blowing up Washington, I guess.
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i36.tinypic.com/cqqm9.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Wait... what? Now it's NY? I'm confused.
&lt;/p&gt;

&lt;h3&gt;Sonic and the World Rings&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by A.J. in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://ninforever.com/sonicworldrings/"&gt;Visit the &lt;i&gt;Sonic and the World Rings&lt;/i&gt; Booth!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i36.tinypic.com/28al0lf.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Well, now it looks like we might be getting somewhere. This game makes an effort in the presentation category, and it's quite interesting for it to use double-tall resolution like a faux DS game. The title also suggests more thought has gone into storyline than if it was called "Sonic, um... 3D!".
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i37.tinypic.com/zwnci.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
Unfortunately, the storyline - taking a page from &lt;i&gt;Sonic Rush Adventure&lt;/i&gt; - is told in a very unappealing way. (I also feel compelled to complain about the lazily coded message boxes, with words that type out only to jump to the next line after spilling over the right edge. It's &lt;a href="http://intheshadeofawave.blogspot.com/2010/02/code-of-ninja-text-boxes.html"&gt;not that hard to fix&lt;/a&gt;.)
&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i35.tinypic.com/2nk7wgp.jpg"&gt;&lt;/p&gt;

&lt;p&gt;
We've also got a bottom-screen Tails bitching at Sonic (complete with grating voice clips), and an entirely pointless (and compulsory!) tutorial. 'This is how to walk left and right!' Honestly, would anyone dare to include something so banal if Dimps hadn't led the way?
&lt;/p&gt;

&lt;p&gt;
Truly, Dimps poisons everything (to paraphrase Christopher Hitchens). Some more of the lovely Dimps-isms we're treated to here include pointless unskilled tricking to fill a boost meter (with the attending boost gameplay), death pits, bland Egg Pawns, and rooms full of bland Egg Pawns. C'mon, people, unless you're making a tongue-in-cheek &lt;a href="http://blueballs.ath.cx/s2dimps/"&gt;parody hack&lt;/a&gt;, please aspire to a higher level than Dimps!
&lt;/p&gt;

&lt;p&gt;
It gets worse. The level "plays itself", full of boosters and springs and rails. The homing attack (called the "Exact Attack") is awful - for some reason Sonic instantly transports to the enemies rather than zipping towards them. Ugh. There are also homing attack chains, which is a particularly brainless brand of gameplay. The few times Sonic is on solid ground it seems to be nothing but an exercise in running nose-first into crates. Has it really come to this?
&lt;/p&gt;

&lt;p&gt;
I might be able to praise the original way that they handle the wall jump (continue to hold the jump button and alternate pressing left and right), but unfortunately, while it may be creative, it's terribly unintuitive and for that reason doesn't work as well as if they'd just left it alone.
&lt;/p&gt;

&lt;p&gt;
Scattered throughout the Zone are bungie cords (you know the kind; first introduced in Green Forest from &lt;i&gt;Sonic Adventure 2&lt;/i&gt;, and rehashed ever since), but they don't actually bungie (at least I couldn't get them to). They just stretch out until Sonic dies. Thrilling. I tried tricking, jumping, the "Exact Attack", spamming the directional keys... if this is some attempt to out-barrel the &lt;a href="http://info.sonicretro.org/Carnival_Night_Zone#Barrel_of_Doom"&gt;barrel&lt;/a&gt;, it's working.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; There's a more playable game here than the others we've just looked at, and the presentation is held to a slightly higher standard. If you can jump over the bungie parts (and if you fail, at least you seem to have infinite lives), there's a &lt;i&gt;Sonic Rush&lt;/i&gt;-y bit of fun to be had. But when the Zone art and music is directly lifted from the &lt;i&gt;Sonic Rush&lt;/i&gt; series itself, you're better off just playing those instead.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://sagexpo.org/"&gt;Visit SAGE!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Sorry this group was all duds, basically. I also apologise if my assessments are short and overly repetitive. I'm pretty swamped at the moment and I don't have time to be as brilliant as I'd like to be.
&lt;/p&gt;

&lt;p&gt;
Next time, though, you can look forward to another gem! =)
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8748507739505269046?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8748507739505269046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-4.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8748507739505269046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8748507739505269046'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-4.html' title='SAGE Advice: Part 4'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i33.tinypic.com/2096hr5_th.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5929853943986655889</id><published>2010-08-12T03:50:00.000-07:00</published><updated>2010-08-13T03:33:01.387-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE Advice: Part 3</title><content type='html'>&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; It's come to my attention that there's more to &lt;a href="http://sonicfusion.ucoz.ru/sagebooth/booth.htm"&gt;&lt;i&gt;Sonic Fusion&lt;/i&gt;&lt;/a&gt; than I gave it credit for. For some reason when I ran it on my machine, the "Up" button was continually registering, and that's what was killing Sonic's ability to roll or spindash. It also prevented me from accessing the other levels and characters from the menu. If and when I can resolve this issue, I'll be giving the game a more accurate and balanced review.
&lt;/p&gt;

&lt;h3&gt;Sonic 2: Dimps Edition&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;ROM Hack of &lt;/i&gt;Sonic 2&lt;i&gt; by SOTI&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blueballs.ath.cx/s2dimps/"&gt;Visit the &lt;i&gt;Sonic 2: Dimps Edition&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i35.tinypic.com/4h7hpi.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
As implied by the title, this is a hack of &lt;i&gt;Sonic 2&lt;/i&gt; that attempts to mimic the style of Dimps (the developer responsible for the &lt;i&gt;Sonic Advance&lt;/i&gt; and &lt;i&gt;Sonic Rush&lt;/i&gt; series, as well as the upcoming &lt;i&gt;Sonic 4&lt;/i&gt;). This means that the Zones are chock-full of Speed Boosters, the Homing Attack is present (use button C), the jump height is lower, plus a few other minor modifications, such as to the music and sound. The illusion isn't complete - for instance the Monitors and Springs are still solid, which isn't the case in the majority of the Dimps titles - but the game is still under construction, so that's understandable.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/6rrerk.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Because this is a parody hack, it can't be evaluated in the traditional way. The music is intentionally worse; the physics are intentionally bad; the alterations intentionally take away from the experience of Sonic 2. As such I have no complaints except for this: The main additions, the Speed Boosters and Homing Attack, aren't properly implemented.
&lt;/p&gt;

&lt;p&gt;
The Homing Attack isn't supposed to work when the enemies are above Sonic's head. Though I'm not sure how it works in &lt;i&gt;Sonic 4&lt;/i&gt;, this is the case in the Dimps titles I've played.
&lt;/p&gt;

&lt;p&gt;
The Speed Boosters are poorly coded. When Sonic hits them, he's immediately bumped outside of their hitbox, which creates a jerky motion. Again, in the Dimps games I'm familiar with, this isn't so - hitting Speed Boosters is actually very smooth. This is even more inexplicable because Chemical Plant Zone already has Speed Boosters in it, so I don't know why the creators of the hack didn't just take a hint from those objects' code.
&lt;/p&gt;

&lt;p&gt;
It's all very well and good to throw something together sloppily if it's only going to reflect badly on Dimps and not yourself, but in the interest of accuracy I think that these issues should be fixed.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; The joke's a good one, and Dimps needs to be shown up after their recent miserable failures, but the idea quickly turns stale by the second or third level. If you don't play the game, though, at least check out the &lt;a href="http://blueballs.ath.cx/s2dimps/review.php"&gt;"Ben Kalough" PR video&lt;/a&gt; - if you've been following the turbid &lt;i&gt;Sonic 4&lt;/i&gt; saga, you'll probably enjoy the humour.
&lt;/p&gt;

&lt;h3&gt;Sonic Gijinka&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game Made by Gear the Hedgehog in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.wix.com/GBlastMan/Sonic-Gijinka"&gt;Visit the &lt;i&gt;Sonic Gijinka&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/2qust3c.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
There are three things that strike me about &lt;i&gt;Sonic Gijinka&lt;/i&gt;. 1: Sonic is given a humanoid makeover. Weird, but not in itself an unworkable idea. 2: They're including some elements from the &lt;i&gt;Sonic 1&lt;/i&gt; beta, such as the "Welcome" sign in Green Hill Zone. 3: &lt;span style="font-style:italic;"&gt;It's the worst thing I've ever played.&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/30idgqu.jpg"&gt;&lt;img src="http://i37.tinypic.com/1zd64xd.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Right off the bat you'll notice that the sprite is hideous - excuse-me-a-moment-while-I-bleach-my-eyes hideous - and isn't even the right size in relation to its &lt;i&gt;other frames&lt;/i&gt;, let alone the other objects. This is odd because the Zone graphics aren't totally irredeemable.
&lt;/p&gt;

&lt;p&gt;
The background paralax is calculated using both the player's X &lt;i&gt;and&lt;/i&gt; Y position, so it moves left and right when the player jumps. I can't for the life of me figure out why this should be so - or how anyone thought it was acceptable to reveal a demo with a bug that basic.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/1zmeb29.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
If you can stomach the sprites long enough to actually play the one act you're offered, you'll be in for even more punishment. The game engine (called the "Sonic Revival Unleashed b4", it appears) is so jerky and sluggish that it'd be funny if it wasn't so painful. I'll be the first to admit that modern Sonic games are too speed-crazy, and that momentum plays an important role in Sonic gameplay, but there has to be some middle ground between i-can't-see-what's-whizzing-by and oh-god-why-am-I-suddenly-a-quadriplegic. When you spend most of your time during the level waiting for your damn jump to fall back down, something's wrong.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Don't stick anything larger than your ear on your elbow. (What - you expect me to make sense after &lt;i&gt;Sonic Gijinka&lt;/i&gt; melted my brain?)
&lt;/p&gt;

&lt;h3&gt;Be the Bullet&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Steven M in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://stevenart.co.uk/art/sagebtb/"&gt;Visit the &lt;i&gt;Be the Bullet&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/24qvebq.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Be the Bullet&lt;/i&gt; is a crazy original concept - a Sonic the Hedgehog sidescrolling shmup that harks back to the NES era. As the game opens, you're treated to a remix of the Capcom &lt;i&gt;Ducktales&lt;/i&gt; Moon theme, so you know good things are in store.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/2eqgy28.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
But how does Sonic shoot if he doesn't have a gun? Well, he doesn't actually shoot bullets - he &lt;i&gt;is&lt;/i&gt; one. Hence the title.
&lt;/p&gt;

&lt;p&gt;
By pressing the attack button, Sonic shoots forward in his Spindash form, destroying any enemies in his path. When he reaches the right edge of the screen, he wraps back around to the left (how old-school can you get? =P) and returns to the marker position he was fired from (while he's Spindashing, you can move the marker, and this is actually used to cross obstacles such as waterfalls - it's all very clever and well thought out).
&lt;/p&gt;

&lt;p&gt;
When Sonic destroys an enemy, any of its bullets that are still on screen turn into Rings, which draw towards him until he collects them. When Sonic is hit, he loses Rings, so there's no insta-death here like the unforgiving NES shooters you may be used to. I'm also happy to note that Sonic doesn't "crash" into the level boundaries, he just slides up against them. One of the things I hate the most about shmups is when the environment kills you as well as the enemies, and it's good that that's not the case here.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; I'm not terribly good at playing this type of game, but I can recognise its worth and I really like the old-school presentation. And for once I don't have to say, 'it's not original enough!'
&lt;/p&gt;

&lt;h3&gt;Sonic Construct Worlds&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Made by Candescence in Construct&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dwl-aod-sage2010booth.yolasite.com/aria-of-destiny.php"&gt;Visit the &lt;i&gt;Sonic Construct Worlds&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i34.tinypic.com/av5vh4.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I'm afraid it's back to the bad news with &lt;i&gt;Sonic Construct Worlds&lt;/i&gt;. It's an extrememly unpolished first attempt at recreating the Sonic Worlds engine in Construct. While this might spell future good fortune for Sonic fangame makers that favour Construct, at the moment the engine is absolutely unusable.
&lt;/p&gt;

&lt;p&gt;
I'm not going to be judgemental about &lt;i&gt;Sonic Construct Worlds&lt;/i&gt;, because all of us engine-makers have had builds as sorry as this one. In a year or two, this could well be the best Sonic fangame engine there is - but there's no way to tell from what's on offer here. Personally I can't imagine why someone would even bother showing this off. Understanding folks (like me) won't hold it against the creator when their next engine demo is on display, but the majority are going to write this off as hopeless when they see it.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; If you don't have something to show, don't show it.
&lt;/p&gt;
&lt;p&gt;
...Oh, right, advice for SAGE goers - skip this one; and if you don't skip it, cut the creator some slack: the only mistake they've made is to be overeager to show their work.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://sagexpo.org/"&gt;Visit Sage!&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5929853943986655889?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5929853943986655889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5929853943986655889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5929853943986655889'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-3.html' title='SAGE Advice: Part 3'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i35.tinypic.com/4h7hpi_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7958366820030098111</id><published>2010-08-11T01:43:00.000-07:00</published><updated>2010-08-13T03:33:21.491-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE Advice: Part 2</title><content type='html'>&lt;p&gt;
&lt;a href="http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-1.html"&gt;Last time&lt;/a&gt;, I talked about three games that didn't follow the traditional Sonic formula. This time I'll be looking at a few games that will definitely feel more familiar.
&lt;/p&gt;

&lt;h3&gt;Sonic Genesis&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Toaster1 in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://timetwisted.sonicstrike.net/sonicgenesis/"&gt;Visit the &lt;i&gt;Sonic Genesis&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/fyk7td.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Those Sonic fans amongst you who survived 2006 (despite Sega's best efforts) probably remember the horrendous GBA port of &lt;i&gt;Sonic the Hedgehog&lt;/i&gt; called "Sonic Genesis" - unless, that is, you blocked the traumatic experience.
&lt;/p&gt;

&lt;p&gt;
Fortunately, though, this game is similar to that release in name only. So, what do we have here?
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/14dpnww.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
A classic-style Sonic fangame with partially original graphics, a passable engine, a borrowed &lt;i&gt;Sonic 3D Blast&lt;/i&gt; tune, and some modified enemies (I like the Shellstoppers, myself). There's also a Robotnik boss at the end that's pretty easy to defeat.
&lt;/p&gt;

&lt;p&gt;
And I'm afraid that's pretty much it. There's nothing particularly wrong with it, aside from the usual deficiencies of the Rogueyoshi/Damizean engine it uses. But there's nothing on offer here to jump over the moon for, either. 
&lt;/p&gt;

&lt;p&gt;
This is actually a common problem with Sonic fangames. I know it's incredibly hard work to put together a level, and people want to show off their work - but when the achievement basically boils down to something we've all seen before, what's the point? In the end, we're left saying, 'Good effort, but come back when you have something new to show us.'
&lt;/p&gt;

&lt;p&gt;
I also have a personal pet peeve - I hate seeing the Tropical Island trope done to death. You can bet that out of any random selection of Sonic fangames, 3 out of 4 will be a single-zone demo set on an island. Sure enough, that category is well-represented at this year's SAGE, so I'll run down some of the others. But first...
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; I have nothing against this game, but since there's nothing here we haven't all seen before (over and over), I recommend you pass. I am looking forward to seeing progress on it, though, because there's certainly potential. Next SAGE, maybe?
&lt;/p&gt;

&lt;h3&gt;Sonic Zero: Remastered&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Mr.Kaosu, LarkSS, and Sparks in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://info.sonicretro.org/Sonic_Zero:_Remastered"&gt;Visit the &lt;i&gt;Sonic Zero: Remastered&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/b7dis6.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I appraised this game &lt;a href="http://intheshadeofawave.blogspot.com/2009/07/thoughts-on-sage-14.html"&gt;last year&lt;/a&gt;, and wasn't especially impressed. This year things are marginally better.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/2psjgci.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Oh, joy - another palmtree-laden green level! At least they have the decency to acknowledge this (the Zone is called "Generic Garden"), but I might go so far as to say that this betrays a deepfelt ennui with Sonic on the part of the creators. If you have to stoop to pointing out just how mundane you are, isn't it time to do something else?
&lt;/p&gt;

&lt;p&gt;
The engine is Sonic Worlds, which is still as buggy as ever, so there's nothing special there. The layout and music are just kinda &lt;i&gt;there&lt;/i&gt; - again, it feels like there isn't enough creativity to go around. I'm particularly incensed by the Robotnik statues scattered around - when &lt;a href="http://info.sonicretro.org/Retro_Sonic"&gt;Taxman's &lt;i&gt;Retro Sonic&lt;/i&gt;&lt;/a&gt; did that, it was cool and original. I hate to see a good game ripped off like that.
&lt;/p&gt;

&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;My Advice:&lt;/span&gt; Ultimately I find it a bit boring, but to be fair it is put together reasonably well, so it's not a total waste of time. But don't expect it to stick in your memory.
&lt;/p&gt;

&lt;h3&gt;Sonic Redux&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Retronic in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://redux.pytalhost.net/"&gt;Visit the &lt;i&gt;Sonic Redux&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i36.tinypic.com/2ry1uso.jpg" width="320"&gt;
&lt;/p&gt;

&lt;p&gt;
And... yet another tropical island! Hooray!
&lt;/p&gt;

&lt;p&gt;
Seriously, though, &lt;i&gt;Sonic Redux&lt;/i&gt; is rescued from oblivion by the fact that it's heavily based on &lt;i&gt;Sonic 3 &amp; Knuckles&lt;/i&gt;. Sure, it may not be any more original than any other fangame that borrows art, layouts, and music, but most opt to rip off &lt;i&gt;Sonic 1&lt;/i&gt;, &lt;i&gt;2&lt;/i&gt;, or &lt;i&gt;CD&lt;/i&gt;. It's somewhat refreshing to see a fangame that revels in the style of the latter two Sonic classics.
&lt;/p&gt;

&lt;p&gt;
There's also a fair amount of imagination on display here, too, despite the "redux" business. I predict that this will do very well if they can keep it up.
&lt;/p&gt;

&lt;p&gt;
I do, however, have to bring up the frankly terrible camera. There is nothing wrong with stable, classic Sonic camera - so why do so many fangames feel obliged to screw over the entire experience with weird new camera systems? It would be one thing if it actually &lt;i&gt;worked&lt;/i&gt;, but most of the time it doesn't even follow your character properly, inducing migraine headaches. And woe betide someone who dares to run around a loop! Enough with the lerpy derpy cameras, people.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; It's totally worth it just to see Knuckles on a surfboard in the opening sequence. I'd also recommend you keep your eye on it, too - this promises to be something special.
&lt;/p&gt;

&lt;h3&gt;Sonic Fusion&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Felik in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonicfusion.ucoz.ru/sagebooth/booth.htm"&gt;Visit the &lt;i&gt;Sonic Fusion&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/2qxmc6g.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i34.tinypic.com/2lkqucm.jpg"&gt; &lt;img src="http://i37.tinypic.com/2wdy0px.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I really liked &lt;i&gt;Sonic Fusion&lt;/i&gt; at last year's SAGE, and I was doubly excited for it this year after seeing the &lt;a href="http://www.youtube.com/watch?v=1ak07k6sZvI"&gt;trailer&lt;/a&gt;. Full motion video? Comic book panel cutscenes? Hell, yeah!
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i35.tinypic.com/2dt2n2h.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Unfortunately I was brought down immediately. Another tropical island? And after the nice, original Zone from last year? I AM DISAPPOINT! And why is it so &lt;i&gt;ugly&lt;/i&gt;? With the Richard Jaques version of Green Grove Zone's theme in the background, it's almost like they &lt;i&gt;want&lt;/i&gt; me to hate this level!
&lt;/p&gt;

&lt;p&gt;
Also, in some misguided attempt to feel more like a &lt;i&gt;Sonic Adventure&lt;/i&gt;-inspired game, there's no proper way to roll up or Spindash (unless I'm doing something wrong, but it should be obvious, right?) The level layouts and physics are also really poor, leading to cheap blows and lots of frustration.
&lt;/p&gt;

&lt;p&gt;
It's terribly sad to see a promising Sonic fangame actually &lt;i&gt;regress&lt;/i&gt;, developing Tropical fever and falling apart at the seams. I can only hope it will recover.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Download it to ogle the cutscene, and - heck - give the gameplay a go. See if you can bear it. You'll only die a little.
&lt;/p&gt;

&lt;h3&gt;Sonic Zeta Overdrive&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;ROM Hack of &lt;/i&gt;Sonic 2&lt;i&gt; by Mikel&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonicresearch.org/projectzeta/"&gt;Visit the &lt;i&gt;Sonic Zeta Overdrive&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i38.tinypic.com/ibvs69.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I've come across the occasional basic hacking tutorial online before. I was amused once to read one that said something to the effect of, 'First, come up with an idea for your hack.' From my point of view, you'd think someone would have already done just that if they were bothering to read a hacking tutorial in the first place.
&lt;/p&gt;

&lt;p&gt;
But I guess that's not always the case. Exhibit A: &lt;i&gt;Sonic Zeta Overdrive&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i36.tinypic.com/2mxk906.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Well, the name sounds impressive, but does the hack live up to it? Judge for yourself by looking at that screenshot. I'm sorry, but anyone capable of leaving a palette like that in their game isn't instilling a lot of confidence in their other abilities.
&lt;/p&gt;

&lt;p&gt;
The hack feels totally directionless: clumsy, sparse level design; flat, uninspired music; the throwaway inclusion of Bean the Dynamite as a playable character (which I would otherwise find cool, but the implementation of it here is nothing more than a lousy edit of Sonic's spriteset); and a jumble of reused graphics that don't belong together at all.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; &lt;i&gt;Sonic Zeta Overdrive&lt;/i&gt; amounts to little more than a glorified palette hack. I can't think of any grounds for recommendation.
&lt;/p&gt;

&lt;h3&gt;Sonic Axiom&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Vexer in Multimedia Fusion&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sonicaxiom.angelfire.com/"&gt;Visit the &lt;i&gt;Sonic Axiom&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i34.tinypic.com/qn5w0y.jpg"&gt; &lt;img src="http://i37.tinypic.com/2jawwgx.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i36.tinypic.com/30ljksy.jpg"&gt; &lt;img src="http://i33.tinypic.com/kw7tc.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Aw, hell. Another island paradise rehash fest with that malignant Sonic Worlds engine. Will the pain ever end?
&lt;/p&gt;

&lt;p&gt;
Um... &lt;b&gt;yes&lt;/b&gt;, actually, it will. &lt;i&gt;Sonic Axiom&lt;/i&gt;, bizarre title and slightly weak first level aside, is the best Sonic fangame I have ever played. (I did promise this last time, remember? =P)
&lt;/p&gt;

&lt;p&gt;
Let's look past the problems here for a moment. Yes, there are physics glitches spewing everywhere - what can you expect with MMF and Sonic Worlds? - and yes, the framerate and sound mixing are just plain bad. But the Zones... the &lt;i&gt;Zones!&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/1r44rm.jpg"&gt;
&lt;img src="http://i35.tinypic.com/30sg4sl.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i35.tinypic.com/doax4h.jpg"&gt; &lt;img src="http://i35.tinypic.com/mskmts.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
The graphics are mix of wholly original tiles and repurposed bits of all the classics, but never have I seen such an elegant fusion of these elements. You have to actively check yourself and remember, 'hey, these are &lt;i&gt;borrowed&lt;/i&gt; graphics!', so well are they put together.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/34yuws4.jpg"&gt; &lt;img src="http://i38.tinypic.com/29lhfs0.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Sonic Axiom&lt;/i&gt; is a whole lot more than the sum of its parts. As a devotee of Sonic &lt;i&gt;Zones&lt;/i&gt;, I of course am wowed by the gorgeous level graphics, but that's not all it has going for it. The music choices are apt, atmospheric, and absolutely lovely. The layouts are genuinely fun, surprising, challenging-but-fair, and contain some creative platforming - something Sonic fangames usually sorely lack.
&lt;/p&gt;

&lt;p&gt;
I could talk more about it, but I'm too busy drooling over those multi-plane backgrounds...
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i34.tinypic.com/2znnac7.jpg"&gt; &lt;img src="http://i36.tinypic.com/8zr7mt.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;My Advice:&lt;/b&gt; Yes, yes, yes! If you play nothing else at SAGE this year, play &lt;i&gt;Sonic Axiom&lt;/i&gt;. I admit it may not be for everybody - my personal history of loving Sonic CD (particularly the North American version) sets me up to respond positively to this game. Others may indeed hate it because it's not "boost-boost-boost-Crush-40" enough. Well, sod them, I say. Play this game.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://sagexpo.org/"&gt;Visit SAGE!&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7958366820030098111?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7958366820030098111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7958366820030098111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7958366820030098111'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-2.html' title='SAGE Advice: Part 2'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i37.tinypic.com/fyk7td_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8425003076605984656</id><published>2010-08-10T02:34:00.000-07:00</published><updated>2010-08-13T03:33:34.731-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>SAGE Advice: Part 1</title><content type='html'>&lt;p&gt;
One of my first posts here was a &lt;a href="http://intheshadeofawave.blogspot.com/2009/07/thoughts-on-sage-14.html"&gt;rundown of my thoughts&lt;/a&gt; on the crop of Sonic fangames at SAGE 2009. Well, it's been another year, and here we are at &lt;a href="http://www.sagexpo.org/"&gt;SAGE 2010&lt;/a&gt;. Of course I can't resist spilling what I think about this year's offerings, so here goes.
&lt;/p&gt;

&lt;p&gt;
I'll be covering the games INPO, and I won't be covering them all (some aren't related to Sonic, so I didn't bother trying them out). I also won't be fitting them all into this post, so check back each day for the latest reviews if you're interested.
&lt;/p&gt;

&lt;h3&gt;Lazy Sonic&lt;/h3&gt;

&lt;p&gt;
&lt;i&gt;Game made by Sad Hedgehog in Game Maker&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.lazysonic.narod2.ru/"&gt;Visit the &lt;i&gt;Lazy Sonic&lt;/i&gt; Booth&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i35.tinypic.com/5kiudz.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I started with &lt;i&gt;Lazy Sonic&lt;/i&gt;, because, to be honest, I thought it didn't look like much and I figured I should get it out of the way quickly. I can be excused for not expecting anything amazing because the game advertises itself as being lazily made.
&lt;/p&gt;

&lt;p&gt;
As I started playing, my suspicions seemed to be confirmed. It's very basic graphically and artistically, its physics are sluggish, and there aren't any loops or anything of the sort in sight. The levels are made entirely of repeating blocks and floating platforms.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/1ieerb.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
However, instead of immediately scoffing I continued to play and found that it wasn't actually so bad. The physics, while slow, aren't plagued with glitches and are quite solid. There's no Spindash, and the jump doesn't have variable height, though, and that kinda sucks.
&lt;/p&gt;

&lt;p&gt;
I have to give props for using the Pocket Adventure sprites, which I really like, rather than the overused Sonic Advance sprites. It gives off a certain charm. I was also pleased to discover that progressing through the first level and fighting the boss wasn't riddled with poor hit detection or other sloppy glitches you might expect.
&lt;/p&gt;

&lt;p&gt;
The first boss is actually very reminiscent of the Great Turquoise Zone boss from &lt;i&gt;Sonic Triple Trouble&lt;/i&gt;. Although one wonders how many of those Badniks Robotnik can fit inside his Egg-o-matic....
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i33.tinypic.com/357ecu9.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
The second Zone, though, is where &lt;i&gt;Lazy Sonic&lt;/i&gt; really started to shine. When I saw Sonic riding on the Tornado, I thought, 'Oh, no, not another boring Sky Chase rip-off' but I was completely surprised by the "Sky Ruins" idea.
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i35.tinypic.com/2zit15c.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
Instead of a Zone consisting entirely of the Tornado and Badniks, there are floating ruins and platforms for Sonic to interact with. By jumping, you can even steer the Tornado backward, making the auto-scrolling aspect less restricting.
&lt;/p&gt;

&lt;p&gt;
Maybe I'm easily blown away, but I found this idea both simple and simply amazing. It's very humbling to boot up a game called "Lazy Sonic" expecting a glitchy amateurish mess, and be met with a totally original level concept like this. Sky Chase has always been a one-off in Sonic, an oddity that didn't really mesh. Sure, it's been rehashed several times (in Sonic Adventure, and Sonic Unleashed), but never properly expanded upon or integrated into the normal Sonic gameplay like this before. Sky Ruins Zone has made me think, 'Hey, yeah... why &lt;i&gt;hasn't&lt;/i&gt; there been another Tornado-bound Zone in Sonic?' The concept has some mileage left in it, it seems.
&lt;/p&gt;

&lt;p&gt;
So, thank you &lt;i&gt;Lazy Sonic&lt;/i&gt;, for injecting a little something fresh into my Sonic world. That's why I love fangames! =)
&lt;/p&gt;

&lt;p&gt;
It's not all good, though. The next Zones have some areas that are poorly thought through. Some areas in the second Zone are very similar to those in the first, and that just seems... well, lazy! Also there are some textbook examples of bad level design. Take these platforms for example:
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/i1w3s0.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
They are further apart than Sonic's jump height, and they move in perfect unison. This makes it extraordinarily difficult to jump from one to the other. In cases like these, the platforms should be offset so that one carries the player toward the other. Games that don't think things like this through tend to have unforgiving bottleneck areas in the levels that frustrate players until they stop playing. Challenge in games should be intentional. 
&lt;/p&gt;

&lt;p&gt;
Or maybe I'm just a lazy player.... Anyway I did enjoy what I played, and I'll probably return to it to play more after I finish trying out the rest of the SAGE submissions.
&lt;/p&gt;

&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;My Advice:&lt;/span&gt; It's not an absolute must-see, but I'd recommend it, especially to fans of Sonic's earlier handheld titles.
&lt;/p&gt;

&lt;h3&gt;The Rose of Longevity&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by DarkJedi188 in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://roseoflongevity.webs.com/"&gt;Visit the &lt;i&gt;Rose of Longevity&lt;/i&gt; Booth&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i37.tinypic.com/fp839k.jpg"&gt;
&lt;/p&gt;

&lt;p&gt;
I've seen this game in passing before, perhaps at previous SAGEs, but I've just now given it a try. I should have trusted my prior judgement - playing this game is a mistake.
&lt;/p&gt;

&lt;p&gt;
Aside from having the worst plot ever (Amy Rose, afraid that by the time she finally wins Sonic's heart she'll be old and (more) hideous, seeks the Rose of Longevity, which has the power to keep her youthful), this game's physics are also atrocious. And by that I mean fall-through-the-floor-for-no-reason, appear-half-a-screen-above-springs-when-you-hit-them, camera-jerks-uncontrollably atrocious.
&lt;/p&gt;

&lt;p&gt;
Whatever buried charms this game may have, they cannot be appreciated through the fog of the horrible game engine. Having worked in Game Maker for years, even in the Free version, I can tell you that there's no excuse for failure on this level. Modifying the provided platformer tutorial would result in a better game than this.
&lt;/p&gt;

&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;My Advice:&lt;/span&gt; Avoid at all costs, unless you're a slavering Amy Rose fanatic. If you are, avoid &lt;i&gt;me&lt;/i&gt; at all costs - please!
&lt;/p&gt;

&lt;h3&gt;Techno: The Gamma Project&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Game made by Techno Superguy in Game Maker&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.zazzle.com/technosuperguy"&gt;Visit the &lt;i&gt;Techno: The Gamma Project&lt;/i&gt; Booth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://i38.tinypic.com/2q2fo9l.jpg" height="240"&gt;
&lt;/p&gt;

&lt;p&gt;
Yes, this isn't strictly a Sonic the Hedgehog fangame, but I've played a game by the same creator before called "Techno the Hedgehog", which I thought was very entertaining. There wasn't much to the gameplay, but the writing was tongue-in-cheek, and I enjoyed the experience. So I figured I'd give this a chance, too.
&lt;/p&gt;

&lt;p&gt;
The writing is up to the standard I was expecting. But I was also pleasantly surprised by the gameplay. While repetitive and not very original, it's smooth, fast, and feels very playable. It's the type of game that doesn't fight you, and compels you to keep breezing through the levels in order to watch the story unfold.
&lt;/p&gt;

&lt;p&gt;
My Advice: If you liked &lt;i&gt;Techno the Hedgehog&lt;/i&gt; and its style, check this out. If you prefer your games to be a bit more than mindless fun, give it a pass.
&lt;/p&gt;

&lt;h3&gt;
Next Time...
&lt;/h3&gt;

&lt;p&gt;
So that's three appetisers for you. Next time I post there will be some heavier hitters, including what might well be my favourite fangame ever, so stay tuned.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.sagexpo.org/"&gt;Visit SAGE!&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8425003076605984656?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8425003076605984656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8425003076605984656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8425003076605984656'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/08/sage-advice-part-1.html' title='SAGE Advice: Part 1'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i35.tinypic.com/5kiudz_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3319835121414095056</id><published>2010-07-22T02:21:00.000-07:00</published><updated>2010-10-11T00:03:59.489-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Alternate, Unreleased SatAM Theme Songs</title><content type='html'>&lt;p&gt;
I found these unreleased alternate title themes for SatAM Sonic over at &lt;a href="http://www.saturdaymorningsonic.com"&gt;Saturday Morning Sonic&lt;/a&gt; and I wanted to share them here so that more people could hear them.
&lt;/p&gt;
&lt;p&gt;
I've set them to the footage from the normal title theme, just so you'll have something to look at while listening.
&lt;/p&gt;
&lt;p&gt;
For more info and MP3 downloads, go &lt;a href="http://www.saturdaymorningsonic.com/media/soundtrack"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Thanks to Michael Tavera for donating these to the Sonic Community!
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-style:italic;"&gt;Note: The titles are of my own device, because none were listed.&lt;/span&gt;
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OipqjpnPoUc&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OipqjpnPoUc&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
"Seriously mondo". That is all. =P
&lt;/p&gt;

&lt;h4&gt;
Lyrics:
&lt;/h4&gt;
&lt;p&gt;&lt;i&gt;
Sonic hits the ground, feet spinnin' around&lt;br&gt;
Nobody can rocket as fast as he can&lt;br&gt;
&lt;br&gt;
Supersonic guy, Sally by his side&lt;br&gt;
Freedom Fighters, too - he's a Sonic hedgehog!&lt;br&gt;
&lt;br&gt;
When Robotnik tries to catch him&lt;br&gt;
Sonic just turns on his speed&lt;br&gt;
&lt;br&gt;
Juice it to the top, never gonna stop&lt;br&gt;
Way past cool - he's a Sonic hedgehog!&lt;br&gt;
&lt;br&gt;
Sonic's havin' fun, Robotnik's on the run&lt;br&gt;
Seriously mondo - a Sonic hedgehog!&lt;br&gt;
&lt;br&gt;
Nobody can stop Sonic the Hedgehog!&lt;br&gt;
&lt;/i&gt;&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xIAOnR-fz0U&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xIAOnR-fz0U&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
This one's sung from Sonic's PoV, and the voice actually sort of fits him. I prefer it to the guy they got for Sonic Underground's music vids, at least. (shudder)
&lt;/p&gt;
&lt;h4&gt;
Lyrics:
&lt;/h4&gt;
&lt;p&gt;&lt;i&gt;
Ah, yeah, yeah!&lt;br&gt;
&lt;br&gt;
Gotta rocket, gotta juice it&lt;br&gt;
I'm hypersonic, ultra-cool&lt;br&gt;
&lt;br&gt;
Gotta blast off, gotta move it&lt;br&gt;
I'm burnin' way past cool&lt;br&gt;
&lt;br&gt;
Technotronic Freedom Fighter&lt;br&gt;
Ultraphonic super-cool&lt;br&gt;
&lt;br&gt;
I got talents, way amazing&lt;br&gt;
I ain't nobody's fool&lt;br&gt;
&lt;br&gt;
Gotta rocket, gotta juice it&lt;br&gt;
I'm hypersonic, ultra-cool&lt;br&gt;
&lt;br&gt;
Gotta blast off, keep on movin'&lt;br&gt;
Keep on burnin' way past cool&lt;br&gt;
&lt;br&gt;
You know I'm burnin' way past cool!&lt;br&gt;
&lt;/i&gt;&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/c6bPzewVdq0&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/c6bPzewVdq0&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
I think this one's my least favourite.
&lt;/p&gt;
&lt;p&gt;
At around 0:20 the singer sounds like Weird Al. =)
&lt;/p&gt;
&lt;p&gt;
The lyrics on this one are just about as ass as it's possible to get, but I do like the reference to "Final Zone".
&lt;/p&gt;
&lt;h4&gt;
Lyrics:&lt;/h4&gt;
&lt;p&gt;&lt;i&gt;
Listen, everybody&lt;br&gt;
Gonna have a party&lt;br&gt;
I'm the baddest dude around&lt;br&gt;
&lt;br&gt;
Brother, let's get started&lt;br&gt;
It's an all night, alright,&lt;br&gt;
Super Sonic Jam!&lt;br&gt;
&lt;br&gt;
Don't you know there's nobody faster&lt;br&gt;
Baby, I'm the real master blaster&lt;br&gt;
Goin' all the way to the final zone&lt;br&gt;
&lt;br&gt;
Talking hotshot, too rad, I'm bad to the bone&lt;br&gt;
&lt;br&gt;
Listen, everybody&lt;br&gt;
Gonna have a party&lt;br&gt;
I'm the baddest dude around&lt;br&gt;
&lt;br&gt;
Brother, let's get started&lt;br&gt;
We're Super Sonic Jammin' tonight&lt;br&gt;
&lt;br&gt;
Super Sonic - Super Sonic Jam!&lt;br&gt;
&lt;/i&gt;&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WAVaJmoIk9s&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WAVaJmoIk9s&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
This is an alternate version of "Super Sonic Jam" that makes the music sound even more "surfy". Ugh.&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IuXptc3Pd5A&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IuXptc3Pd5A&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
This one matches the best with the footage (especially at the beginning). I wonder if the footage was final when this one was written?
&lt;/p&gt;
&lt;p&gt;
This one is my personal favourite; it reminds me a little of the Sonic CD Japan soundtrack.
&lt;/p&gt;
&lt;h4&gt;
Lyrics:&lt;/h4&gt;
&lt;p&gt;&lt;i&gt;
Go, supersonic, way past the limit&lt;br&gt;
Cruise supersonic speed, yeah&lt;br&gt;
Faster and faster, supersonic speed&lt;br&gt;
&lt;br&gt;
Zoomin' every place, never gonna lose the race&lt;br&gt;
Come on, let's juice it, yeah&lt;br&gt;
&lt;br&gt;
Blazin' through the air&lt;br&gt;
You see, there's nothing to it&lt;br&gt;
&lt;br&gt;
Sonic speed, no one can match it&lt;br&gt;
Totally no one can catch it&lt;br&gt;
&lt;br&gt;
Look out, everybody, here we go!&lt;br&gt;
&lt;br&gt;
Go, supersonic, way past the limit&lt;br&gt;
Cruise supersonic speed, yeah&lt;br&gt;
Faster and faster, supersonic speed&lt;br&gt;
&lt;br&gt;
Supersonic!&lt;br&gt;
&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
P.S. I think it's hilarious that YouTube chose Sally for the thumbnail frames, when SatAM detractors are always complaining that it's just the "Sally Acorn Show". =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3319835121414095056?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3319835121414095056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/07/alternate-unreleased-satam-theme-songs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3319835121414095056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3319835121414095056'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/07/alternate-unreleased-satam-theme-songs.html' title='Alternate, Unreleased SatAM Theme Songs'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1504557800661848005</id><published>2010-07-08T02:30:00.000-07:00</published><updated>2010-07-09T02:51:13.430-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Aliens vs. God</title><content type='html'>&lt;p&gt;
At &lt;a href="http://www.alternet.org"&gt;AlterNet&lt;/a&gt;, &lt;a href="http://www.gretachristina.com/"&gt;Greta Christina&lt;/a&gt; has outlined &lt;a href="http://www.alternet.org/belief/147424/?page=entire"&gt;6 (Unlikely) Developments That Could Convince [Her] To Believe in God&lt;/a&gt;, with the intent to show that atheists are willing to specifiy exactly what evidence would be sufficient to change their mind - something most religious folks are loath to do.
&lt;/p&gt;

&lt;p&gt;
It's a great article, and I'm behind it all the way. There is, however, one thing that I think bears more thought: How would we know any given proof of God wasn't the work of godlike aliens?
&lt;/p&gt;

&lt;p&gt;
Greta Christina writes,

&lt;blockquote&gt;If I saw an unambiguous message from God, I would be persuaded of his existence. If I saw writing suddenly appear in the sky, in letters a hundred feet high, saying "I Am God, I Exist, Here Is What I Want You To Do" -- and if that writing were seen by every human being, written in whatever language they understand, comprehended in the same way by everyone who saw it -- I would be persuaded that God existed. I'd be puzzled as to why he'd waited this long -- why he'd decided to do it in 2010 and not at any other time in human history -- but I'd still believe.&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;She then anticipates the heckler's gibe of, "Aliens!":
&lt;blockquote&gt;
(And for the record: Yes, it's possible that this could happen without God. It could hypothetically, for instance, be accomplished by a highly technologically advanced alien species. But I don't think that would be the simplest explanation. If this phenomenon happened, "God" would, in my opinion, be a simpler explanation than "aliens" -- and unless I saw good evidence that the writing was done by aliens, God would be the provisional conclusion I would come to.)
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;
She says that she thinks God would be a simpler explanation. I'm not so sure; it seems to me that aliens are a &lt;i&gt;more&lt;/i&gt; parsimonious explanation, seeing as how - also according to the laws of parsimony* - we assume aliens extremely &lt;span style="font-style:italic;"&gt;likely&lt;/span&gt; to exist, while God is extremely &lt;i&gt;unlikely&lt;/i&gt; to exist.
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;*To maintain that aliens do not exist requires the extra assumption that either there is something special about Earth in particular, or that the origin of life is so unlikely that it only occured once in the universe - a proposition that is as of yet unsupported.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
Think of it like this: If a human being from ancient Egypt saw a television set, they would assume it was magic. They would not know that such technology could even exist, and the idea of magic, which is commonplace to them, would seem like a much simpler explanation.
&lt;/p&gt;

&lt;p&gt;
The real problem with God being a parsimonious explanation is this, as she touches on in the article:
&lt;blockquote&gt;
I'd be puzzled as to why he'd waited this long -- why he'd decided to do it in 2010 and not at any other time in human history -- but I'd still believe.
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;
This is the crux of the issue. In order for God to be a workable theory, we'd have to explain why he only seems to exist &lt;i&gt;now&lt;/i&gt;, and not (as is claimed by believers) since the beginning of time. What could account for the absense of evidence of God up to this point? Explaining this would, it seems to me, require a bevy of assumptions and rationalisations that may equal, if not exceed, those necessary for the "aliens" hypothesis.
&lt;/p&gt;

&lt;p&gt;
It's a safe bet that any aliens visiting us will be highly advanced. It's also a pretty safe bet that they would have studied humanity long enough to know that posing as God would be a great way to conquer humans, or at the very least get some yuks.
&lt;/p&gt;

&lt;p&gt;
Yes, this assumes things about the aliens' intentions, but no more or less than the rationalisations of God's intentions for revealing himself suddenly. The old line, "we can't know the mind of God" can't be resorted to - that's not the kind of reasoning we infidels like to use. =P
&lt;/p&gt;

&lt;p&gt;If I see a fat man in a red suit fly overhead in a sleigh drawn by eight tiny reindeer, the first thing to assume as a proper sceptic isn't Santa Claus. I think the fact that concepts such as Santa Claus, or God, have been around a long time and are intuitive to people doesn't make them parsimonious at all. In fact, the exact opposite is true. The fact that they've existed for so long without confirmation makes them some of the most &lt;i&gt;unlikely&lt;/i&gt; explanations possible.
&lt;/p&gt;

&lt;p&gt;
And finally, their status as fiction is another - and devastating - hit against them. The likelihood of something someone &lt;i&gt;came up with&lt;/i&gt; being real is as likely as me beginning to quote verbatim from a book I've never read - and that has yet to be written. In fact, the only way for these fictions (of God, Santa Claus, or anything else) to reflect reality at all is if there is some &lt;span style="font-style:italic;"&gt;mechanism&lt;/span&gt; - such as revelation - that could relay the information of reality into the visions or writings of man. It can't just appear there - any more than monkeys can recreate Shakespeare by randomly beating on a typewriter for a trillion times the universe's age.
&lt;/p&gt;

&lt;p&gt;
Of course, revelation can't be posited as the mechanism, because it can be shown - quite easily - to be bunk. If it wasn't, all religions would be the same (or at least agree on the basic facts). Of course, they don't - they can't even agree on the number of Gods there are.
&lt;/p&gt;

&lt;p&gt;
With such good reasons to disbelieve the existence of God, seriously suggesting "aliens with the intent to deceive" isn't intellectually dishonest, or the shying away from proof of God by a dogmatic atheist. It would be the sound, sceptical, scientific thing to do.
&lt;/p&gt;

&lt;p&gt;
Only when these other explanations were falsified would I accept God as the provisional explanation for such phenomenon as Greta Christina describes.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1504557800661848005?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1504557800661848005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/07/aliens-vs-god.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1504557800661848005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1504557800661848005'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/07/aliens-vs-god.html' title='Aliens vs. God'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8841855970921419677</id><published>2010-06-18T02:41:00.000-07:00</published><updated>2010-06-18T03:12:25.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>My Hack: 'Sonic: The One Ring'</title><content type='html'>&lt;p&gt;This is what I've been working on for the last two months:
&lt;/p&gt;

&lt;img src="http://i47.tinypic.com/dnbno8.jpg"&gt;

&lt;p&gt;Yup, a Sonic hack.&lt;/p&gt;

&lt;p&gt;I won't say much here; go to its &lt;a href="http://intheshadeofawave.blogspot.com/p/sonic-one-ring.html"&gt;page&lt;/a&gt; for more info and a video trailer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8841855970921419677?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8841855970921419677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/my-hack-sonic-one-ring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8841855970921419677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8841855970921419677'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/my-hack-sonic-one-ring.html' title='My Hack: &apos;Sonic: The One Ring&apos;'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i47.tinypic.com/dnbno8_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7952908734102073548</id><published>2010-06-05T23:39:00.000-07:00</published><updated>2010-06-05T23:45:14.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Heads up, Sonic Hackers!</title><content type='html'>&lt;p&gt;Over the last month or so I've been trying my hand at a little Sonic 1 hacking, the result of which I hope to reveal soon.&lt;/p&gt;

&lt;p&gt;
Along the way, I've been learning a thing or two here and there about assembly language, and I've been trying to make some of the objects in the game (platforms and blocks of different types) "Zone Agnostic": that is, they'll load the correct art and mappings no matter which Zone they're placed in.
&lt;/p&gt;

&lt;p&gt;
I've made a fair start of it. Anyone interested can follow along by visiting &lt;a href="http://forums.sonicretro.org/index.php?showtopic=21193"&gt;this thread of mine&lt;/a&gt; at Sonic Retro.
&lt;/p&gt;

&lt;p&gt;
I've gotten a few more objects working, too. They're in the pipeline - I just have to find some time to add the necessary steps to the guide.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7952908734102073548?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7952908734102073548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/heads-up-sonic-hackers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7952908734102073548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7952908734102073548'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/heads-up-sonic-hackers.html' title='Heads up, Sonic Hackers!'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-2449618924670136196</id><published>2010-06-05T23:19:00.000-07:00</published><updated>2010-07-08T03:15:36.275-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Atheism: Weak or Strong?</title><content type='html'>&lt;p&gt;
If you've read my blog, you probably know by now that I'm an atheist - I display the &lt;a href="http://outcampaign.org/"&gt;"Scarlet A"&lt;/a&gt; prominently and proudly, for one thing.
&lt;/p&gt;

&lt;p&gt;
I often hear discussion about the definition of the term 'atheist', usually contrasting it against a bemusing array of other terms like 'agnostic', 'non-theist', and so on. My most recent encounter with this subject was when I watched the video &lt;i&gt;&lt;a href="http://www.youtube.com/watch?v=S-BQVmvulmQ"&gt;3.1 Atheism: Definitions&lt;/a&gt;&lt;/i&gt; by a YouTuber called &lt;a href="http://www.youtube.com/user/Evid3nc3"&gt;Evid3nc3&lt;/a&gt;. (By the way, everyone should watch his riveting series of videos, &lt;i&gt;&lt;a href="http://www.youtube.com/view_play_list?p=A0C3C1D163BE880A&amp;annotation_id=annotation_306407&amp;feature=iv"&gt;Why I am no longer a Christian&lt;/a&gt;&lt;/i&gt;.)
&lt;/p&gt;

&lt;p&gt;
In the video, the distinction is made between atheism in the "weak" and "strong" senses. Put simply, an atheist in the strong sense "believes that there is/are no God(s)" while an atheist in the weak sense "lacks a belief in God(s)". In the video, Evid3nc3 also says that it's been his experience that most atheists will either readily admit or concede after a little pressing that they are atheists in the weak sense. This has been my experience, too.
&lt;/p&gt;

&lt;p&gt;
So which am I? Well, I don't think that the distinction between the two senses actually exists. The whole deal smacks of sophistry to me. Of course, I'm willing to be shown that I'm mistaken, but let me make my case.
&lt;/p&gt;

&lt;p&gt;
First, though, let's get some other definitions straight.&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;By "God" I mean the personal, interventionist deities described by almost all of the world's religions. The deistic and pantheistic ideas of God are not to be considered, nor the fatuous "Generation, Organisation, Delivery" mumbo-jumbo spouted by Deepak Chopra. If one wishes to name their dog, "God" and then claim that "God" exists, they are begging to be expansively ignored.&lt;/li&gt;
&lt;li&gt;By "believe" I mean exactly what is usually implied, "to accept as true". In this sense, everyone must have beliefs; atheists are not exempt. "Believe" is not to be conflated with "take on faith".
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
So every atheist believes "that there is/are no God(s)", myself included, which makes us atheists in the strong sense. I can show this with an example.
&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;I have seen plenty of evidence that suggests Harry Potter is a fictional character.
&lt;li&gt;I am convinced by said evidence.
&lt;li&gt;I believe (accept as true) that Harry Potter is a fictional character.
&lt;li&gt;The status "fictional" is mutually exclusive with the status "factual".
&lt;li&gt;If I believe that Harry Potter &lt;i&gt;is&lt;/i&gt; fictional, then I must believe that Harry Potter &lt;i&gt;is not&lt;/i&gt; factual.
&lt;li&gt;Therefore I believe Harry Potter doesn't exist (waggish exceptions such as people who happen to be named Harry Potter, "Harry Potter" as a concept, et al excluded).
&lt;li&gt;To say that I don't believe "there is no Harry Potter" but instead suggest that I "lack a belief in Harry Potter" is semantic hair-splitting of the grossest category.
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
Replace "Harry Potter" with the name of any religion's God and you'll see the point I'm making.
&lt;/p&gt;

&lt;p&gt;
The distinction between "weak" and "strong" atheism is, it seems to me, meaningless at this point. However, there is a sense in which it &lt;i&gt;might&lt;/i&gt; still be useful, if we recast strong atheism as "&lt;i&gt;knowing&lt;/i&gt; that there is/are no God(s)". Replace "believe" with "know", and you've got something that, on the face of it, seems a lot more unreasonable, unyielding, and much more similar to the faith of theistic thinking.
&lt;/p&gt;

&lt;p&gt;
Theists, or at least most of them, will claim to "know" God is real. Atheists, who often come to their lack of faith through critical thinking, will usually be reluctant to claim to "know" anything. Many of them (such as I) also have a great love for the scientific method and logical thought, and understand that all conclusions are provisional.
&lt;/p&gt;

&lt;p&gt;
Therefore it's not unusual to hear an argument proceed somewhat like this:
&lt;/p&gt;

&lt;p&gt;
Theist: "Blah blah, Jesus, blah blah, God, etc."&lt;br&gt;
Atheist: "God doesn't exist!"&lt;br&gt;
Theist: "Oh yeah? Well, how do you &lt;i&gt;know&lt;/i&gt;? He might!"&lt;br&gt;
Atheist: "Well, I don't know. You're right; he might indeed - "&lt;br&gt;
Theist: "Ah hah!" &lt;i&gt;stops listening&lt;/i&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;
The score is Theist: 1, Atheist: 0, at least in the theist's eyes. The atheist's allegiance to the central tenets of science, bet-hedging and open-mindedness, has totally hamstrung his or her argument from the getgo.

&lt;p&gt;
However, if the atheist instead responded by saying, "I know for sure that God isn't real, and I can prove it," gasps would be drawn all round, even from atheists. Even someone as "strident" as Richard Dawkins would never dream of such a rejoinder.
&lt;/p&gt;

&lt;p&gt;
But would the atheist be wrong to respond in such a way? I'm not so sure that he or she would be. While I'm aware of the importance of the scientific method, and love it as much as Richard Dawkins does, we need to realise what is meant by words like "know" and "prove".
&lt;/p&gt;

&lt;p&gt;
Scientists will often point out that it's impossible to truly "know" anything. They're right of course, by the strictest and most rigourous standards of science. There is an infinitude of unfalsifiable assertions, such as "we're all in the Matrix", or "the world was conjured into being five minutes ago by the Flying Spaghetti Monster".
&lt;/p&gt;

&lt;p&gt;
So if we can't truly "know" anything, why have the word at all? Take "proof" for example. It's impossible to positively prove anything, except perhaps in mathematics and logic. But would it not be a grievous assault on the language to totally eschew the word apart from those contexts? I consider it fair to use these words &lt;i&gt;sans caveat&lt;/i&gt;, because if they mean &lt;i&gt;anything at all&lt;/i&gt; then their implicated limitations must be intrinsic to them.
&lt;/p&gt;

&lt;p&gt;
This is why it is generally agreed that when we say "we know something and can prove it" that we can only do so within the realm of our limits to do so, shackled as we are to the peculiars of reality. If someone asks for your name, and after your ready answer were to ask you how you knew and if you could prove it, you wouldn't dream for a nanosecond to say, "Well, I don't &lt;i&gt;really&lt;/i&gt; know, and it's simply impossible to prove."
&lt;/p&gt;

&lt;p&gt;
Dawkins will often say that we need to stop automatically privileging religion. His cheeky quote, "But why the chaplain? Why not the gardener or the chef?" is brilliant. But as much as I admire him, I have to accuse him (and countless other atheists) of paying only lip-service to this concept (at least in some situations). Because when it comes to the question of God's existance, the crux of atheism itself, the steely resolve becomes spongey. To privilege that question so highly, that it must always be met with hems and haws and a mountain of caveats is ridiculous.
&lt;/p&gt;

&lt;p&gt;
The germane thing to remember here is that most atheists are &lt;i&gt;as sure about the non-existance of God(s) as they are about any other certainty in their lives&lt;/i&gt;. It would be nice if they could start acting like it. We have to abide by the rules of reason - not even the tiniest slip is laudable - but this self-imposed inability to claim to know doesn't seem that reasonable to me.
&lt;/p&gt;

&lt;p&gt;
So... I know for sure that God isn't real. And I can prove it.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-2449618924670136196?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/2449618924670136196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/atheism-weak-or-strong.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2449618924670136196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/2449618924670136196'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/atheism-weak-or-strong.html' title='Atheism: Weak or Strong?'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8379098372798325606</id><published>2010-06-01T02:12:00.000-07:00</published><updated>2010-06-01T02:33:20.440-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><title type='text'>A Place for Misfits to Fit In</title><content type='html'>&lt;p&gt;Wow, it's been about a month since I've posted here. I've been juggling a few secret projects (dun dun &lt;i&gt;dun&lt;/i&gt;), but I should be back to posting more often soon.&lt;/p&gt;

&lt;p&gt;In the meantime, there's two bits of good news for fans of Misfits of Science (you know, that &lt;a href="http://intheshadeofawave.blogspot.com/2009/12/meme-cloud-special-misfits-of-science.html"&gt;show I like&lt;/a&gt;?) I want to share.&lt;/p&gt;

&lt;p&gt;ThirdBass, fearless leader of &lt;a href="http://scienceofmisfits.blogspot.com/"&gt;Science of Misfits&lt;/a&gt;, has added a new forum to the site, and you should totally &lt;a href="http://scienceofmisfits.iforums.us/"&gt;check it out&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;(I'm a mod there, too, so get over there where I can have power over you! =P)&lt;/p&gt;

&lt;p&gt;
Also, &lt;a href="http://friday87central.wordpress.com/"&gt;Friday @ 8/7 Central&lt;/a&gt;, a great blog about short-lived TV shows, has a nice &lt;a href="http://friday87central.wordpress.com/2010/05/28/misfitsofscience/"&gt;in-depth article&lt;/a&gt; on &lt;i&gt;MoS&lt;/i&gt; that you owe it to yourself to read. If you're like me and tend to prefer short, sweet shows with a lot of character over unwieldy 19-season monsters that run off the rails and lose all respectability, you'll want to keep it on your blogroll and see what other overlooked gems might be brought to your attention.&lt;/p&gt;

&lt;p&gt;
That's it for me. Back to my secret projects... (shh!)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://scienceofmisfits.iforums.us/"&gt;&lt;img src="http://scienceofmisfits.iforums.us/logos/scienceofmisfits.iforums.us/scienceofmisfits.png"&gt;
&lt;/a&gt;&lt;br&gt;
&lt;i&gt;Click it! The shininess commands you!&lt;/i&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8379098372798325606?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8379098372798325606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/place-for-misfits-to-fit-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8379098372798325606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8379098372798325606'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/06/place-for-misfits-to-fit-in.html' title='A Place for Misfits to Fit In'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8357950456446772673</id><published>2010-05-01T23:34:00.000-07:00</published><updated>2010-08-31T11:23:17.853-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Sonic 1 Special Stage Editor</title><content type='html'>&lt;p&gt;
&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Updated Update!&lt;/span&gt; Version 1.02 is now available at the link below. I strongly urge you to download the new version, as it fixes a major bug that caused work to be lost when using Enigma compression.
&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;
Here's a little something I threw together in about 3 days: &lt;i&gt;Sonic 1 Special Stage Editor&lt;/i&gt;, a programme that does just what its name suggests.
&lt;/p&gt;

&lt;img src="http://i40.tinypic.com/244nz41.jpg" /&gt;

&lt;p&gt;
I needed something like this for a hack I'm making, and I thought it would be a fun challenge to throw an editor together quickly. I even gave it pretty robust Undo/Redo features, etc.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://dl.dropbox.com/u/5437265/Sonic%201%20Special%20Stage%20Editor/S1SSE%20v1.02.zip"&gt;Download!&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-8357950456446772673?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/8357950456446772673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/05/sonic-1-special-stage-editor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8357950456446772673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/8357950456446772673'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/05/sonic-1-special-stage-editor.html' title='Sonic 1 Special Stage Editor'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i40.tinypic.com/244nz41_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3435145294654442725</id><published>2010-04-30T01:29:00.000-07:00</published><updated>2010-04-30T01:32:00.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>"They Call Me Sonic" Remix</title><content type='html'>&lt;p&gt;
Here's a "remix" (technically, it's more like a cover version) that I made awhile ago of the silly &lt;a href="http://info.sonicretro.org/They_call_me_sonic"&gt;"They Call Me Sonic" rave song&lt;/a&gt;. I liked the chord progression and melody, and so I played around with it a little bit.
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9c-YW59EPJs&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9c-YW59EPJs&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;
It's nothing too serious, but it was fun!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3435145294654442725?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3435145294654442725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/they-call-me-sonic-remix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3435145294654442725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3435145294654442725'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/they-call-me-sonic-remix.html' title='&quot;They Call Me Sonic&quot; Remix'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1560752985796972583</id><published>2010-04-23T01:56:00.000-07:00</published><updated>2010-04-23T02:15:57.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Music'/><title type='text'>Shakii the Wolf Music</title><content type='html'>&lt;p&gt;A long time ago, I found a demo of an MS-DOS game called &lt;a href="http://www.mobygames.com/game/shakii-the-wolf"&gt;Shakii the Wolf&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The game itself, while mildly charming, was pretty terrible - except for the music, which I loved. The songs from the game reminded me strongly of the classic 16-bit Sega Genesis and Super Nintendo games I grew up with.
&lt;/p&gt;

&lt;p&gt;
Fortunately, even though it was a demo, the soundtrack contained (as far as I can tell) all of the game's music. At the time, I had none of this new-fangled computer internet gadgetry you kids are so fond of, and I ended up dubbing the music to audio cassette.
&lt;/p&gt;

&lt;p&gt;
I haven't been able to find the music online anywhere, so I guess it's up to me to provide a source. Here's a &lt;a href="http://www.youtube.com/user/usMercurySilver#grid/user/4CCF94E2D0CEC39A"&gt;YouTube playlist&lt;/a&gt; of the entire soundtrack, ripped directly from my dusty old mix tapes! Don't worry; the sound quality is still reasonable.
&lt;/p&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ntPgSWflbQw&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ntPgSWflbQw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;
&lt;i&gt;This one is probably my favourite track in the game.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
Sadly, I have no idea who composed the soundtrack, as I don't have the full version of the game, and I can't find the info anywhere, either. If you know anything about it, please drop by in the comments and let me know.
&lt;/p&gt;

&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;P.S.&lt;/span&gt; Seriously, &lt;a href="http://i44.tinypic.com/2yyul2b.jpg"&gt;don't click this link&lt;/a&gt;. =P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1560752985796972583?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1560752985796972583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/shakii-wolf-music.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1560752985796972583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1560752985796972583'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/shakii-wolf-music.html' title='Shakii the Wolf Music'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6124791387390278286</id><published>2010-04-11T01:55:00.000-07:00</published><updated>2010-04-11T02:10:51.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Promising Sonic Fan Games/Hacks</title><content type='html'>&lt;p&gt;Sonic 4 isn't the only Sonic game on the horizon to look forward to. I thought I'd quickly run down some of the promising Sonic fan games/hacks that I'm personally anticipating. There's no guarantee they'll all ever be finished, but they're exciting nonetheless.&lt;/p&gt;

&lt;p&gt;INPO:&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://info.sonicretro.org/Sonic_Boom_(hack)"&gt;Sonic Boom&lt;/a&gt; by SÆGA&lt;/h3&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zT_HlOSGyXg&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zT_HlOSGyXg&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;This didn't win a &lt;a href="http://info.sonicretro.org/Sonic_the_Hedgehog_Hacking_Contest#Seventh_Contest"&gt;hacking contest&lt;/a&gt; for nothing! Not only is it technically impressive and face-rockingly awesome, it changes up the Sonic gameplay so much its hard to believe it's a mere ROM hack.&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://info.sonicretro.org/Sonic_2_LD"&gt;Sonic 2 LD&lt;/a&gt; by Doc Eggfan and Glitch&lt;/h3&gt;

&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TI2QEM_ZfSc&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/TI2QEM_ZfSc&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;How can you not love this idea? The new sprites (by MoDule and tokumaru) are amazing; why Sega never took advantage of their 8-bit hardware like these guys can, I'll never know.&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://info.sonicretro.org/The_S_Factor:_Sonia_and_Silver"&gt;The S Factor: Sonia and Silver&lt;/a&gt; by Aquaslash&lt;/h3&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tpCsbITpz1w&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tpCsbITpz1w&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;Another character hack, with fun and interesting Zone themes and good layouts. I love the music to the Zone in the video. :)&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://info.sonicretro.org/Sonic_1_Brother_Trouble"&gt;Sonic 1: Brother Trouble&lt;/a&gt; by MarkeyJester&lt;/h3&gt;

&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m4Holdgo9GY&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/m4Holdgo9GY&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;Looks gorgeous, and is full of technical wizardry. Besides, I love Manic. XP&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://forums.sonicretro.org/index.php?showtopic=19797"&gt;Amy in Sonic 1&lt;/a&gt; and &lt;a href="http://forums.sonicretro.org/index.php?showtopic=18906"&gt;Sally in Sonic 1&lt;/a&gt; by E-122-Psi&lt;/h3&gt;

&lt;p&gt;Absolutely adorable character sprites, and the promise of fully featured new movesets make these two something to keep your eye on.&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://forums.sonicretro.org/index.php?showtopic=19687"&gt;Sonic 1 Alt&lt;/a&gt; by Ell678&lt;/h3&gt;

&lt;p&gt;Don't be fooled. This is far more than your ordinary layout hack. I don't want to oversell, but the new level layouts are outstanding. I seldom get transported back to my childhood days of playing Sonic on the Genesis for the first time, but this hack can do it.&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://forums.sonicretro.org/index.php?showtopic=19981"&gt;Sonic Fan Remix&lt;/a&gt; by pelikan13&lt;/h3&gt;

&lt;p&gt;&lt;img src="http://i41.tinypic.com/euhjeb.jpg" width="640"&gt;&lt;/p&gt;

&lt;p&gt;I think any image of this gorgeous project speaks for itself.&lt;/p&gt;

&lt;p&gt;Well, there you have it. Sorry to all those whose hacks I didn't include - this is by no means a complete list! I'll probably run down another list in the future.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6124791387390278286?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6124791387390278286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/promising-sonic-fan-gameshacks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6124791387390278286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6124791387390278286'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/04/promising-sonic-fan-gameshacks.html' title='Promising Sonic Fan Games/Hacks'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i41.tinypic.com/euhjeb_th.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6681120179371038660</id><published>2010-03-19T00:47:00.000-07:00</published><updated>2010-03-19T01:01:06.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: 2D Camera</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;

&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Welcome back, Code Ninjas!&lt;/p&gt;

&lt;p&gt;
It's a bit anachronistic to use the word "camera" in reference to 2D games. The concept of the viewable area as the view through a director's camera really only took off with Super Mario 64, whose 3D worlds required the player to be actively mindful of the viewpoint. Four entire buttons on the Nintendo 64 joypad were dedicated to camera control (though they often found other uses), and Super Mario 64 even went so far as to characterise the camera as a Lakitu floating on a cloud, following Mario wherever he went.
&lt;/p&gt;

&lt;p&gt;
However, we live in a post-3D world, and it's justifiable to consider the view in a classic 2D sidescroller to be a "camera". In this &lt;i&gt;Code of the Ninja&lt;/i&gt;, we'll be looking at how to implement a natural feeling camera in a sidescrolling game.
&lt;/p&gt;

&lt;p&gt;
Game Maker includes built-in camera functionality. Just about anyone who's used it will be familiar with the "views", and the view_object variable. When view_object is set to the id of an instance, the view will follow that object around automatically. You can adjust some border and speed settings, as well.
&lt;/p&gt;

&lt;p&gt;
For a lot of simple games, this works out just fine. But for anything like Sonic or Mario, which require a bit more flexibility in their camera, it's a better idea to write new camera scripts and ignore Game Maker's built-in object following altogether. (You'll still need to define a view, though, of course. Otherwise the entire room will be shown, scaled to fit the window.) So make sure the view_object is set to none, and let's begin.
&lt;/p&gt;

&lt;h3&gt;Camera Follow&lt;/h3&gt;

&lt;p&gt;
We'll make a new script called "CameraFollow()". If you're going to only ever follow one object in your game, such as the player, you could just call this script in the player object. However, oftentimes we'll want to change which object is followed (perhaps keeping an eye on the boss in a boss fight, for instance). That means it's better to write CameraFollow() to take an argument of which instance to follow, and call it in a persistent control object (you can make a dedicated Camera object, or just call it in whichever existing control object you already have, such as the HUD or an Input handler).
&lt;/p&gt;

&lt;p&gt;
Also, CameraFollow() must be called after the target object has already moved. The best way to make sure of this is to call CameraFollow() in the End Step Event.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraFollow()&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//define centre&lt;/i&gt;&lt;br&gt;
cameraCentreX = view_xview + (view_wview/2);&lt;br&gt;
cameraCentreY = view_yview + (view_hview/2);&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//determine offset&lt;/i&gt;&lt;br&gt;
cameraOffsetX = floor(argument0.x) - cameraCentreX;&lt;br&gt;
cameraOffsetY = floor(argument0.y) - cameraCentreY;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//update view&lt;/i&gt;&lt;br&gt;
view_xview += cameraOffsetX;&lt;br&gt;
view_yview += cameraOffsetY;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
We'll be adding more features to this script as we go, but I've started with this simple version that simply keeps the target object in the centre of the screen. You can try it now, and it should work.
&lt;/p&gt;

&lt;p&gt;
How's &lt;i&gt;does&lt;/i&gt; it work, though?
&lt;/p&gt;

&lt;p&gt;
First, we find the horizontal centre point of the view as it currently stands. That's view_xview (the left edge of the view) plus half of view_wview (the width of the view). We store this value in cameraCentreX. Then we do the same thing to find the vertical centre point, and store it in cameraCentreY.
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; Some games, such as Sonic the Hedgehog, don't use a perfectly centred view. They bias the camera slightly upward, to show more of what's beneath the player. If you wish to do the same thing, you can replace (view_wview/2) and (view_hview/2) with custom values; or, alternatively, you can add bias values on top of the existing calculation, which may be necessary if your view width or height change during the game (for widescreen toggling purposes, etc).&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
Next, we find how far away from these desired centre points the target object's (argument0's) x and y positions are, by subtracting the centre point values from the target object's x and y. The difference between them - the offset - we store in cameraOffsetX and cameraOffsetY.
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; We use floor() on the object's x and y at this point because x and y are often at noninteger (subpixel) values, but the view in Game Maker doesn't render at such positions. Instead, it rounds view_xview and view_yview off. Unfortunately, as rounding sometimes results in rounding up and othertimes rounding down, this can cause jitter. All this is avoided by flooring the object's x and y before using them in any calculations.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
Finally, we simply add these offset values to the view x and y position, in effect moving the view by the exact same amount the player moved away from the centre point. (It may seem a roundabout way to have done this, but it's being set up for more complicated functionality later on.)
&lt;/p&gt;

&lt;h3&gt;Staying Inside&lt;/h3&gt;

&lt;p&gt;
Before we add new features to our script, though, there is one problem with it we need to patch up. Unlike Game Maker's built-in object following, this code allows the view to exceed the room boundaries. Depending on how you design your game, this might be a bad thing.
&lt;/p&gt;

&lt;p&gt;
The solution? Create a new script called CameraLimit(). It should be called from CameraFollow(), after everything else.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraLimit()&lt;/h1&gt;
&lt;p&gt;
if view_xview &gt; room_width-view_wview view_xview = room_width-view_wview;&lt;br&gt;
if view_xview &lt; 0 view_xview = 0;&lt;br&gt;
&lt;br&gt;
if view_yview &gt; room_height-view_hview view_yview = room_height-view_hview;&lt;br&gt;
if view_yview &lt; 0 view_yview = 0;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; In this version of CameraLimit(), I've used the room dimensions. You can use any custom values you want - there's no strict reason why you can't exceed the room dimensions, even using negative numbers. In fact, since Game Maker doesn't let you resize a room while you're in it, the only way to dynamically change the limits is to use your own variables. Why change the limits? Imagine a boss fight in Sonic - the view is extremely limited, to keep the boss on the screen, but of course the actual room (which contains the whole zone) hasn't really changed size.&lt;/i&gt;
&lt;/p&gt;

&lt;h3&gt;Free Zone&lt;/h3&gt;

&lt;p&gt;
Now that our camera is properly chastened and stays within its designated confines, we can add a new feature to CameraFollow(). We're going to add a "free zone" - a region in the centre of the screen (of any size you wish) in which the character can move freely before the camera bothers to try and follow.
&lt;/p&gt;

&lt;p&gt;
Why add such a thing? There are probably many reasons, but the major one is that centring the view so strictly on the player can cause it to move around too much when the player is making a small jump, or merely turning around. It's best to have a little buffer area, so that the camera doesn't seem to jerk so drastically.
&lt;/p&gt;

&lt;p&gt;
How do we add this in? First, you need to decide how large this free zone should be. I'm going to use 8 pixels in either direction horizontally, and 32 in either direction vertically. You can use anything you think is reasonable, and it doesn't even have to be symmetrical.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraFollow()&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//define centre&lt;/i&gt;&lt;br&gt;
cameraCentreX = view_xview + (view_wview/2);&lt;br&gt;
cameraCentreY = view_yview + (view_hview/2);&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//determine offset&lt;/i&gt;&lt;br&gt;
cameraOffsetX = floor(argument0.x) - cameraCentreX;&lt;br&gt;
cameraOffsetY = floor(argument0.y) - cameraCentreY;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//free zone&lt;/i&gt;&lt;br&gt;
if cameraOffsetX &gt; 8 cameraOffsetX -= 8; else&lt;br&gt;
if cameraOffsetX &lt; -8 cameraOffsetX += 8; else&lt;br&gt;
cameraOffsetX = 0;&lt;br&gt;
&lt;br&gt;
if cameraOffsetY &gt; 32 cameraOffsetY -= 32; else&lt;br&gt;
if cameraOffsetY &lt; -32 cameraOffsetY += 32; else&lt;br&gt;
cameraOffsetY = 0;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//update view&lt;/i&gt;&lt;br&gt;
view_xview += cameraOffsetX;&lt;br&gt;
view_yview += cameraOffsetY;&lt;br&gt;
&lt;br&gt;
CameraLimit();&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
That takes care of the free zone. All you have to do is subtract the size of the free zone from the camera offset if the camera offset is larger than the free zone, or set the camera offset to 0 if it's smaller than the free zone (so it won't move at all). There are multiple ways to code this; I chose a simple, if long-winded, method.
&lt;/p&gt;

&lt;h3&gt;Speed Limiting&lt;/h3&gt;

&lt;p&gt;
Next, we need to add speed limiting. Sometimes (but not all the time) you want the camera to only move a maximum number of pixels per step. This can be used for a sense of speed, as the camera lags a little behind the player (as sometimes happens in Sonic 2), but it can also be used to scroll the camera from one target object to another when the targets are quickly switched. If there was no limit on the number of pixels the camera could move per step, the view would immediately switch and the player might not understand what happened.
&lt;/p&gt;

&lt;p&gt;
I've chosen 16px as the speed limit here. Let's add the speed limiting (again, there are several ways to code this):
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraFollow()&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//define centre&lt;/i&gt;&lt;br&gt;
cameraCentreX = view_xview + (view_wview/2);&lt;br&gt;
cameraCentreY = view_yview + (view_hview/2);&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//determine offset&lt;/i&gt;&lt;br&gt;
cameraOffsetX = floor(argument0.x) - cameraCentreX;&lt;br&gt;
cameraOffsetY = floor(argument0.y) - cameraCentreY;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//free zone&lt;/i&gt;&lt;br&gt;
if cameraOffsetX &gt; 8 cameraOffsetX -= 8; else&lt;br&gt;
if cameraOffsetX &lt; -8 cameraOffsetX += 8; else&lt;br&gt;
cameraOffsetX = 0;&lt;br&gt;
&lt;br&gt;
if cameraOffsetY &gt; 32 cameraOffsetY -= 32; else&lt;br&gt;
if cameraOffsetY &lt; -32 cameraOffsetY += 32; else&lt;br&gt;
cameraOffsetY = 0;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//speed limit&lt;/i&gt;&lt;br&gt;
if cameraOffsetX &gt; 16 cameraOffsetX = 16; else&lt;br&gt;
if cameraOffsetX &lt; -16 cameraOffsetX = -16;&lt;br&gt;
&lt;br&gt;
if cameraOffsetY &gt; 16 cameraOffsetY = 16; else&lt;br&gt;
if cameraOffsetY &lt; -16 cameraOffsetY = -16;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//update view&lt;/i&gt;&lt;br&gt;
view_xview += cameraOffsetX;&lt;br&gt;
view_yview += cameraOffsetY;&lt;br&gt;
&lt;br&gt;
CameraLimit();&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
Now we've added the speed limit, we can match Game Maker's built-in object following point for point. Now to add some even more powerful stuff.
&lt;/p&gt;

&lt;h3&gt;Looking Around&lt;/h3&gt;

&lt;p&gt;
In Sonic, Mario, and countless other platformers, you can look up and down, shifting the view slightly to see what's above and below you. In Super Mario World, you can use the L and R buttons to shift the view left and right, as well. Let's add these abilities.
&lt;/p&gt;

&lt;p&gt;
In the player control scripts, when looking up and down, or even left and right, you'll need to add to and subtract from variables which CameraFollow() will use to shift the view. I'll call these cameraShiftX and cameraShiftY.
&lt;/p&gt;

&lt;p&gt;
For instance, pressing Up would subtract 2 from cameraShiftY every step, until it reached the maximum shift you desire. Pressing Down would do the opposite, adding 2 until the maximum shift was reached. In the case of neither button, cameraShiftY would slowly return to 0. (For Super Mario World's L and R shifting, the horizontal shift doesn't drift back to normal upon letting up the button, though. It remains shifted until the player shifts it back.)
&lt;/p&gt;

&lt;p&gt;
Some games actually shift the view horizontally depending on the direction the player is facing. I find this annoying, myself - when turning around and making a jump, the whole screen starts moving, making it harder to line up where to land. But this, too, can be done with the same cameraShiftX variable.
&lt;/p&gt;

&lt;p&gt;
Now, to take the shift into account, all we have to do is change the lines in CameraFollow() that determine the offset. Replace them with these:
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraFollow()&lt;/h1&gt;
&lt;p&gt;
...&lt;br&gt;
&lt;i&gt;//determine offset&lt;/i&gt;&lt;br&gt;
cameraOffsetX = floor(argument0.x + cameraShiftX) - cameraCentreX;&lt;br&gt;
cameraOffsetY = floor(argument0.y + cameraShiftY) - cameraCentreY;&lt;br&gt;
...
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
By adding cameraShiftX and cameraShiftY to the target object's x and y when determining the offset, the camera is technically not following where the player &lt;i&gt;is&lt;/i&gt;, but where the player is looking. When the player isn't looking around, cameraShiftX and cameraShiftY return to 0, which is the same as following the player itself.
&lt;/p&gt;

&lt;h3&gt;Re-centring Upon Landing&lt;/h3&gt;

&lt;p&gt;
In Sonic the Hedgehog, the camera behaves differently when Sonic is in the air as opposed to running along the ground. In the air, Sonic has a generous vertical "free zone" before pushing the camera around. But on the ground, the camera keeps him at dead vertical centre, so that when he runs over hilly terrain, the camera follows properly. (The camera behaves the same, horizontally, in either state.)
&lt;/p&gt;

&lt;p&gt;
This is simple enough. You can just add a check in the CameraFollow() for whether he's airborne or not, and exit the vertical free zone calculation if he's on the ground.
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; Though it works well enough to simply check if Sonic is in his air state, it's a better idea to add another flag in the target object, called GroundCamera, which you set to false when he jumps, springs, or falls, etc, and reset to true when he lands. Why a second flag when his state would do? In the case of Knuckles, when he glides and slides into the ground, even though he's technically landed, the camera doesn't return to normal until he stands up. Thus, it's better to have fine control over the mode the camera is in, independent of the actual state of the character.&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
If that's all we do, though, we'll be left with a problem. When Sonic lands from a jump, the camera jerks immediately to focus tightly on him. That's no good - it's too much of a jerk to put up with comfortably.
&lt;/p&gt;

&lt;p&gt;
There are two ways to fix this. They both involve reducing the vertical speed limit of the camera to 6 instead of 16 after Sonic lands, so that the camera catches up slowly enough that it doesn't cause violent motion.
&lt;/p&gt;

&lt;p&gt;
You can't simply leave the vertical speed limit at 6 all the time. Sonic often runs downhill, and his vertical speed will well exceed 6. The camera would never catch up if it couldn't go faster than 6 pixels per step! So it's necessary to determine whether Sonic has just landed or not.
&lt;/p&gt;

&lt;p&gt;
The first way is to check his speed. If his vertical speed is less than 6, make the speed limit 6. If it's more than 6, make the speed limit 16. Chances are his vertical speed will be very low after landing on the ground. This method is similar to how the 16-bit Sonic engine does it.
&lt;/p&gt;

&lt;p&gt;
The second way is to set a flag called JustLanded to true when Sonic lands (you also have to set it back to false when he jumps). While it's true, the vertical speed limit should be 6, and while it's not, the vertical speed limit should be 16. The second the camera catches up with Sonic, you can reset JustLanded to false. How can we tell when the camera catches up to Sonic? Check if abs(cameraOffsetY) is less than or equal to 6 (i.e., Sonic isn't more than 6 pixels above or below the vertical centre point). In any step where where that's true, the camera will catch up.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraFollow()&lt;/h1&gt;
&lt;p&gt;
...&lt;br&gt;
&lt;i&gt;//speed limit&lt;/i&gt;&lt;br&gt;
if cameraOffsetX &gt; 16 cameraOffsetX = 16; else&lt;br&gt;
if cameraOffsetX &lt; -16 cameraOffsetX = -16;&lt;br&gt;
&lt;br&gt;
var cameraLimitY;&lt;br&gt;
&lt;br&gt;
if argument0.JustLanded cameraLimitY = 6; else&lt;br&gt;
cameraLimitY = 16;&lt;br&gt;
&lt;br&gt;
if abs(cameraOffsetY) &lt;= 6 argument0.JustLanded = false; else&lt;br&gt;
if cameraOffsetY &gt; cameraLimitY cameraOffsetY = cameraLimitY; else&lt;br&gt;
if cameraOffsetY &lt; -cameraLimitY cameraOffsetY = -cameraLimitY;&lt;br&gt;
...&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;h3&gt;Jump To A Point&lt;/h3&gt;

&lt;p&gt;
Now that that's all working, there's one last thing to add. Because our camera has a speed limit, when the level starts, you'll have to wait for the camera to scroll to where the player is before you can start playing. This kind of sucks.
&lt;/p&gt;

&lt;p&gt;
The remedy is a script called CameraJumpTo(). You can call it to immediately centre the view around any point you specify. Call it as the game begins to focus on the player.
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: CameraJumpTo()&lt;/h1&gt;
&lt;p&gt;
view_xview = argument0 - (view_wview/2);&lt;br&gt;
view_yview = argument1 - (view_hview/2);&lt;br&gt;
&lt;br&gt;
CameraLimit();&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
The script takes two arguments: the x and y to point at.
&lt;/p&gt;

&lt;h3&gt;Example GMK&lt;/h3&gt;

&lt;p&gt;For an example GMK, click &lt;a href="http://host-a.net/MercurySilver/CotN%20-%202D%20Camera.gmk"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
Well, that's it for custom 2D camera. Until next time, happy coding, fellow Code Ninjas!
&lt;/p&gt;

&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine,
no credit is necessary. But I'd love to hear about your project if you
do! Just drop me a comment below, or e-mail me at
&lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6681120179371038660?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6681120179371038660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/03/code-of-ninja-2d-camera.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6681120179371038660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6681120179371038660'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/03/code-of-ninja-2d-camera.html' title='Code of the Ninja: 2D Camera'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-903334860381479973</id><published>2010-02-22T01:33:00.001-08:00</published><updated>2010-02-22T01:48:36.050-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Text Boxes</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;
&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Welcome back, Code Ninjas!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://intheshadeofawave.blogspot.com/2009/12/code-of-ninja-sinusoidal-motion_08.html"&gt;Last time&lt;/a&gt;, I talked about sinusoidal motion, a way to make certain movements and animations look more natural. I mentioned that it could be used to make an opening animation for text boxes. This time we'll be looking at text boxes themselves.&lt;/p&gt;

&lt;p&gt;We've all seen text boxes. They're the windows full of dialogue that appear when you talk to people in video games.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i47.tinypic.com/vpgryx.jpg" width="544px"&gt;&lt;/p&gt;

&lt;p&gt;It's easy enough to slap a single box of text onto the screen in Game Maker. But most text boxes consist of several pages of dialogue, and the player advances through them by pressing a button.&lt;/p&gt;

&lt;p&gt;You could achieve this with an array of strings, like this:&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Create Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//define the pages of text&lt;/i&gt;&lt;br&gt;
&lt;i&gt;//(# is the newline character in GML)&lt;/i&gt;&lt;br&gt;
Page[0] = "Hello there, traveller!";&lt;br&gt;
Page[1] = "This is a bomb shop! I stock all#sorts of different explosives.";&lt;br&gt;
Page[2] = "No smoking, please!";&lt;br&gt;
&lt;i&gt;//set the page index&lt;/i&gt;&lt;br&gt;
PageIndex = 0;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Draw Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//draw the string on the screen&lt;/i&gt;&lt;br&gt;
&lt;em&gt;draw_string&lt;/em&gt;(TextX,TextY,Page[PageIndex]);
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//check for a press of the A button&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(A);&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase the page index&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;PageIndex += 1;&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;This is an okay method, but it has an annoying problem: You have to manually cut the dialogue into pages yourself, as well as place the newline characters.&lt;/p&gt;

&lt;p&gt;Imagine you have a game where you want the text box to be resizable. Or, not all text boxes are the same size (as in Final Fantasy VII). Or, you've already written all the dialogue for your RPG, and &lt;i&gt;then&lt;/i&gt; decide to change the size of the font or the text box. The method above would suck in these cases - you'd be stuck reworking all your strings every time something changed.&lt;/p&gt;

&lt;p&gt;There really needs to be a way to just write the dialogue all in one piece, and let the game take care of the rest: deciding when to break lines, and cutting it into individual pages.&lt;/p&gt;

&lt;p&gt;Well, let's see what we can do...&lt;/p&gt;

&lt;h3&gt;Making Pages&lt;/h3&gt;

&lt;p&gt;This time we'll give the TextBox object only a single string of dialogue. This will be the source text that the pages are made out of. Also, in order to make the pages contain the right amount of text, the TextBox object will need to know about its size.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Create Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//define the source text&lt;/i&gt;&lt;br&gt;
&lt;i&gt;//(which can be from the calling object, or loaded from a text file, whatever)&lt;/i&gt;&lt;br&gt;
DialogString = "...";&lt;br&gt;
&lt;i&gt;//set dialog offset to 1. This is the position in the source text to start reading from.&lt;/i&gt;&lt;br&gt;
DialogOffset = 1;&lt;br&gt;
&lt;i&gt;//set dialog length to the length of the source text. This is the position in the source text to stop at.&lt;/i&gt;&lt;br&gt;
DialogLength = &lt;em&gt;string_length&lt;/em&gt;(DialogString);&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//set position of text box&lt;/i&gt;&lt;br&gt;
&lt;strong&gt;x&lt;/strong&gt; = 40; &lt;strong&gt;y&lt;/strong&gt; = 300;&lt;br&gt;
&lt;i&gt;//set size of text box&lt;/i&gt;&lt;br&gt;
width = 560; height = 100;&lt;br&gt;
&lt;i&gt;//set size of border (horizontal and vertical)&lt;/i&gt;&lt;br&gt;
xborder = 8; yborder = 4;&lt;br&gt;
&lt;i&gt;//determine the size of the text area (text box minus the borders)&lt;/i&gt;&lt;br&gt;
textwidth = width-xborder*2;&lt;br&gt;
textheight = height-yborder*2;&lt;br&gt;
&lt;i&gt;//set the height of individual lines&lt;/i&gt;&lt;br&gt;
linespacing = 23;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//make the first page of text to show&lt;/i&gt;&lt;br&gt;
&lt;em&gt;MakePage&lt;/em&gt;();&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//check for a press of the A button&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(A);&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//make the next page of text to show&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;MakePage&lt;/em&gt;();&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;We call the MakePage() script every time the player presses the button, to construct the page of text that they'll see next. We also call it once in the create event, so that there's an initial page showing.&lt;/p&gt;

&lt;p&gt;MakePage() basically bites off a chunk of the DialogString source text and puts it into a new string, CurrentPageString, which is the string that will be drawn.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: MakePage()&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//set up some temp variables&lt;/i&gt;&lt;br&gt;
&lt;b&gt;var&lt;/b&gt; numLines,line,letter,word;&lt;br&gt;
line = 0; word = "";&lt;br&gt;
&lt;i&gt;//set the font to the current font so that the font measuring scripts work right&lt;/i&gt;&lt;br&gt;
&lt;em&gt;draw_set_font&lt;/em&gt;(TextBoxFont);&lt;br&gt;
&lt;i&gt;//empty the CurrentPageString, so we can refill it with text from DialogString&lt;/i&gt;&lt;br&gt;
CurrentPageString = "";&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//get the number of lines that fit in the box, based on line spacing and height of box&lt;/i&gt;&lt;br&gt;
numLines = textheight &lt;b&gt;div&lt;/b&gt; linespacing;&lt;br&gt;
&lt;i&gt;//show error message if no lines fit in box&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; numLines = 0&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;show_error&lt;/em&gt;("No lines fit in the text box!",1);&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//main loop&lt;/i&gt;&lt;br&gt;
&lt;b&gt;do&lt;/b&gt;&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//read a letter from the source text&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;letter = &lt;em&gt;string_char_at&lt;/em&gt;(DialogString,DialogOffset);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase the offset by one since you read one letter&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;DialogOffset += 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//is the letter the escape char?&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; letter=="^"&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//change letter to return&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;letter = "#";&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase the line count to full&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;line = numLines;&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//add the letter to word&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;word += letter;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//if the letter was a space, hyphen, or return (or the end of the source text was reached), the word is complete&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; letter==" "||letter=="#"||letter=="-"||DialogOffset&gt;DialogLength&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//check to see if word alone exceeds the textbox width&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; &lt;em&gt;string_width&lt;/em&gt;(word)&gt;textwidth&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;em&gt;show_error&lt;/em&gt;("Single word is too long for the textbox!",1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//check to see if word added to current pages's text is too wide&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; &lt;em&gt;string_width&lt;/em&gt;(CurrentPageString+word)&gt;textwidth&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//add a return to go to the next line, and increase the line count&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurrentPageString += "#";&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;line += 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//if this was the last line...&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; line = numLines&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//return the offset to the beginning of the word in order for the next page to start at the right point&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DialogOffset -= &lt;em&gt;string_length&lt;/em&gt;(word);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//blank out the word so it won't be added.&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word = "";&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//only add the word if it hasn't been blanked out&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; word != ""&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//add the word to the current page's text&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurrentPageString += word;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//if letter was a return, increase the line count&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; letter="#" line += 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//and reset word to blank&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word = "";&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&lt;b&gt;until&lt;/b&gt; (line &gt;= numLines or DialogOffset &gt; DialogLength)&lt;br&gt;
&lt;i&gt;//stop the loop when reach the last line or the end of the source text&lt;/i&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;With the comments, MakePage() should be pretty much self-explanatory, but there are two points I want to go into more detail on.&lt;/p&gt;

&lt;p&gt;The first is the "escape character", &lt;b&gt;^&lt;/b&gt;. What is it for? Well, it's sort of like a page break. Sometimes you want the sentence of dialogue to end, and not start the next sentence until the player advances to the next page, even if there's enough space to fit the next few words. It all depends on the flow of the dialogue.&lt;/p&gt;

&lt;p&gt;I used the caret because it's sufficiently obscure, but of course the escape character can be anything you want to define it as. If your RPG townsfolk are going to use emoticons like ^_^ then you might want to pick something else.&lt;/p&gt;

&lt;p&gt;The second point is this: Why is the MakePage() script so complicated? Anyone familiar with GML will know that you can use a function called draw_text_ext(), which will automatically word wrap to any width that you specify. Why do I go through so much trouble to manually run through the string and add newline characters to cause it to wrap?&lt;/p&gt;

&lt;p&gt;It becomes clear as we move on to the next aspect of text boxes. They have to type out.&lt;/p&gt;

&lt;h3&gt;Typing Out&lt;/h3&gt;

&lt;p&gt;&lt;img src="http://i48.tinypic.com/96fg1w.jpg" width="480px"&gt;&lt;/p&gt;

&lt;p&gt;In order to make them type out, we shouldn't draw CurrentPageString in the draw event. Instead, we should make a new string, ResultString, and draw it. ResultString will be built up from CurrentPageString in the step event of the TextBox object.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Draw Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;em&gt;draw_set_font&lt;/em&gt;(TextBoxFont);&lt;br&gt;
&lt;em&gt;draw_set_halign&lt;/em&gt;(&lt;span style="color: maroon;"&gt;fa_left&lt;/span&gt;);&lt;br&gt;
&lt;em&gt;draw_set_valign&lt;/em&gt;(&lt;span style="color: maroon;"&gt;fa_top&lt;/span&gt;);&lt;br&gt;
&lt;em&gt;draw_text_ext&lt;/em&gt;(&lt;strong&gt;x&lt;/strong&gt;+xborder,&lt;strong&gt;y&lt;/strong&gt;+yborder,ResultString,linespacing,-1);&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//if the text box is typing out the text&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; printing&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase CharIndex&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;CharIndex += 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//if CharIndex is the size of the page of text&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; CharIndex &gt;= CurrentPageLength&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//fill the ResultString with the entire current page and stop typing out&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CharIndex = CurrentPageLength;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResultString = CurrentPageString;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printing = &lt;span style="color: maroon;"&gt;false&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;else&lt;/b&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//otherwise, make the ResultString as much of the current page as CharIndex is large&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResultString = &lt;em&gt;string_copy&lt;/em&gt;(CurrentPageString,1,CharIndex);&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;We need the new variables, 'printing' so that we know when it's typing out and when it's done, 'CharIndex' to increase each step so we can keep taking more and more of CurrentPageString, and 'CurrentPageLength' so that we know when we've finished going through CurrentPageString. These three will need to be set up at the end of MakePage() now.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;script: MakePage()&lt;/h1&gt;
&lt;p&gt;
...&lt;br&gt;
&lt;br&gt;
CurrentPageLength = &lt;em&gt;string_length&lt;/em&gt;(CurrentPageString);&lt;br&gt;
CharIndex = 0;&lt;br&gt;
printing = &lt;span style="color: maroon;"&gt;true&lt;/span&gt;;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Now it'll print out. It's because of this that MakePage() needs to be so complex. If we relied on draw_text_ext() for word wrap, we'd get ugly results. Because we're actually drawing ResultString to the screen, and ResultString builds up letter by letter, the computer wouldn't know if a word was going to run off the side of the text box until after it had printed fully out. This would result in seeing words print out of bounds, and then skip on to the next line. MakePage() comes to the rescue here, determining where the lines should break before ever being printed, so that the words "know" to be on the next line before they even finish printing out.&lt;/p&gt;

&lt;p&gt;Well, now that we've got our dialogue typing out, you'll notice a new problem. When the user presses the button, it'll skip to the next page. We don't want to do that, if the current page hasn't finished printing out. Instead, we want to instantly finish typing out the current page. Only if the user presses the button &lt;i&gt;again&lt;/i&gt; should it advance one page.&lt;/p&gt;

&lt;p&gt;This will require modifying the step event.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;//if the text box is typing out the text&lt;/i&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; printing&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase CharIndex&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;CharIndex += 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//if CharIndex is the size of the page of text OR the user presses the button&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; CharIndex &gt;= CurrentPageLength &lt;b&gt;or&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(A)&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//fill the ResultString with the entire current page and stop typing out&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CharIndex = CurrentPageLength;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResultString = CurrentPageString;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printing = &lt;span style="color: maroon;"&gt;false&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;else&lt;/b&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//otherwise, make the ResultString as much of the current page as CharIndex is large&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResultString = &lt;em&gt;string_copy&lt;/em&gt;(CurrentPageString,1,CharIndex);&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&lt;b&gt;else&lt;/b&gt;&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//if it's not typing out, pressing the button should advance one page&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(A)&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//but if we're on the last page, we should close the text box&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; DialogOffset &gt;= DialogLength&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;em&gt;instance_destroy&lt;/em&gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;exit&lt;/b&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;//otherwise, determine the next page of text to type out&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;em&gt;MakePage&lt;/em&gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;What we've done is check for a press of the button while 'printing' is true, and made it do the same thing as reaching the end of the page: ResultString becomes CurrentPageString in total, and 'printing' is set to false. Also, we've made the standard check for the button only happen when 'printing' is &lt;i&gt;not&lt;/i&gt; true.&lt;/p&gt;

&lt;p&gt;I've also added a check at that point if it's the last page or not. If the player presses the button on the last page, there's no new page to advance to, so the text box should close instead of calling MakePage() again.&lt;/p&gt;

&lt;p&gt;Now that it's all working, we should add some visual cue so that the player knows that the button does something different at different times. While the text is typing out, the button skips to the end. While it's not, the button advances one page. On the last page, the button closes the text box.&lt;/p&gt;

&lt;p&gt;Most games don't bother with a different icon for each possible state. They just show a triangle or something once the text is done typing out, so that you know there's more. If it's the last page, the triangle simply doesn't appear when the text finishes appearing.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i50.tinypic.com/o8rvkl.jpg" width="480px"&gt;&lt;/p&gt;

&lt;p&gt;It's easy enough to check for all three states, though, so this is how you can do it - add this to the draw event:&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Draw Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
...&lt;br&gt;
&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; printing&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//draw "skip" icon/message&lt;/i&gt;&lt;br&gt;
}&lt;br&gt;
&lt;b&gt;else&lt;/b&gt;&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;if DialogOffset &gt;= DialogLength&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//draw "close" icon/message&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//draw "next" icon/message&lt;/i&gt;&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;h3&gt;Variable Text Speed&lt;/h3&gt;

&lt;p&gt;That's pretty much it for text boxes. But there's some nice finishing touches we can add - variable text speed, for one. In the code blocks above, the text types out at 1 character per step. This speed should be under the player's control, because everybody reads at a different rate.&lt;/p&gt;

&lt;p&gt;All that needs to be done is replace the line that says&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;p&gt;
CharIndex += 1;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;and replace it with&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;p&gt;
CharIndex += textspeed;&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The text speed can be set to 1 at the game start, and then the player can change it from an option menu. Or - and this is pretty cool - since the left and right buttons usually do nothing while a text box is open, you could let the player alter the text speed &lt;i&gt;any time a box is open&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;Just add this to the step event:&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(LEFT)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//decrease the text speed&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;textspeed /= 2;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; textspeed &lt; 0.25 textspeed = 0.25;&lt;br&gt;
}&lt;br&gt;
&lt;b&gt;else&lt;/b&gt;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(RIGHT)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//increase the text speed&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;textspeed *= 2;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; textspeed &gt; 8 textspeed = 8;&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;You can make the upper and lower limits anything that seems reasonable to you. However, the difference between settings isn't enough when they're linear. They need to be logarithmic. So, instead of adding to and subtracting from textspeed, I suggest you multiply and divide it (or bit shift it).&lt;/p&gt;

&lt;p&gt;There should be lights or pips or something worked into the design of the text box, so that the player has a visual clue to the setting that the text speed is at.&lt;/p&gt;

&lt;h3&gt;Canceling&lt;/h3&gt;

&lt;p&gt;Finally, you can add this to the step event.&lt;/p&gt;

&lt;div class="code"&gt;
&lt;h1&gt;Step Event (TextBox object):&lt;/h1&gt;
&lt;p&gt;
&lt;b&gt;if&lt;/b&gt; &lt;em&gt;JoyButtonPressed&lt;/em&gt;(B)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//close the text box&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;instance_destroy&lt;/em&gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;exit;&lt;/b&gt;&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;This lets the player hit a cancel button to close the text box whether the dialogue is finished or not. It's really annoying to accidentally re-talk to a character and be forced to page through their entire diatribe when you've already read it. You might want to add a check so that the player can only leave like this if they've talked to the person before, but I think the player ought to be able to cancel even if it's new dialogue. There might still be certain important story driven dialogue that they can't cancel, though.&lt;/p&gt;

&lt;h3&gt;Example GMK&lt;/h3&gt;

&lt;p&gt;For an example GMK, click &lt;a href="http://host-a.net/MercurySilver/CotN%20-%20Text%20Boxes.gmk"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Until next time, happy coding, Code Ninjas!&lt;/p&gt;

&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine,
no credit is necessary. But I'd love to hear about your project if you
do! Just drop me a comment below, or e-mail me at
&lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-903334860381479973?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/903334860381479973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/code-of-ninja-text-boxes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/903334860381479973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/903334860381479973'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/code-of-ninja-text-boxes.html' title='Code of the Ninja: Text Boxes'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i47.tinypic.com/vpgryx_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4147750088621015437</id><published>2010-02-08T00:46:00.000-08:00</published><updated>2010-02-08T00:47:15.250-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bang Science'/><title type='text'>!SCIENCE #2</title><content type='html'>&lt;img src="http://i45.tinypic.com/1199lky.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4147750088621015437?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4147750088621015437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/science-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4147750088621015437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4147750088621015437'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/science-2.html' title='!SCIENCE #2'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i45.tinypic.com/1199lky_th.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7163493957643118046</id><published>2010-02-04T22:34:00.000-08:00</published><updated>2010-02-05T16:34:32.169-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Sonic 4?</title><content type='html'>&lt;p&gt;Well, if you're a Sonic the Hedgehog fan, you're probably aware that Sega has finally unveiled Project: Needlemouse, announcing it to be "Sonic the Hedgehog 4: Episode 1".&lt;/p&gt;

&lt;p&gt;What follows is an extremely critical and negative piece on what they've revealed. If you're excited and happy with Sega right now, and don't want any buzzkill, I urge you to consider not reading any further.&lt;/p&gt;

&lt;p&gt;Firstly, before anyone starts slinging around the "What can we tell from 3 seconds of video?" canard, I'll tell you - a hell of a lot. The classic Sonic community can tell by a lone screenshot whether one palette slot is off by a shade, or whether the HUD is moved by a single pixel. They even make purposeful "tech hoax" screenshots in order to hone these skills. No one is better equipped to drain bucketloads of info from a short video clip.&lt;/p&gt;

&lt;p&gt;And what a clip! Let's break it down.&lt;/p&gt;

&lt;p&gt;First, we see some clips of the classic games, in a sort of timeline, to build up the suspense. Finally we reach 2010 and see a polygon Sonic (in the modern style) jumping on the heads of some polygon Badniks.&lt;/p&gt;

&lt;p&gt;(Motora/Motobug, who we know to be in the game already, and Halogen/Batbot from Carnival Night (Sonic 3). Another rehash Badnik? I'm not really surprised at this point. The thing that bothers me is that Badniks in the old days were (mostly) tied to their Zone. Halogen was &lt;i&gt;part&lt;/i&gt; of Carnival Night. Seeing it anywhere else is like seeing Knuckles with Tails' tails. Come on, Sega, not even all &lt;i&gt;fangames&lt;/i&gt; cut and paste like this!)&lt;/p&gt;

&lt;p&gt;Then we finally see some footage of the game in action. Ironically, the clips of the classic games were shown behind a crappy filter, so that when footage of Needlemouse is finally shown, it'll "pop". What a dirty trick. If they had any confidence at all in their product, they would have shown an honest, direct comparison. A true Sonic 4 should impress, back to back with the classics or not.&lt;/p&gt;

&lt;p&gt;What does the footage show?&lt;/p&gt;

&lt;p&gt;A Green Hill rip-off. Closer to Green Hill than any main Sonic game has yet dared. Sonic 2 and Sonic CD at least bothered to change the ground pattern.&lt;/p&gt;

&lt;p&gt;And a corkscrew - lifted straight from Emerald Hill (and the many Sonics to have rehashed it since).&lt;/p&gt;

&lt;p&gt;And... that's all. Yep, they finally show the game in action, and they show absolutely nothing new. Say it with me, now - ABSOLUTELY NOTHING NEW. Way to build excitement, Sega - don't show anything we can get excited over!&lt;/p&gt;

&lt;p&gt;My first reaction to the footage, honest-to-goodness, was gales of uncontrollable hysterical laughter. If I didn't know Sega so well, I would have thought it was a joke.&lt;/p&gt;

&lt;p&gt;I thought it was hilarious. I don't think that's the reaction Sega wanted.&lt;/p&gt;

&lt;p&gt;Don't get me wrong, the game looks alright. It's not a hideous mess by any means. It's just about good enough to be a handheld title, or an iPhone game. A little trip through classic Sonic elements, like a next generation Sonic Pocket Adventure.&lt;/p&gt;

&lt;p&gt;But they're calling this Sonic 4. And as Sonic 4, it's a disgrace.&lt;/p&gt;

&lt;p&gt;It's a disgrace that they're putting "Modern Sonic" in it, for one. Now, I know some are going to jump on my back for this, saying that I'm harping on a detail. But since when was the look of the main character (the &lt;i&gt;only&lt;/i&gt; character, in this case), and the &lt;i&gt;entire art style of the game&lt;/i&gt; just a &lt;i&gt;detail!?&lt;/i&gt; Yes, the gameplay is more important, but that by no means makes the art style unimportant. Who wants to play the Sonic 4 they've been waiting for for 16 years, starring the smirking fool Sonic that haunts their Sonic Heroes fueled nightmares?&lt;/p&gt;

&lt;p&gt;But it's not so much that the modern style is bad. It's more the message Sega sends by using it at all. This was their promise to return to the classics. This was Sonic 4. This was their chance. But they still decide to use the brand-consistent Olympic Games Sonic, so as not to confuse the kiddies. What a kick in the nuts for us classic fans. "Sorry guys. We pretended we were making a game just for you, but that was just to build hype. You didn't expect us to &lt;i&gt;actually&lt;/i&gt; care enough to follow through?"&lt;/p&gt;

&lt;p&gt;Hell, I would have taken a brand new re-design. Floppy-spined Sonic has been stalking us for over a decade now. It's time he was retired. But no - instead we get a game that elevates Modern Sonic as a direct continuation of the classics. Why don't you just reach into our heads and take our &lt;i&gt;memories&lt;/i&gt; of classic Sonic, too?&lt;/p&gt;

&lt;p&gt;Actually, fuck "classic" Sonic. He doesn't need a differentiating adjective. He &lt;i&gt;is&lt;/i&gt; Sonic. This look-almost-alike they've been using is nothing but a poser.&lt;/p&gt;

&lt;p&gt;But you know what bothers me the most about all this? Sega can make a bad game if they want - more power to them, I don't have to play it. It's the fan reaction. The unreasonably beleaguered fans, who have put up with Sega's beatings since 2001. They're starting to just give up and take it.&lt;/p&gt;

&lt;p&gt;I - and many others - credit the 16-bit Sonic the Hedgehog games with sparking my creativity. Sonic taught us to dream big and never give up.&lt;/p&gt;

&lt;p&gt;But I'm not seeing that from the fanbase anymore. It's like after eating Sega's shit for 10 years they're starting to get used to the flavour. Goddamnit, STAND UP FOR YOURSELVES! Stop acting like the victim in an abusive relationship. "I probably won't ever get anything better." "My expectations were too high..." "It must be me. Maybe I don't &lt;i&gt;deserve&lt;/i&gt; any better."&lt;/p&gt;

&lt;p&gt;It's not &lt;i&gt;us&lt;/i&gt;, it's &lt;i&gt;them&lt;/i&gt;. All this talk of the fanbase and their "ridiculously high expectations" is crazy talk. You can make it sound reasonable - you can rationalise all you want - but in the end, all I hear is excuses. People making excuses for being less than stellar.&lt;/p&gt;

&lt;p&gt;Maybe it's because I'm American. Cowboys, Astronauts, Bruce Willis. You have to dare to be awesome. Second best isn't good enough. There is &lt;i&gt;no fucking excuse&lt;/i&gt; to be less than stellar. This is &lt;i&gt;Sonic 4&lt;/i&gt;, and it's barely a cut above Sonic Rivals. Don't you dare pin that on me and &lt;i&gt;my expectations&lt;/i&gt;. That's irrational faith, born of years of disappointment, talking.&lt;/p&gt;

&lt;p&gt;Don't you think that after waiting 16 years we deserve something that looks better than the hoax screenshots that floated around?&lt;/p&gt;

&lt;img src="http://i45.tinypic.com/k21r8n.jpg" width="640"&gt;

&lt;p&gt;I'd hate to be so desperate for a Sonic game that I'd be willing to compromise my standards. I'm not an addict, jonesing for a classic fix so bad that I'll praise Sega up and down for including a corkscrew. This isn't our only chance for a Sonic 4, it's just one more in a long line of failures and WE DON'T HAVE TO TAKE IT. We've been sending the message that we're willing to take Sega's table scraps for too long.&lt;/p&gt;

&lt;p&gt;It's highly offensive that Sega thinks that showing what they have so far shown in any way would excite us. Sadly, though, many are in a euphoric tizzy right now, so I guess Sega was right. I thought more highly of most fans.&lt;/p&gt;

&lt;p&gt;But I'm not blown away by borrowing classic elements. Sonic Advance 2 had corkscrews. Where's the creativity?&lt;/p&gt;

&lt;p&gt;Perhaps it's in later levels. Yeah, right. Any team so uncreative that they would green-light a rip-off first zone is really able to be trusted to pull out all the stops for a second. Where did the Shigeru Miyamoto philosophy of making the first 30 minutes of a game the &lt;i&gt;most&lt;/i&gt; exciting part?&lt;/p&gt;

&lt;p&gt;And even if the whole game is an unimaginative failure, the blindered Sega-phants will just keep hoping for Episode 2. Or the 2011 Sonic. It's always next time, next time. ("Maybe God will cure my &lt;i&gt;next&lt;/i&gt; cancer!")&lt;/p&gt;

&lt;p&gt;It's been explicity stated by Sega that this isn't part of the main Sonic brand (there will be a "real" game in 2011, supposedly), which is greatly outraging on two counts. First, if they're not risking their main brand, why are thay playing it so &lt;i&gt;safe&lt;/i&gt;? Second, this reveals exactly what Sega thinks of the old Sonic games. They're not worth being major releases. They're dippier, second class citisens. Sonic the Hedgehog 4 - the continuation of the main series - isn't going to be a triple-A blow-your-pants-off title, but a low-budget downloadable release. What a big, officially sanctioned crap all over the classic games.&lt;/p&gt;

&lt;p&gt;Meh. I'm getting too worked up. I wouldn't be so offended, except for the title. If they called this Sonic Genesis 2, then I'd be happier =P.&lt;/p&gt;

&lt;p&gt;Well, I hope Sega finds some way to pull off a win and prove me totally wrong. I honestly do. But we'd all be as blue as Sonic if we held our breath for it.&lt;/p&gt;

&lt;p&gt;Wake me when Sonic &lt;i&gt;really&lt;/i&gt; makes his return.&lt;/p&gt;

&lt;img src="http://i48.tinypic.com/153nxp1.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7163493957643118046?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7163493957643118046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/sonic-4.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7163493957643118046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7163493957643118046'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/sonic-4.html' title='Sonic 4?'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i45.tinypic.com/k21r8n_th.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5379239609887397158</id><published>2010-02-03T01:52:00.000-08:00</published><updated>2010-02-03T02:51:58.014-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Thoughts on Hedgehog Day</title><content type='html'>&lt;p&gt;Well, yesterday was "Hedgehog Day" - to us classic Sonic fans, anyway, who have thought of it as such ever since the release of Sonic the Hedgehog 3 on that very day over a decade ago in 1994.&lt;/p&gt;

&lt;p&gt;To celebrate, I played Sonic 1 and Sonic 2 back to back, straight through. I had a &lt;i&gt;fantastic&lt;/i&gt; time. All I gotta say is: if Sega hopes to recapture the magic that those games had, it's gonna take Herculean effort.&lt;/p&gt;

&lt;p&gt;About that.... Sega's own method of celebrating Hedgehog Day involved &lt;a href="http://blogs.sega.com/usa/2010/02/02/happy-hedgehog-day/" target="_blank"&gt;drip-feeding a few new bits&lt;/a&gt; of Project: Needlemouse to the salivating public.&lt;/p&gt;

&lt;p&gt;Before I get to that, though, I should quickly mention what I thought of the last batch, which I neglected to comment on before. &lt;a href="http://blogs.sega.com/usa/2010/01/27/project-needlemouse-community-challenge-2-new-concept-art-and-a-very-special-reward/" target="_blank"&gt;Back in January&lt;/a&gt;, they posted a second piece of Badnik concept art and an intriguing paragraph.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i46.tinypic.com/qzpw0p.jpg" width="640"&gt;&lt;/p&gt;

&lt;p&gt;A &lt;a href="http://info.sonicretro.org/Moto_Bug" target="_blank"&gt;Motobug&lt;/a&gt;. It's okay - again, I'm happy that the design is pretty faithful to the original, but I'm &lt;i&gt;not&lt;/i&gt; a fan of the sunken eyes at all. It also, being a Badnik from Sonic 1, further reinforces the fear that Needlemouse won't be as creative and original as it should be.&lt;/p&gt;

&lt;p&gt;But they also left us with this:&lt;/p&gt;
&lt;blockquote&gt;&lt;i&gt;Speed is something that is not given; but rather earned through dedication. Speed is not found by simply pushing a boost button, but by building momentum. It is the reward for skill in the face of difficult challenges – this kind of speed is the most exhilarating, not only because it is fast, but because of the pure perfection such speed exemplifies. This is the truth of the original Sonic games – and this is the truth of Project Needlemouse.&lt;/i&gt;&lt;/blockquote&gt;

&lt;p&gt;Well, duh, right? The community's been saying this for years. It's kind of irritating to hear Sega quote it back to us as though they were making some sort of genius revelation. But it's nice to know that they've gotten the message.&lt;/p&gt;

&lt;p&gt;At this point, my excitement meter would have shot up a few points. It looked like Sega was honestly trying hard. But I held off on airing my thoughts, because a new batch of goodies was so soon forthcoming.&lt;/p&gt;

&lt;p&gt;Which brings us to today. This is what they've revealed:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i47.tinypic.com/j12hw7.jpg" height="320"&gt;&lt;img src="http://i46.tinypic.com/hv80t3.jpg" height="320"&gt;&lt;/p&gt;

&lt;p&gt;That's right. A flower and a palmtree. &lt;b&gt;A FLOWER AND A PALMTREE&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Note: What follows will be my emotional response. I am a rational person, and I understand that Sega of America isn't allowed to give away too much, and that mere concept art isn't indicative of the finished product. That said, I'm going with my gut reaction just for the sake of historical record.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;I am &lt;i&gt;extremely&lt;/i&gt; disappointed. Badniks were one thing - classic Sonic games weren't above reusing a Badnik design &lt;a href="http://info.sonicretro.org/Mosqui" target="_blank"&gt;here or there&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But that flower and tree! Not just any flower and tree, either, but palpably the ones from Green Hill Zone. A spinning sunflower? Not even Palmtree Panic Zone, which is the closest classic Sonic ever got to a true Green Hill remake, had spinning sunflowers. And Sonic CD's zones were really similar to Sonic 1's &lt;a href="http://info.sonicretro.org/Naoto_Oshima_interview_by_Gamasutra_(December_4,_2009)#Sonic_CD" target="_blank"&gt;on purpose!&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is disappointing because it yet again reinforces the uncreativity and unoriginality that has plagued Project: Needlemouse's image since the first trailer that invoked the winged ring logo. They still have shown us nothing that proves they can be at least as &lt;a href="http://www.youtube.com/watch?v=1f0lmc4lZhs" target="_blank"&gt;creative as the Sonic fan community&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And there's no good reason. I mean, &lt;a href="http://www.playsega.co.uk/editors/" target="_blank"&gt;remember this?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i49.tinypic.com/zl4xkx.jpg" width="320"&gt;&lt;img src="http://i50.tinypic.com/t0t2bs.jpg" width="320"&gt;&lt;/p&gt;

&lt;p&gt;Wow! Trees, growing crystals. And the sea showing behind some mountains, to make it feel more like a nearby islet. It's nothing totally revolutionary, but it's just enough of a cute twist to make it feel like something new and exciting.&lt;/p&gt;

&lt;p&gt;This was precisely the type of thing I was hoping to see from the zone concept art on Hedgehog Day. The one thing I desperately did &lt;i&gt;not&lt;/i&gt; want to see was anything from Green Hill Zone. Sega blew it completely.&lt;/p&gt;

&lt;p&gt;They even make a lame excuse, claiming that sometimes it's better to "renovate than innovate":&lt;/p&gt;

&lt;blockquote&gt;...the levels themselves also have to exude a style that matches or improves upon what came before them. Often, it is not about attempting to revolutionize, but rather to stay true to the formulas for Sonic’s success that already exist.&lt;/blockquote&gt;

&lt;p&gt;I find that a rather weak way to apologise for not having anything new or exciting to show.&lt;/p&gt;

&lt;p&gt;But that's not the worst of it. They also teased the music. It's awful. I know it's a pitifully short sample, but everything about it is wrong. I won't bother saying more about it, though, because &lt;a href="http://forums.sonicretro.org/index.php?s=&amp;showtopic=19076&amp;view=findpost&amp;p=404441" target="_blank"&gt;Tweaker put it best&lt;/a&gt; at &lt;a href="http://www.sonicretro.org/" target="_blank"&gt;Sonic Retro&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You know, I frankly find it almost &lt;i&gt;insulting&lt;/i&gt; to think that Sega thinks the classic fans will jump for joy at a stupid rotating flower. It shows an unhealthy focus on the &lt;i&gt;details&lt;/i&gt; of the classic games, and not the underlying spirit that made them great. If all it took was a copy and paste from Green Hill Zone to make a good Sonic game, we'd have had one already. It's gonna take a lot more than pointing to an individual foreground element from an early game, saying, "Remember that? We got that!" to inspire our imagination. Remember, Sonic 3 had a tropical island zone - and then it &lt;b&gt;blew it up&lt;/b&gt;. Now, that's the way to start a game!&lt;/p&gt;

&lt;p&gt;All in all, it's been pretty disappointing. I'm still slightly optimistic, and waiting for Thursday when more news is supposed to come. But I'm getting the strong feeling that Sega ain't got the touch. I'm still pinning my hopes on the fangame community to supply my Sonic thrills.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5379239609887397158?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5379239609887397158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/thoughts-on-hedgehog-day.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5379239609887397158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5379239609887397158'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/02/thoughts-on-hedgehog-day.html' title='Thoughts on Hedgehog Day'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i46.tinypic.com/qzpw0p_th.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4592407460121228623</id><published>2010-01-16T00:58:00.000-08:00</published><updated>2010-01-16T01:52:56.885-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Project Needlemouse Titbits</title><content type='html'>&lt;p&gt;Well, I &lt;a href="http://intheshadeofawave.blogspot.com/2009/09/project-needlemouse-2d-sonic-in-2010.html"&gt;promised I wouldn't speculate&lt;/a&gt; until there was something solid about Project Needlemouse to speculate &lt;i&gt;about&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.sega.com/usa/2010/01/15/project-needlemouse-character-countdown-finale-and-concept-art/" target="_blank"&gt;Now there is.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are now three more certainties about the game, and I'll be looking at each (briefly) in turn.&lt;/p&gt;

&lt;h3&gt;1.) Sonic is the only playable character&lt;/h3&gt;
&lt;p&gt;I am disappointed that Tails and Knuckles won't be playable, even optionally, but on the other hand I'm happy to know that we won't be forced to play as any characters that I don't like.&lt;/p&gt;

&lt;p&gt;However, I want to point out that, technically, Sonic Unleashed didn't have any playable characters besides Sonic, either, and that didn't save it. We were still saddled with new (and unpleasant) gameplay gimmicks that broke up the action and padded out the game.&lt;/p&gt;

&lt;p&gt;Finally, this whole character countdown seems to be about playable characters and playable characters only. For all I know right now, Shadow and Big and the whole goon platoon will be making NPC appearances. While that's better than having to shift their girth around myself, I'd still like to know that they won't be making an appearance &lt;i&gt;at all&lt;/i&gt;. It would be nice to be assured that there will be no Amy glomping, Shadow angst, or Big inanity &lt;i&gt;even in the cutscenes&lt;/i&gt;. Alas.&lt;/p&gt;

&lt;h3&gt;2.) There will be no new characters introduced, playable or otherwise&lt;/h3&gt;

&lt;p&gt;This suggests that the game will either be light on story altogether (it's hard to tell a story without characters), or concentrate on the classic characters more. This screams "remake" to me, but the original teaser did say "all new adventure", so we'll see.&lt;/p&gt;

&lt;h3&gt;3.) Classic Badnik, Shellcracker&lt;/h3&gt;

&lt;img src="http://i47.tinypic.com/an1ob7.jpg"&gt;

&lt;p&gt;&lt;i&gt;&lt;a href="http://info.sonicretro.org/Shellcracker" target="_blank"&gt;Shellcracker&lt;/a&gt;, or "Kani Punch" (Kani is japanese for crab) concept art&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;It's about time we saw some classic Badniks make a return! This is the first time a major modern Sonic game will use a classic Badnik design, as opposed to enemies that are merely reminiscent of the earlier games.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;This is a very good thing.&lt;/b&gt; One of my biggest complaints with Sonic Unleashed was the repititious and uninspired enemies, copied and pasted between the levels. Even if the Needlemouse team does nothing else right, this is a step in the right direction.&lt;/p&gt;

&lt;p&gt;I also happen to like the concept art very much. It is, above all, incredibly faithful to the original Totoya design, adding detail but not sacrificing the personality. If the same holds true for the rest of Needlemouse, I will be one happy gamer.&lt;/p&gt;

&lt;p&gt;I freely admit that the following is wishful thinking, but I have a theory (in the colloquial sense) that they showed concept art of a Badnik - instead of say, Sonic - for a specific and devious reason.&lt;/p&gt;

&lt;p&gt;They aren't ready to reveal what Sonic is going to look like yet.&lt;/p&gt;

&lt;p&gt;There has been much speculation about whether Sega is going to do the marketable thing and use the modern, green-eyed, lean Sonic design (which, for the record, I think is hideous - I even prefer the &lt;a href="http://info.sonicretro.org/File:S3-eu-box.jpg" target="_blank"&gt;European Sonic 3 boxart&lt;/a&gt; to this modern floppy monstrosity), or please the retro fanbase and use the classic, round-bellied, short-spined one.&lt;/p&gt;

&lt;p&gt;I contend that it is a very real possibility that they may use neither, but instead introduce a brand new overhaul of Sonic's design. After all, they've done it once, and ten years on it's wearing pretty thin. There's nothing to say they won't do it again, and surprise all of us. I mean, if it was just gonna be Olypmic Games / All-Star Racing Sonic, why haven't we seen hide nor spine of him yet? It's a thought.&lt;/p&gt;

&lt;p&gt;Well, that's it for Needlemouse speculation from me until something else of substance pops up. Here's hoping they don't make us wait until E3 for the next titbits.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;P.S.&lt;/b&gt; I've gone and done it now, I've made a Project Needlemouse Excitement Meter (see the sidebar to the right). The percentage is in comparison to how excited I was about Sonic &amp; Knuckles' imminent release (which was about as stoked as any human can get). The value will change as new info comes in.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4592407460121228623?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4592407460121228623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/01/project-needlemouse-titbits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4592407460121228623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4592407460121228623'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/01/project-needlemouse-titbits.html' title='Project Needlemouse Titbits'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i47.tinypic.com/an1ob7_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-1104742447436573440</id><published>2010-01-08T01:22:00.000-08:00</published><updated>2010-01-08T23:14:27.641-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pernicious Fallacies'/><title type='text'>Fit For A Kring</title><content type='html'>&lt;p&gt;
You probably &lt;a href="http://intheshadeofawave.blogspot.com/2009/12/meme-cloud-special-misfits-of-science.html"&gt;know by now&lt;/a&gt; that I'm a fan of the 80's TV series, Misfits of Science. Well, there's a minor fallacy surrounding the show that's circulating about the 'net: It's claimed firstly that Tim Kring, the creator of Heroes, also created Misfits of Science; and secondly that he's rehashed dialogue from the earlier show and used it in Heroes.
&lt;/p&gt;

&lt;p&gt;
Yes, I know it's not a huge, world-shattering misunderstanding. The world will go cycling on according to the fixed law of gravity whether or not this little non-fact persists. But I feel that it's just a little irresponsible to not have a refutation present &lt;i&gt;somewhere&lt;/i&gt;, so here goes...
&lt;/p&gt;

&lt;h3&gt;Is Tim Kring the creator of Misfits of Science?&lt;/h3&gt;

&lt;p&gt;
Well, we know he &lt;a href="http://scienceofmisfits.blogspot.com/2009/10/credits.html" target="_blank"&gt;isn't credited as such&lt;/a&gt; in the show itself. We also know that James D. Parriott and Brandon Tartikoff &lt;i&gt;were&lt;/i&gt; behind the inception of the show [&lt;a href="http://news.google.com/newspapers?id=ctwiAAAAIBAJ&amp;sjid=-84FAAAAIBAJ&amp;pg=948,4691815&amp;dq=misfits-of-science&amp;hl=en" target="_blank"&gt;1&lt;/a&gt;] [&lt;a href="http://news.google.com/newspapers?id=Tq8yAAAAIBAJ&amp;sjid=oe8FAAAAIBAJ&amp;pg=2841,2624009&amp;dq=misfits-of-science&amp;hl=en" target="_blank"&gt;2&lt;/a&gt;]. So, at best, Kring would have to have been a co-creator, and an uncredited one at that.
&lt;/p&gt;

&lt;p&gt;
So where does this nugget of misinfo come from? Because Kring wrote an episode of Misfits of Science. Just one: "Twin Engines". But Kring &lt;a href="http://www.comicbookresources.com/?page=article&amp;id=10304" target="_blank"&gt;barely remembers the show at all&lt;/a&gt;. Either he's distancing himself from the show, because he finds it embarrassing, or he wasn't deeply involved. All the signs point to him having been a writer and nothing more.
&lt;/p&gt;

&lt;p&gt;
So he &lt;i&gt;was&lt;/i&gt; involved with Misfits of Science to some degree. It's easy to see how this fact could have been garbled over time, falsely expanding his role in the series. Simply confusing the indefinite article with the definite when relating the bit of trivia - 'Tim Kring was &lt;b&gt;a&lt;/b&gt; writer for MoS!' ... 'Tim was &lt;b&gt;the&lt;/b&gt; writer for MoS!' - would do the trick.
&lt;/p&gt;

&lt;h3&gt;Did Tim Kring mine dialogue from MoS for Heroes?&lt;/h3&gt;

&lt;p&gt;
And now for the second part of the fallacy. This is mainly why I decided to bring up the issue in the first place - it nicely demonstrates how misinformation can start to snowball. Odd myths can accumulate quickly and rather messily around tiny, unassuming pseudo-truths.
&lt;/p&gt;

&lt;p&gt;The claim:&lt;/p&gt;

&lt;blockquote&gt;&lt;cite&gt;&lt;a href="http://www.bsideblog.com/2008/03/did-heroes-steal-from-a-previo.php" target="_blank"&gt;B-Side Blog&lt;/a&gt;&lt;/cite&gt;&lt;p&gt;
I have shocking, absolutely SHOCKING news. After a spate of late-night nostalgia led me to look up clips from the failed 1985 NBC series Misfits of Science (featuring, among others, a young Courney Cox), I discovered that Heroes may have ripped off a thing or two from this campy gem. Not only does Misfits of Science also focus on a group of young, attractive people with supernatural powers, but it features a wayward warning: "Save Adele, save the world."&lt;/p&gt;
&lt;p&gt;
Hmmmm...
&lt;/p&gt;
&lt;p&gt;
For the uninformed, that line sounds suspiciously similar to the famous Heroes mantra, "Save the cheerleader, save the world." But the coincidences don't end there. Additionally, the creator of Heroes, Tim Kring, once was a writer on, you guessed it, MISFITS OF SCIENCE.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
Now, I'm unfamiliar with the quote, or so-called "mantra", from Heroes, as I don't watch the show. But I do know that 'Save Adele, save the world' isn't even the line from Misfits of Science! As was pointed out by a commenter on the post I'm quoting, Dr Momquist was saying, 'Save it, El... save the world.'
&lt;/p&gt;

&lt;p&gt;
There's not even anyone in Misfits of Science named Adele!
&lt;/p&gt;

&lt;p&gt;
This rather silly and muddled observation was, of course, promptly repeated on other sites the next day.
&lt;/p&gt;

&lt;blockquote&gt;&lt;cite&gt;&lt;a href="http://defamer.gawker.com/368827/" target="_blank"&gt;Defamer&lt;/a&gt;&lt;/cite&gt;&lt;p&gt;
The B-Side blog has uncovered something of note in NBC's short-lived, 1985 series Misfits of Science (starring a young Courteney Cox): The show is about "a group of young, attractive people with supernatural powers," and features the mantra, "Save Adele, save the world."
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
This time, the line of dialogue from Misfits is now being called a "mantra", as well, as though it were said many times as a hip catchphrase.
&lt;/p&gt;

&lt;blockquote&gt;&lt;cite&gt;&lt;a href="http://www.thebadandugly.com/2008/03/17/tim-kring-not-as-original-as-we-once-thought/" target="_blank"&gt;TheBadandUgly&lt;/a&gt;&lt;/cite&gt;&lt;p&gt;
Allow us to (re?)introduce the 1985 NBC series Misfits of Science. Keep an eye out for familiar faces and slogans:
&lt;/p&gt;
[video]
&lt;p&gt;
Did you catch it? What the old man said to the tiny black man at the beginning? The show centered around a group of young, attractive people with supernatural powers, one of which was Courtney Cox, and this particular episode uses the tag phrase of: “Save Adele, save the world.”
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
Now, it's a "slogan", and a "tag phrase"!
&lt;/p&gt;

&lt;p&gt;
Now, as I mentioned, this is but a minor conflagration, and will ultimately bother... well, just me, probably; but I do find it interesting just how fast these things can spread. Furthermore, the original blog was uncritically quoted, almost verbatim, and it was up to discerning commenters to set the record straight, days later. It goes to show how strong &lt;a href="http://en.wikipedia.org/wiki/Pareidolia" target="_blank"&gt;pareidolia&lt;/a&gt; is - if you tell someone what they're &lt;i&gt;supposed&lt;/i&gt; to hear before they hear it, they just might hear it - even if it's not what's really being said!
&lt;/p&gt;

&lt;p&gt;
Well, that's enough beating of the proverbial deceased equine animal. Just let it be a lesson to you to always keep a critical eye open, even if it's just a bit of silly trivia you're hearing!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-1104742447436573440?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/1104742447436573440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/01/fit-for-kring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1104742447436573440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/1104742447436573440'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2010/01/fit-for-kring.html' title='Fit For A Kring'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5490356266584557924</id><published>2009-12-25T21:36:00.000-08:00</published><updated>2009-12-25T21:45:37.755-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rants'/><title type='text'>Merry Christmas</title><content type='html'>&lt;p&gt;&lt;i&gt;'Tis the season for complainers, blah-blah blah-blah blah, blah-blah blah blah!&lt;br&gt;And anti-Christmastime campaigners, blah-blah blah-blah blah, blah-blah blah blah!&lt;br&gt;'Tis the season to dig trenches, blah-blah-blah, blah-blah-blah, blah blah blah!&lt;br&gt;So let's all be pedants and grinches, blah-blah blah-blah blah, blah-blah blah blah!&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Enough with the War on Christmas, people!&lt;/p&gt;
&lt;p&gt;I'm fond of saying that people who look at the world as though it's black and white see it as twice as complicated as it really is, because it is in fact grey. There's good and bad (and the smooth gradient in between) in all things, but people tend to make snap decisions and sweeping declarations, tossing things into either the "good" box or the "bad" box.&lt;/p&gt;
&lt;p&gt;This kind of an outlook may seem at first blush to be a handy way to simplify your life, but as it turns out it really serves to overcomplicate it. Like the proverbial donkey with two equally tasty bales of hay, any time you come across something sufficiently "grey" and difficult to categorise, the decision of which box to chuck it in becomes needlessly stessful.&lt;/p&gt;
&lt;p&gt;Christmas is one of those things that's pretty darn grey. For atheists like me, it's annoying because it's full of religious symbols. For many Christians, it's annoying because of its pagan roots. And for just about anybody the blatant consumerism is nauseating, but on the other hand who's gonna knock family and good food?&lt;/p&gt;
&lt;p&gt;For me, though, Christmastime has, on balance, more good than bad. It's mostly because I love the time of year - if I'd grown up in the southern hemisphere, I might feel completely differently about it - but it's also partially because I dig the whole &lt;i&gt;style&lt;/i&gt; of Christmas. Sure, it's superficial and cloying, but just like fast food and amusement parks, there's something about its particular brand of decadence that makes my brain scream "yes" louder than it screams "no", though scream "no" it does.&lt;/p&gt;
&lt;p&gt;I like the general buzz of excitement and purpose. I like the excuse to watch "Ernest Saves Christmas", or listen to Weird Al's "Christmas at Ground Zero". I like the grounding effect it has on the year, the timekeeping effect it has on your life. The sights, sounds, and smells that come with each cycle trigger memories and emotions from passed days that might have never bubbled to surface if each year were totally different, stripped of the rhythm of Christmastime.&lt;/p&gt;
&lt;p&gt;Granted, anything could fill the same role. There are plenty of other cultural holidays, some artificial, others not, and weakly irritating parodical celebrations like Squidmas. But similarly, any other combination of sounds and letters could subsume the role of the word "coatrack" - but doesn't "coatrack" already do the trick?. The point is that Christmas - for me, and millions of others - already does fill this role, and fighting against it seems like pointless windmilling, with just a touch of unbecoming self-importance.&lt;/p&gt;
&lt;p&gt;But during this time of year, when everyone could otherwise be enjoying their acknowledgedly crass and superficial holidays, the "grinches" come out of the woodwork, whining about how offensive Christmas is and how everybody is terrible for wishing them a Merry Christmas.&lt;/p&gt;
&lt;p&gt;Offensive? &lt;i&gt;Offensive?&lt;/i&gt; There is no cosmic law that says you should be specially exempt from being offended. In fact, to be regularly offended might do a body good. Regardless of that, though, how much of an arrogant prude must someone be to be offended by how someone else chooses to enjoy themselves?&lt;/p&gt;
&lt;p&gt;At the risk of complaining as much as the complainers I'm complaining about, I thought I'd briefly bring up &lt;a href="http://www.elephantjournal.com/2009/12/10-reasons-i-hate-christmas-love-the-grinch/" target="_blank"&gt;this article&lt;/a&gt; by Sarah Miller. It's a real doozy, containing not just fluff-headed thinking, but trite observations and contradictions. These are the kind of dead reindeer points the pedants like to drag out and flog every year, and one does get tired of them. (Do bear in mind, though, that the article is written in the voice of the Grinch himself, and likely intended to be humourous. Don't take it or my retorts too seriously.)&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;How many times do I have to hear “Merry Christmas!” in my lifetime? How many times will I have to respond with “happy holidays” before people realize that not everyone is celebrating their holiday with them? Isn’t it a bit egotistical to assume that everyone else is ALSO celebrating Christmas? I find it super rude. Especially for those who are celebrating Hanukkah and Kwanzaa at this time of year. And funny no one wishes me a happy Raam Navami...&lt;/p&gt;

&lt;p&gt;To put it into perspective, American Muslims don’t go around wishing EVERYONE “happy Ramadan” every year. Why? Because they know that not everyone in America is celebrating Ramadan with them. So why do Christians, or those celebrating Christmas, assume that everyone else is playing along with them? Weird.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;What a kind spirit! Taking offence to someone wishing you well. Is that Jacob Marley's chains I hear rattling in the distance? What a world we have to live in, where a person has to fear uttering pleasantries! If someone &lt;i&gt;did&lt;/i&gt; wish me a happy Ramadan, well, what of it? Happy &lt;a href="http://en.wikipedia.org/wiki/The_Star_Wars_Holiday_Special" target="_blank"&gt;Life Day&lt;/a&gt; to them!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s also the reality that the “Christmas tree” is associated historically with paganism and several other traditions but gained popularity in the U.S. and UK during Queen Victoria’s reign mid 18th century. As it turns out, it is a fairly new holiday association.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;We all know there was a St. Nick who lived once. ... I like the guy. But...my point is, he doesn’t actually belong with Christmas at all. Call me a Puritan, but he’s not Christmas. And besides, you’re lyin’ to the kids and that ain’t cool.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;People do love to point to all the Christmas traditions that are recent adaptations, as if that somehow makes them less "pure". Your head wasn't always a part of your body, either. Surely that is warrant enough to part you from it? Traditions are just that - &lt;i&gt;traditions&lt;/i&gt;. Who the hell cares if Santa Claus or Baby Jesus are recent additions? It's like the infuriating grammar pedants who seem to think that language is our master, not our servant, that dictionaries antecede usage, and that the "misuse" of the word "hopefully" should be punishable with a flogging. We do not follow Christmas tradition - Christmas tradition follows us.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;As a non-Christian and non- religious (but extremely spiritual) Being, I take offense to much of these customs that are seemingly forced upon us during this time of year.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Let’s first point out that Christ wasn’t a Christian- he was Jew. Secondly, I’m all for celebrating Christs’ day of birth except for one small thing: he wasn’t actually born in December. In fact, he was born sometime closer to spring. The Christians actually disguised their celebrations under the auspices of Solstice (a considerably “Pagan” holiday by some standards) in order to avoid persecution.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I find an alarming number (even one would be an alarming number) of non-religious people knocking Christmas for its pagan origins. Why should that not be a good thing in their eyes? Have they lived in a predominately Christian society for so long that "pagan" remains a stinging invective? I would have taken it as a compliment.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;It’s disgusting. Kill nature. Then decorate it. Then throw it away. Oh so American! I am obviously not pro-killing trees for decoration. Tree farms? Still a bad idea.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Tree farms are "still a bad idea"? (am I the only one who hates, "yeah, but still..." arguments?) Next they're gonna start complaining about all those poor tomatoes we kill to make soup and ketchup. Oh, the humanity!&lt;/p&gt;

&lt;p&gt;There are important things to be said about the excesses and imbalances of Christmas. Shopping centre stampedes and flagrant expenditure of fossil fuels are terrible things that should be taken seriously. But no one is going to listen to these important issues when they are surrounded by silly boring complaints about inflatable Santas and the premature commencement of caroling.&lt;/p&gt;

&lt;p&gt;Have a good Boxing Day - and like it! (Gee, I hope I haven't offended any Americans...)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5490356266584557924?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5490356266584557924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/merry-christmas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5490356266584557924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5490356266584557924'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/merry-christmas.html' title='Merry Christmas'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-3087735299070549075</id><published>2009-12-24T00:15:00.000-08:00</published><updated>2009-12-24T00:25:22.678-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bang Science'/><title type='text'>!SCIENCE</title><content type='html'>&lt;img src="http://i47.tinypic.com/24bqnh1.jpg"&gt;
&lt;p&gt;I love sloppy, mouse-drawn web comics. So I made one of my own: &lt;i&gt;!Science&lt;/i&gt; (say "Bang Science").&lt;/p&gt;
&lt;p&gt;Don't expect them often.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-3087735299070549075?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/3087735299070549075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/science.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3087735299070549075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/3087735299070549075'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/science.html' title='!SCIENCE'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i47.tinypic.com/24bqnh1_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4260503494028763511</id><published>2009-12-22T02:17:00.000-08:00</published><updated>2009-12-22T22:56:47.859-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meme Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><title type='text'>Meme Cloud Special: Misfits of Science</title><content type='html'>&lt;p&gt;I was born in the tail end of the 80's, so I missed experiencing most of them firsthand. However, through the magic of reruns and VHS, my childhood could still benefit from large doses of 80's TV, movies, cartoons, and music videos. I've come out the other side with an undying love for all things that capture that glittering 80's style.&lt;/p&gt;
&lt;p&gt;Indiana Jones, Die Hard, Duck Tales, NES games, Phantasy Star, Men Without Hats, MacGyver, Infosoc - the whole decade was made out of awesome (which, in case you've ever wondered what unprocessed awesome looks like as it occurs in nature, it looks &lt;a href="http://i48.tinypic.com/34zwx06.jpg" target="_blank"&gt;a lot like this&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;But there is one 80's TV series in particular that I wish to discuss here - "Misfits of Science". I've just spent the last couple of months working with fellow 80's nut, ThirdBass, constructing a fansite dedicated to the show, &lt;a href="http://scienceofmisfits.blogspot.com" target="_blank"&gt;Science of Misfits&lt;/a&gt;. I must hasten to add that I merely tidied up the HTML and offered a few suggestions - the brilliant retro design, content, and hours of research were Bass's hard work.&lt;/p&gt;
&lt;p&gt;I love so many things about the show: the rocking music selections; the humour, which is often content to slip by in the background or in expertly written cross-wise conversations; the comraderie of the characters, and the coolness of their superpowers; the fact that the show remains &lt;i&gt;about&lt;/i&gt; the characters, and not about their superpowers; and of course, Johnny B, whose red guitar, super speed, signature colour blue, and wariness of water bear a passing resemblance to another one of my favourite characters. ;P&lt;/p&gt;
&lt;p&gt;I could go on about the show itself, but you don't need to hear my trap flapping. Bolt on down to &lt;a href="http://scienceofmisfits.blogspot.com" target="_blank"&gt;Science of Misfits&lt;/a&gt; and check it out for yourself - and if it doesn't put a smile on your face, you have a cold, cold, blackened heart.&lt;/p&gt;
&lt;object width="480" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZAzcuBtRDxg&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZAzcuBtRDxg&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4260503494028763511?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4260503494028763511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/meme-cloud-special-misfits-of-science.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4260503494028763511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4260503494028763511'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/meme-cloud-special-misfits-of-science.html' title='Meme Cloud Special: Misfits of Science'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-5216678711477429948</id><published>2009-12-13T23:33:00.000-08:00</published><updated>2009-12-13T23:48:55.956-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site News'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Sonic Extractor 3&amp;K Mix Update Alert!</title><content type='html'>&lt;img src="http://sites.google.com/site/sonicextractor/sonic-extractor-3-k-mix/SX3K%20logo.png"&gt;
&lt;p&gt;
Just a minor update to &lt;a href="http://sites.google.com/site/sonicextractor/sonic-extractor-3-k-mix" target="_blank"&gt;Sonic Extractor 3&amp;K Mix&lt;/a&gt;, to version 1.2. It now has the ability to view the original Sonic 3 alone object layouts.&lt;/p&gt;
&lt;p&gt;Sonic 3 and Sonic &amp; Knuckles were originally intended to be one epic 32 megabit cartridge (&lt;a href="http://xbox.gamespy.com/articles/654/654750p4.html" target="_blank"&gt;according to Yuji Naka&lt;/a&gt;), but the game was split in half, and the first few levels were released early as Sonic 3.&lt;/p&gt;
&lt;p&gt;By the time Sonic &amp; Knuckles was released, Sonic Team felt like making a few changes to the zone layouts. When Sonic &amp; Knuckles is locked on to Sonic 3, the 6 zones from Sonic 3 are tweaked a bit - sometimes for general ease of play, other times specifically for Knuckles and his new abilities.&lt;/p&gt;
&lt;p&gt;Unfortunately, the object layout data for these two games, locked together or not, is read directly from the ROM, not the RAM. Therefore, Sonic Extractor, which uses savestates to map the zones, has to already know the object layout data. It's built in to the programme, and can't be changed.&lt;/p&gt;
&lt;p&gt;This was a problem, though, when trying to map Sonic 3 alone levels with the unrevised object layouts. No matter what state you used, Sonic Extractor would blithely fill the level using the modified Sonic &amp; Knuckles object data!&lt;/p&gt;
&lt;p&gt;Version 1.2 corrects this problem. The user is now given a choice which version of the zone to view. Now anyone with a taste for minutiae can export both versions of each zone, and get a comprehensive comparison of the changes for the first time!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-5216678711477429948?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/5216678711477429948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/sonic-extractor-3-mix-update-alert.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5216678711477429948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/5216678711477429948'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/sonic-extractor-3-mix-update-alert.html' title='Sonic Extractor 3&amp;K Mix Update Alert!'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-7399663062290491670</id><published>2009-12-08T21:53:00.000-08:00</published><updated>2009-12-10T14:47:25.089-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Sinusoidal Motion</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;
&lt;p&gt;&lt;i&gt;If you haven't
already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code
of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Welcome, Code Ninjas!
&lt;/p&gt;
&lt;p&gt;This time we'll be looking at a simple script that makes
certain
motions look more natural.
&lt;/p&gt;
&lt;p&gt;Imagine you have a platform that you'd like to move back and
forth, a
common element in platformer games. You might use code something like
this:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Create Event:&lt;/h1&gt;
&lt;p&gt;r = 64;&lt;i&gt;//maximum distance in pixels the platform may
travel
from its
origin before reversing direction&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
s = 1/32;&lt;i&gt;//speed of the platforms. The divisor is how many
steps you
wish the platform to take to reach its maximum distance from its
origin.&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Step Event:&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;if&lt;/b&gt; a &lt;i&gt;//moving forward...&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;p += s;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; p &amp;gt;= 1 { p = 1; a
= 0; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&lt;b&gt;else&lt;/b&gt; &lt;i&gt;//...and moving back&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;p -= s;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;b&gt;if&lt;/b&gt; p &amp;lt;= 0 { p = 0;
a = 1; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;x&lt;/strong&gt; = &lt;strong&gt;xstart&lt;/strong&gt; +
r*p;&lt;i&gt;//update
platform's position&lt;/i&gt;&lt;br&gt;
xspeed = &lt;strong&gt;x&lt;/strong&gt;-&lt;strong&gt;xprevious&lt;/strong&gt;;&lt;i&gt;//get
platform's speed in pixels&lt;/i&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;(Note: If this code seems a little overcomplicated, it is
because it
had been purposefully written to be able to make platforms of any speed
and range.)
&lt;/p&gt;
&lt;p&gt;This effect that this code achieves is a platform that moves
away from
its starting point at the specified speed, reaches its maximum
distance, and then immediately reverses direction and trots back to
repeat the process indefinitely. This is the sort of platform you'll
often see in early 8- and 16-bit games.
&lt;/p&gt;
&lt;p&gt;The trouble with this kind of motion is the immediate reversal
of
motion. In one step, the platform can be moving with a speed of +5
pixels, and the in the next, with a speed of -5 pixels. This doesn't
look very realistic, because in reality, most often when something
reverses direction, it has to slow down to a halt, and then begin to
accelerate again.
&lt;/p&gt;
&lt;p&gt;This jerky motion isn't so bad if the platform's "patrol area"
is
bounded by walls at its extremes - then it just looks like the platform
is bouncing off of the walls, and the motion doesn't look too bad. But
if the platform is floating in mid-air, as they often are, there is
nothing that appears to plausibly reverse it, and the motion looks
unnatural.
&lt;/p&gt;
&lt;p&gt;And it's worse than just looking unpleasant. It actually makes
the game
less fair, and less fun. If the player can't tell by some visual cue
when the platform is going to decide to turn around, they have a much
harder time getting the proper timing on their jump. They will have to
use more trial and error, watching the platform make its rounds more
than once before they can confidently make their move.
&lt;/p&gt;
&lt;p&gt;This is almost game-breaking if you want to keep good flow, as
in a
Sonic game. In the Sonic the Hedgehog games for the Mega Drive
(Genesis), almost all platforms not bounded by walls move with a
natural motion - decelerating as they reach their extremes, and
accelerating toward their point of origin as they turn back around.
This allows players to intuit exactly where the platform will be any
time when they first come across it, without patient study of its
entire cycle. This is one of the subtler points about the Sonic the
Hedgehog game, seldom recognised, but it contributes not
insignificantly to the sense of speed that made them popular.
&lt;/p&gt;
&lt;p&gt;Well then, how can we achieve the same effect so that our
platforms
move with a natural motion, rather than an outdated, unrealistic, and
unfair jerky one? Why, with the trusty cosine function, of course!
&lt;/p&gt;
&lt;p&gt;Imagine, now, a platform that - instead of moving simply up
and down,
or left and right - moves in a complete circle, as many do in Sonic and
Mario games. The platform's speed should be uniform, but if we were to
look at just one component of its velocity - say, just the xspeed, or
just the yspeed - we would notice acceleration and retardation of its
speed. Simply imagine looking at the platform's circular path edge on,
instead of face on. It would appear to be moving in a straight line,
but slowing down at the edges and speeding up in the middle, just like
those Sonic platforms we want to emulate.
&lt;/p&gt;
&lt;p&gt;So, in effect, what we want to do is make the platform move in
a circle
- just a really flat circle that might as well be a line. We'd use code
something like this:
&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Create Event:&lt;/h1&gt;
&lt;p&gt;r = 64;&lt;i&gt;//maximum distance in pixels the platform may
travel
from its
origin before reversing direction (radius of the circle)&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
s = 180/32;&lt;i&gt;//speed of the platforms. The divisor is how many
steps you
wish the platform to take to reach its maximum distance from its
origin. (This time we use 180, not 1, because we'll be using degrees.)&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Step Event:&lt;/h1&gt;
&lt;p&gt;a += s;&lt;br&gt;
&lt;b&gt;if&lt;/b&gt; a &amp;gt;= 360 a -= 360;&lt;br&gt;
&lt;i&gt;//alternatively the preceding two lines could be 'a = (a+s)
mod 360;'.&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;i&gt;//also, here we don't need to use two states, forward and
back, because
the circular motion takes care of that for us automatically.&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;x&lt;/strong&gt; = &lt;strong&gt;xstart&lt;/strong&gt; +
r*&lt;em&gt;cos&lt;/em&gt;(&lt;em&gt;degtorad&lt;/em&gt;(a));&lt;i&gt;//update
platform's position&lt;/i&gt;&lt;br&gt;
xspeed = &lt;strong&gt;x&lt;/strong&gt;-&lt;strong&gt;xprevious;&lt;/strong&gt;&lt;i&gt;//get
platform's speed in pixels&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;To make the platform move vertically, we can just replace all
the
references to x and make them y. Or, to make it actually move in a
perceptible circle, we can have both sets of lines. By using a
different range value for both x and y, you can squash the circle into
any sort of ellipse you want - for example, a circle that is twice as
wide as it is tall:
&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Create Event:&lt;/h1&gt;
&lt;p&gt;xr = 64;&lt;br&gt;
yr = 32;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Step Event:&lt;/h1&gt;
&lt;p&gt;&lt;i&gt;//...&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;x&lt;/strong&gt; = &lt;strong&gt;xstart&lt;/strong&gt; +
xr*&lt;em&gt;cos&lt;/em&gt;(&lt;em&gt;degtorad&lt;/em&gt;(a));
xspeed = &lt;strong&gt;x&lt;/strong&gt;-&lt;strong&gt;xprevious&lt;/strong&gt;;&lt;br&gt;
&lt;strong&gt;y&lt;/strong&gt; = &lt;strong&gt;ystart&lt;/strong&gt; -
yr*&lt;em&gt;sin&lt;/em&gt;(&lt;em&gt;degtorad&lt;/em&gt;(a));
yspeed = &lt;strong&gt;y&lt;/strong&gt;-&lt;strong&gt;yprevious&lt;/strong&gt;;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Remember to subtract the sine for y, and add the cosine for x,
otherwise instead of moving circularly, it'll just move in a smooth
diagonal - which is actually another useful effect you might want to
achieve.
&lt;/p&gt;
&lt;p&gt;Well, that about does it for platforms, but the power of
sinusoidal
motion goes far beyond. There are other applications, and for just such
an example, I'll use the purpose for which I first I needed it myself.
&lt;/p&gt;
&lt;p&gt;In games like Phantasy Star, when you talk to townsfolk or
shopkeepers,
their dialogue appears on the screen inside of bordered window, or a
'text box'. In most games, the text boxes appear on the screen
gradually, either opening up, dropping down, or fading in.
&lt;/p&gt;
&lt;p&gt;I wanted this animation to appear smoother, so I thought
perhaps I
could apply sinusoidal motion as the solution. But there was a slight
hitch.
&lt;/p&gt;
&lt;p&gt;Imagine you want to fade in a window, from an alpha of 0
(invisible) to
an alpha of 1 (fully opaque). You could simply add 0.1 for ten steps,
but that wouldn't look very smooth. How about, instead, we use a sine
function.
&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;p&gt;step = 18;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;for&lt;/b&gt; {a=0;a&amp;lt;=180;a+=step}&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;alpha = &lt;em&gt;sin&lt;/em&gt;(&lt;em&gt;degtorad&lt;/em&gt;(a));&lt;br&gt;
&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Well, clearly this won't work. The value of alpha will go from
0 (the
sine of angle 0), accelerate toward 1 (the sine of angle 90) and
decelerate back to 0 again (the sine of angle 180). The text box
wouldn't fade in, it would fade in and back out again just as quickly!
This obviously isn't what we want.
&lt;/p&gt;
&lt;p&gt;But why not just use 90, instead of 180, so that alpha will
stop at 1,
thereby fading the text box in how we want it? Well, in that case, the
fade would start smoothly, but stop abruptly. I wanted it to both start
and stop smoothly.
&lt;/p&gt;
&lt;p&gt;I needed some way to have the alpha value "move" like a
half-circle
(slow start and stop), but only "traverse" a quarter-circle (start at 0
and end at 1).
&lt;/p&gt;
&lt;p&gt;So I made a script, called it 'sinusoidal()', and this is the
function
I used:
&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;sinusoidal()&lt;/h1&gt;
&lt;p&gt;&lt;i&gt;//argument0: any value between 0 and 1&lt;/i&gt;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;return&lt;/b&gt; (&lt;em&gt;cos&lt;/em&gt;(&lt;em&gt;degtorad&lt;/em&gt;(180-(180*&lt;strong&gt;argument0&lt;/strong&gt;)))+1)/2;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Now, sinusoidal motion can be employed
anywhere by calling the
script.
The text box fade code ends up looking something like this:
&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;p&gt;step = 0.1;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;for&lt;/b&gt; {a=0;a&amp;lt;=1;a+=step}&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;alpha = &lt;em&gt;sinusoidal&lt;/em&gt;(a);&lt;br&gt;
&amp;nbsp;&amp;nbsp;}
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This little script can be very versatile.
You can use it to
slide logos
or menus onto the screen. You could use for flashing lights for
smoother look. You could use it to animate a pendulum. You could even
use it to make your character push a block (as Link does in the Zelda
games) with a less abrupt and better looking motion. And with clever
modification, who knows to what ends a Code Ninja might put it to.
&lt;/p&gt;
&lt;p&gt;For an example GMK illustrating the
difference between normal
and
sinusoidal motion in several types of movement and animation (flashing,
shrinking, swinging, sliding), click &lt;a href="http://host-a.net/MercurySilver/CotN%20-%20Sinusoidal%20Motion.gmk"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;Next time we'll be looking deeper into
text boxes - how to
make the
text type out, change the text speed, and more. Until then, happy
coding, Code Ninjas, and happy holidays, too!
&lt;/p&gt;
&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you
do! Just drop me a comment below, or e-mail me at
&lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-7399663062290491670?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/7399663062290491670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/code-of-ninja-sinusoidal-motion_08.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7399663062290491670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/7399663062290491670'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/12/code-of-ninja-sinusoidal-motion_08.html' title='Code of the Ninja: Sinusoidal Motion'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4444324919986764843</id><published>2009-11-16T01:16:00.000-08:00</published><updated>2009-12-08T21:34:14.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Hedgehog-Headed?</title><content type='html'>&lt;p&gt;One of my favourite subjects is etymology. I was reading the
dictionary
recently, and came across a little tidbit that caught my fancy, and I
thought I'd share it.
&lt;/p&gt;
&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;caprice&lt;/span&gt;&lt;br&gt;&lt;br&gt;
n&lt;br&gt;
1. &lt;span style="font-weight: bold;"&gt;impulsive tendency:&lt;/span&gt;
a tendency to sudden impulsive decisions or changes of mind&lt;br&gt;
2. &lt;span style="font-weight: bold;"&gt;sudden change or
action:&lt;/span&gt; a sudden unexpected action or change of mind&lt;br&gt;
3. &lt;span style="font-weight: bold;"&gt;whim:&lt;/span&gt; a
sudden idea, impulsive decision, or change of mind&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;Well, it's not too far a stretch to describe Sonic the
Hedgehog,
especially as the modern Sega portrays him, to on occasion be taken by
caprice. So I was amused to read the etymology:
&lt;/p&gt;
&lt;blockquote style="font-style: italic;"&gt;[Mid-17th century.
Via French from Italian &lt;span style="font-weight: bold;"&gt;capriccio&lt;/span&gt;,
literally "head with hair standing on end," from &lt;span style="font-weight: bold;"&gt;capo&lt;/span&gt; "head" (from
Latin &lt;span style="font-weight: bold;"&gt;caput&lt;/span&gt;)
and &lt;span style="font-weight: bold;"&gt;riccio&lt;/span&gt;
"hedgehog" (from Latin &lt;span style="font-weight: bold;"&gt;(h)ericius&lt;/span&gt;)...]&lt;br&gt;&lt;br&gt;
&lt;span style="font-size: 78%;"&gt;Encarta ® World English
Dictionary © &amp;amp; (P) 1998-2004 Microsoft Corporation. All rights
reserved.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;So, someone who is capricious is literally "hedgehog headed". It's a
funny language we speak!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4444324919986764843?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4444324919986764843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/hedgehog-headed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4444324919986764843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4444324919986764843'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/hedgehog-headed.html' title='Hedgehog-Headed?'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-895248217963986449</id><published>2009-11-14T22:20:00.000-08:00</published><updated>2009-12-08T21:35:05.208-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Sonic the Hedgehog'/><title type='text'>Game Review: Sonic Boom</title><content type='html'>&lt;p&gt;There's a new hack on the Sonic scene - &lt;a href="http://info.sonicretro.org/Sonic_Boom_%28hack%29"&gt;Sonic
Boom&lt;/a&gt;. It's been three years in the making, the brainchild of
snkenjoi and iojnekns, with music by Tweaker and a host of others.
It's not finished - it's only a single zone demo, but it's a big
release for the community and deserves a full review.
&lt;/p&gt;&lt;p&gt;The first thing I did after firing it up was to check out the Sound
Test. I was met by a bevy of expertedly ported songs, mostly from the
Megaman X Series, and a kickass (if a little wandering) original
composition by Tweaker. The best of all, though, has to be the 16-bit
versions of the "Sonic Boom" vocal tracks from the North American Sonic
CD sountrack. Both the intro and outro versions are included, and they
simply shine.
&lt;/p&gt;&lt;p&gt;Then I returned to the intro to check out the game itself. I have to
lodge a minor complaint here about the two options on the intro screen,
though. Since there are only two, there is no way to tell which is
highlighted and which is not - like all those bad DVD menus we have to
struggle with. I would have assumed the lighter colour to be the
selected item, but it wasn't. Furthermore, since the game remembers
where you left the "cursor", and I wasn't expecting this, I went
straight back to the Sound Test by accident when trying to start the
game. I'll let this slide, though, since the finished version will most
likely have more than two options here.
&lt;/p&gt;&lt;p&gt;Now for the game - or rather, the zone: Power Plant Zone.
&lt;/p&gt;&lt;p&gt;First, the art:
&lt;/p&gt;&lt;p&gt;I have to be honest here and say that I'm disappointed by the visuals.
The foreground art is nice enough, and so is the background art - but
together they create a colour scheme I'm not sure works at all. It's
generally not a good idea to have all three primary colours in the same
scheme, and the addition of both bright whites and dark greys doesn't
help matters.
&lt;/p&gt;&lt;p&gt;Sonic's sprites are slightly better, but I have a few beefs with
them,
as well. For one, I think he's too dark, especially for the dark
background of the zone. Also, I've never been a fan of the green eyes.
On the more technical side of things: because he faces away from you
when he takes damage, and he remains facing straight ahead (instead of
looking at you) when he enters his waiting animation, he loses some of
the expressiveness, and therefore appeal, that the original Sonic had.
A distant, uninterested looking Sonic with low contrast in the eyes and
face can throw a pall over the whole thing, breaking your connection
with the character on the screen, and thereby your engagement in the
game. This is why I've always preferred the Sonic 1/CD style sprites to
the Sonic 3&amp;amp;K ones. I'm not advocating replacing Sonic Boom's
sprites with Sonic 1's - I like the fact that they're different - but I
do think that he needs to be a little more expressive and attitudinous.
Also, the raised arms in the springing animation look retarded, but
that rounds out my criticisms for the sprites. To end on a positive
note, I like the way the kicking animations look, and the combination
of Advance style sprites with the classic set is clever and rather
seamlessly executed.
&lt;/p&gt;&lt;p&gt;The bosses look absolutely fantastic, though. The shading is very well
done, but of course they're perfectly round, so we'll just have to wait
and see if later, more complex bosses come out as nice.
&lt;/p&gt;&lt;p&gt;And now, the gameplay:
&lt;/p&gt;&lt;p&gt;One of the first things to be learned about Sonic Boom is that there
are new moves for Sonic to perform. And unlike a lot of hacks, you'll
be needing - and in fact, &lt;i&gt;wanting&lt;/i&gt; - to use them.
&lt;/p&gt;&lt;p&gt;The Super Peel Out and Spindash have been included, which is pretty
standard, but also pretty nice, and Sonic now has a double jump (much
like the Electric Shield affords him in Sonic 3&amp;amp;K, only it
takes him higher).
&lt;/p&gt;&lt;p&gt;Then there is a class of moves that require Rings to perform. Sonic can
shoot straight downward by pressing Down after jumping, which costs one
Ring. This is a cool move, related to the Bounce from Sonic Advance 2
and Sonic Adventure 2, only without the rebound at the end. I like it,
but I'm annoyed that it only takes a press of the D-pad. This causes it
to happen accidentally, which is never good when trying to clear a pit
of spikes. I would like it a lot more if you had to hold down and press
A, B, or C.
&lt;/p&gt;&lt;p&gt;Rounding out the Ring consuming moves are two types of Air Kick. One
sends Sonic flying horizontally, costing 5 Rings, and dealing damage to
enemies. The other is much like the first, only it sends Sonic
diagonally towards the floor, and costs but 2 Rings. The great thing
about this downward kick is that Sonic hits the ground running at close
to top speed. It is a much more satisfying way of gaining speed than
the Spindash or Super Peel Out, as long as you can spare the Rings.
&lt;/p&gt;&lt;p&gt;Incidentally, I had envisioned a downward kick as a way to gain speed
long ago, so I'm happy to see someone finally using a similar idea. I
had come up with it because of Sonic Chaos. In Sonic Chaos, Sonic can
do the Strike Dash (which is much like the Super Peel Out, only he is
briefly invulnerable as he launches). Tails can Fly, but in order to
make Sonic and Tails have similar controls, he must now hold Up and
press the button to do so. This sucks (mainly because he can only start
to fly from a standstill), but the idea of making Sonic and Tails
perform their iconic abilities in the same way was intriguing. In Sonic
3&amp;amp;K, both Tails and Knuckles do their special abilities by
jumping and pressing the button a second time. Sega had to give Sonic a
comparable ability, and introduced the Insta-Shield. Now, some people
don't give a fig for the Insta-Shield (I like it though), and one might
want Sonic to have a more speed-oriented ability anyway. So I thought
the Super Peel Out could be redesigned as an aerial ability, like
Tails' and Knuckles', and that led to the speed-gathering dropkick
idea.
&lt;/p&gt;&lt;p&gt;Anyway, the move works very well and makes the game fun to play. Which
brings me to the level layout. The layout is a strong point. It reminds
me of the best speed levels from Sonic 2 and 3&amp;amp;K, like Chemical
Plant or Flying Battery, and I suppose that's high enough praise.
&lt;/p&gt;&lt;p&gt;They're just long enough, and don't drag, and you don't get lost. They
also have to have the best sense of speed I've ever encountered in a
fan game, and very nice loop structures. I'm not sure I'm wild about
the "clear the room of badniks" parts, but they aren't nearly as
onerous as the ones in Sonic Rush and don't mar the experience.
&lt;/p&gt;&lt;p&gt;Well, what about the badniks? I counted four types on my way through,
and they're all great. The challenge is higher than the Mega Drive
games, but I think that was supposed to be the point. The best part
about them is that they encourage the use of the new moves, which helps
the game feel coherent, rather than a bag of ideas the developers just
want to fit in.
&lt;/p&gt;&lt;p&gt;Which brings us to the Bosses. The boss in Act 1 is absolutely
brilliant. It too encourages the new moves, is challenging yet
beatable, and has damage modelling, which is always cool. The Act 2
Boss, however, has a few technical glitches, and is significantly
harder. I probably don't play enough Megaman, and my skills are
atrophied, but this is like the Metropolis boss (my personal bugbear),
only reimagined by a sadistic Dr Wily on LSD. Don't get me wrong, I
like the boss, and am awed by the proficiency of the programming. I do
however think that the choice to make Sonic invincible after hitting it
(sort of like what happens when Sonic is hit) indicates that it may not
be as balanced as it should be.
&lt;/p&gt;&lt;p&gt;After defeating the Boss, and "surviving" Act 2, we are treated to a
real surprise. Act 3, where Sonic has to high-tail it out of the plant
with a wall of onrushing flame hot on his heels (pun intended). Again,
my twitch gaming skills - underdeveloped as they are - conspire to let
me down, but the concept is awesome.* It may sound strange for me,
then, to advocate making it &lt;i&gt;even harder&lt;/i&gt;, but I
think that the edge of the flame should probably kill Sonic
immediately. I suppose there might be some perspective or parallax
going on, but it seems weird to be halfway into a wall of flame before
you finally decide to die.
&lt;/p&gt;&lt;p&gt;* &lt;i&gt;It reminds me of &lt;a href="http://www.pixeljam.com/dinorun/"&gt;Dino Run&lt;/a&gt;,
which by coincidence I had played mere days before Sonic Boom. I'm not
pointing fingers (after all, I think good ideas &lt;/i&gt;should&lt;i&gt;
be reused), but I am curious for curiousity's sake if inspiration was
drawn from Dino Run, or perhaps they both share a common memetic
ancestor.&lt;/i&gt;
&lt;/p&gt;&lt;p&gt;Upon completion of Act 3 are credits (set to the aforementioned 16-bit
remix of Sonic Boom) with a welcome "Cast of Characters" scroll
showcasing the enemies, in the tradition of Kirby, Mario World, and
Mean Bean Machine.
&lt;/p&gt;&lt;p&gt;Overall, Sonic Boom is fun, sounds great, and is a technical
juggernaut. With some spit and polish on the visuals, it could carve
its way into the pantheon of Sonic Hackdom. I eagerly await the next
demo. Good work guys, and &lt;i&gt;ganbatte!&lt;/i&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-895248217963986449?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/895248217963986449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/game-review-sonic-boom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/895248217963986449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/895248217963986449'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/game-review-sonic-boom.html' title='Game Review: Sonic Boom'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-6372507303912778504</id><published>2009-11-13T00:08:00.000-08:00</published><updated>2009-12-10T14:49:23.467-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code of the Ninja'/><title type='text'>Code of the Ninja: Watchers</title><content type='html'>&lt;style&gt;
.code { border: 1px solid #A7A6AA;
background: #FFFFFF;
width: 80%;
margin: 16px 0 16px 0;
padding: 0 0 8px 0;
}
.code p { font-family: 'Lucida Console', unispace;
font-size: 10pt; color: black;
margin: 0;
padding: 0 4px 0 4px;
line-height: 1.25em;
}
.code p i { font-family: 'Tahoma', sans-serif;
color: #808080;
}
.code p em { color: navy;
font-style: normal;
}
.code p strong { color: blue;
font-weight: normal;
}
.code h1 { font-family: 'Tahoma', sans-serif;
color: black;
font-size: 10pt;
font-weight: normal;
background: #EBE9ED;
border-bottom: 1px solid #A7A6AA;
margin: 0 0 8px 0;
padding: 4px;
}
&lt;/style&gt;
&lt;p&gt;&lt;i&gt;If you haven't already, read the &lt;a href="http://intheshadeofawave.blogspot.com/2009/08/code-of-ninja-introduction.html"&gt;Code
of the Ninja: Introduction&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Welcome, Code Ninjas!
&lt;/p&gt;
&lt;p&gt;Today I have a simple fix for something that bugged me about
Game
Maker. First, let me tell you about the problem, and then I will move
on to the solution.
&lt;/p&gt;
&lt;p&gt;Many times I would be running my game, and realise that there
was some
variable I needed to know the value of. Game Maker allows you to list
the values of variables that you specify in a readout, but only when
running in Debug Mode.
&lt;/p&gt;
&lt;p&gt;The trouble is, once you are already running your game, there
is no way
to dynamically switch to Debug Mode. You have to close the game, and
run it again. This is kind of an annoyance, because compile time can
get quite lengthy.
&lt;/p&gt;
&lt;p&gt;So, I thought, is there any way to have a list of "watchers"
built into
the game, that I can invoke and dismiss at will?
&lt;/p&gt;
&lt;p&gt;At first I used a simple method that worked much like any HUD
(heads up
display) in a video game. The values I needed to keep an eye on were
just printed on the screen. This was fine and all, but there was no
good way to add to it while the game was running. Game Maker's built in
Debug Mode allows you to add watchers at any time.
&lt;/p&gt;
&lt;p&gt;Then I got the idea to - instead of printing out the values of
a fixed
set of variables - read the variables from a ds_list.
&lt;/p&gt;
&lt;p&gt;This ds_list would contain a series of strings, each of which
would
contain the name of the variable to watch (mouse_x, image_speed, etc).
By right-clicking the list, I would bring up an input box that would
let me add a new variable name to the ds_list.
&lt;/p&gt;
&lt;p&gt;How can you read the value of a variable by its name? Game
Maker
helpfully includes the functions variable_local_get(), and
variable_global_get(), which take as their only argument the variable's
name in string format, and return the value of the variable.
&lt;/p&gt;
&lt;p&gt;However, there are still issues with this method. A) You can
only
return the contents of variables, not expressions. This means you can
print out the value of mouse_x and things like that, but never the
value of instance_nearest(PlayerObj), and other such useful functions.
B) You can't tell whether a variable is global or local, a constant, or
part of an array, so you're pretty much screwed.
&lt;/p&gt;
&lt;p&gt;But then I had the brainwave. Instead of using
variable_local_get() and
its ilk, I'd use the execute_string() command!
&lt;/p&gt;
&lt;p&gt;Using this method, the ds_list could be filled with strings
containing
variable names, expressions, anything - using the identical syntax as
the Game Maker Debug Mode watchers use. In fact, I could even save and
load the strings to TXT documents in the same format, making them fully
compatible with Game Maker's normal Debug Mode.
&lt;/p&gt;
&lt;p&gt;When drawing the watchers onto the screen, all I have to do is
read the
strings from the list. Then, I use the execute_string() command to
perform the string as if it were code. By prepending "return" and a
space before the string when I do this, execute_string() will return
the value, which can be then drawn on the screen.
&lt;/p&gt;
&lt;p&gt;Code will demonstrate this better:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;p&gt;&lt;i&gt;//a for loop that steps through the whole list&lt;/i&gt;&lt;br&gt;
&lt;b&gt;for&lt;/b&gt; (t=0;t&amp;lt;&lt;em&gt;ds_list_size&lt;/em&gt;(watchlist);t+=1)&lt;br&gt;
&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//the code string in
the list to be executed&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;r = &lt;em&gt;ds_list_find_value&lt;/em&gt;(watchlist,t);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//align
the text to the left&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;draw_set_halign&lt;/em&gt;(&lt;span style="color: maroon;"&gt;fa_left&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//print the code - this
is how you'll identify the watcher&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;draw_text&lt;/em&gt;(8,8+16*t,r+":");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//return
the result of the watcher&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;r = &lt;em&gt;execute_string&lt;/em&gt;("return
"+r);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//align the
text to the right&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;draw_set_halign&lt;/em&gt;(&lt;span style="color: maroon;"&gt;fa_right&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;//print the result of the
watcher&lt;/i&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;em&gt;draw_text&lt;/em&gt;(192,8+16*t,r);&lt;br&gt;
&amp;nbsp;&amp;nbsp;}
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Now we have a watcher display that's just as nice as the
Game Maker one. With a little bit of polish, you can add functions for
adding, removing, replacing, and editing watchers from the list, as
well as saving and loading lists to TXT documents.
&lt;/p&gt;
&lt;p&gt;For Code Ninjas who may need a working example to make sense
of all
this, here is a &lt;a href="http://host-a.net/MercurySilver/CotN%20-%20Watchers.zip" target="_blank"&gt;zip file&lt;/a&gt; which contains a GMK
example and a sample TXT document of watchers.
&lt;/p&gt;
&lt;p&gt;Happy coding!
&lt;/p&gt;
&lt;p&gt;&lt;i&gt;If you use my code or scripts in your game or engine, no credit is necessary. But I'd love to hear about your project if you do! Just drop me a comment below, or e-mail me at &lt;a href="mailto:us.mercurysilver@gmail.com"&gt;us.mercurysilver@gmail.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-6372507303912778504?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/6372507303912778504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/code-of-ninja-watchers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6372507303912778504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/6372507303912778504'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/code-of-ninja-watchers.html' title='Code of the Ninja: Watchers'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-4074693540792414081</id><published>2009-11-03T18:11:00.000-08:00</published><updated>2010-07-08T03:16:54.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><title type='text'>Only a Theory?</title><content type='html'>&lt;p&gt;I began my last post with this sentence:
&lt;/p&gt;&lt;blockquote&gt;Sadly, there are those who deny the fact of
evolution....&lt;/blockquote&gt;
&lt;p&gt;Before I even leave the starting gate, many creationist readers will
have already snorted in disgust and stopped reading, merely because of
my use of the word "fact", instead of "theory". Why did I not use the
word "theory"? To be perfectly honest, I used "fact" because Richard
Dawkins does, and I admire his forthrightness. But I had a deeper
reason, too - and I think it is the same reason that Dawkins chooses to
use "fact" as well (and it's not because we happen to believe in its
veracity).
&lt;/p&gt;&lt;p&gt;It is because the word "theory" causes unnecessary confusion.
&lt;/p&gt;&lt;h3&gt;What is a theory?&lt;/h3&gt;
&lt;p&gt;Many would here quote definitions from major dictionaries, trying to
make a point about how "theory" has been watered down with a second
connotation. I'm not going to, because others have already done the job
admirably. Anyone who doesn't know the distinction between the two
meanings has only to spend one or two minutes in the culture of
evolution and its deniers to learn it.
&lt;/p&gt;&lt;p&gt;Instead, I'm going to point something out that should be obvious, but
apparently isn't to some. A theory is manmade. It is similar to a book,
a song, or even a religion. It is a group of cohesive ideas, knowledge,
and descriptions about a subject. But it is made of language, and
doesn't actually exist in the strong sense.
&lt;/p&gt;&lt;p&gt;However, theories are usually about things that exist (but not always).
The things a theory is about, and the theory itself, are discrete. One
should not be confused with the other. This is not an overly subtle
point - it's about as obvious as saying that we should not confuse the
dark side of the moon*, and the Pink Floyd album, &lt;i&gt;Dark Side
of the Moon&lt;/i&gt;.
&lt;/p&gt;&lt;p&gt;* &lt;i&gt;which, like the night side of the Earth, is not always the
same side, unless you take "dark" to mean "unseen until mankind
launched probes".&lt;/i&gt;
&lt;/p&gt;&lt;h3&gt;Is evolution a theory?&lt;/h3&gt;
&lt;p&gt;Well, yes, if you are being colloquial or elliptical. The word
"evolution" is popularly used to refer to what should more properly be
called the "modern evolutionary synthesis". It is also used to refer to
Darwin's theory of natural selection. It is shorthand, though, and
whenever one uses a shorthand term, things can get confusing. For
instance, if you took "evolution" to mean Lamarck's theory of
inheritance of acquired characters, "evolution" would be false.
So, I wouldn't strictly call "evolution" a theory, anymore than I would
call "light" a theory. There are theories &lt;i&gt;about&lt;/i&gt;
evolution, and about light, but evolution is a process and light is...
well, ask a physicist.
&lt;/p&gt;&lt;p&gt;By a quirk of language and history, the theory of evolution has come to
be called simply "evolution". This has not happened in other cases,
such as with light or gravity. But evolution is a process, which either
happens or doesn't, in the real world.
&lt;/p&gt;&lt;p&gt;You would never hear someone say, "Evolution isn't a fact! It's a
word!" But the "only a theory" argument amounts to about as much.
This is why I didn't say "theory". Theories are incomplete, and some,
like Lamarck's, are demonstrably false. Even Intelligent Design is a
theory of evolution, and I deny &lt;i&gt;it&lt;/i&gt;.
&lt;/p&gt;&lt;p&gt;Evolution is a fact of history. Those who take advantage of the
"theory" canard have either not learnt enough about the subject or are
being willfully obscurantist. I like to think the former, because then
the problem is remediable.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8708547959553815878-4074693540792414081?l=intheshadeofawave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intheshadeofawave.blogspot.com/feeds/4074693540792414081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/only-theory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4074693540792414081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8708547959553815878/posts/default/4074693540792414081'/><link rel='alternate' type='text/html' href='http://intheshadeofawave.blogspot.com/2009/11/only-theory.html' title='Only a Theory?'/><author><name>Mercury</name><uri>http://www.blogger.com/profile/09569022088574033458</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-B-m2DtdDjYc/TqpR37hOwcI/AAAAAAAAAIc/DslREYdhs5Y/s220/2011-10-27%2B17.54.08-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8708547959553815878.post-8791256348603450591</id><published>2009-10-29T01:04:00.000-07:00</published><updated>2010-07-08T03:16:10.087-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='Atheism'/><category scheme='http://www.blogger.com/atom/ns#' term='Rants'/><category scheme='http://www.blogger.com/atom/ns#' term='Pernicious Fallacies'/><title type='text'>The History Deniers</title><content type='html'>&lt;p&gt;Sadly, there are those who deny the fact of evolution - 130
million of them in the US alone, according to a &lt;a href="http://www.gallup.com/poll/21814/evolution-creationism-intelligent-design.aspx" target="_blank"&gt;recent Gallup poll&lt;/a&gt;. These "history
deniers" (an apt designation I'll borrow from Richard Dawkins) remain
unconvinced by the veritable mountain of evidence for evolution, a
mountain which grows day by day. Recent books, such as Jerry Coyne's &lt;a href="http://www.amazon.com/Why-Evolution-True-Jerry-Coyne/dp/0670020532" target="_blank"&gt;&lt;i&gt;Why Evolution is True&lt;/i&gt;&lt;/a&gt;
or Richard Dawkins' &lt;a href="http://www.amazon.com/Greatest-Show-Earth-Evidence-Evolution/dp/1416594787" target="_blank"&gt;&lt;i&gt;The Greatest Show on Earth&lt;/i&gt;&lt;/a&gt;
- though triumphs of reason and lucidity - will hardly make a dent in
the legions of the history deniers, the "unsinkable rubber ducks" (to
borrow James Randi's delightful phrase). It will take a greater
concerted effort than just a couple of bestsellers to turn the tide,
and it's up to us laypeople to do our bit, too.&lt;/p&gt;
&lt;p&gt;Hence this edition of &lt;i&gt;Pernicious Fallacies&lt;/i&gt;.
In it, I shall be addressing dyed-in-the-wool creationists - the
persuasion that believe that the Earth was created in 6 days less than
10,000 years ago, and that all modern species of animal, including
humans, were created in their present form before God took His
well-deserved day off. I shall &lt;i&gt;not&lt;/i&gt; be addressing
the more "sophisticated" proponents of ID (Intelligent Design), who
actually believe in evolution, albeit a gimped kind of evolution,
helped along at crucial junctures by a God who was apparently too lame
to get it right in the first place. Whatever percentage of you are
already down with Darwin, feel free to stop reading now.&lt;/p&gt;
&lt;h3&gt;From Wolf to Poodle&lt;/h3&gt;
&lt;p&gt;Yes, I'm bringing up the tired old dog breeding argument. I'm
fully aware of the creationist counterargument, but bear with me,
because I have a twist on it.&lt;/p&gt;
&lt;p&gt;Selective breeding of animals with the intent to exaggerate
desired traits over successive generations, or "artificial selection",
is well known and well documented. Even history deniers comfortable
with dismissing the fossil, molecular, and distributional evidence for
natural selection would think twice before denying the comparatively
recent historical evidence for artificial selection. A good example of
what artificial selection can achieve in a short span of time is the
modern banana. Though there are &lt;a href="http://www.youtube.com/watch?v=2z-OLG0KyR4" target="_blank"&gt;those who believe the banana was designed by
the Almighty Himself&lt;/a&gt;, I'd like to think these people are
embarrassments even to creationists.&lt;/p&gt;
&lt;p&gt;At the core of it, all Darwin and modern Darwinists are
claiming is that Nature, as well as Man, can act as a selective
breeder, through the non-random survival (and more specifically,
reproductive success) of individuals, and that this "natural selection"
is responsible for all the diverse life we see around us.&lt;/p&gt;
&lt;p&gt;Where creationists have trouble is with that last bit. The
difference between breeds of dog, or cabbage, while oftentimes
spectacular, pales in comparison to the difference between a dog and
giraffe, a cabbage and a tree, or even a human and an ape. Thus they
find it hard to imagine these tiny gradations ever leading to all the
diversity of life we see around us, from the tiniest microbe to the
blue whale. Evolutionists, when trying to help them see how this could
in fact be the case, often say something like, "if you can turn a wolf
into a poodle in a few centuries, imagine what great change could be
wrought in a billion years!" A &lt;i&gt;billion&lt;/i&gt; years. It's
no wonder the evolutionists find it so easy to accept a single-celled
organism giving rise to all life on Earth, no matter how complex it
appears - look at the time they have to work with! But creationists,
sadly, haven't the luxury. They don't have more than a hundred
centuries to work with - and it's a bit confining, but it's what
they're stuck with.&lt;/p&gt;
&lt;p&gt;Thus creationists accept (as they must) that artificial
selection works, but only up to a point. "You can create variations of
dogs and cabbages with the process," they'll concede, "but you'll never
make a new &lt;i&gt;species&lt;/i&gt;. Only God can do that." There's
always the matter of the definition of "species", which began as
scientific terminology and should remain thus, and should not be used
to mean "groups of animals so obviously different I can tell them
apart". But let's leave that to the side, as it really doesn't matter
for our purposes here.&lt;/p&gt;
&lt;h3&gt;Creationist's Evolution&lt;/h3&gt;
&lt;p&gt;So let's, just for the sake of argument, concede 
