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

<channel>
	<title>TASTES LIKE ROGERS</title>
	<atom:link href="http://tasteslikerogers.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://tasteslikerogers.com/blog</link>
	<description>The Blog</description>
	<lastBuildDate>Fri, 12 Feb 2010 17:07:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Lazy Man&#8217;s Guide to Programming</title>
		<link>http://tasteslikerogers.com/blog/?p=38</link>
		<comments>http://tasteslikerogers.com/blog/?p=38#comments</comments>
		<pubDate>Fri, 12 Feb 2010 02:12:18 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=38</guid>
		<description><![CDATA[Here is the most useful information I know, condensed and explained.
A computer is&#8230;

Processors &#8211; to move and transform information
Memory &#8211; to store information to be moved or transformed
Devices &#8211; to pass information in and out (Display, Keyboard, Network Cards, Storage Devices)

How does a computer store information?

 Memory is a huge line of &#8220;bits&#8221;
 Each bit [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the most useful information I know, condensed and explained.</p>
<p><strong>A computer is&#8230;</strong></p>
<ul>
<li>Processors &#8211; to move and transform information</li>
<li>Memory &#8211; to store information to be moved or transformed</li>
<li>Devices &#8211; to pass information in and out (Display, Keyboard, Network Cards, Storage Devices)</li>
</ul>
<p><strong>How does a computer store information?</strong></p>
<ul>
<li> Memory is a huge line of &#8220;bits&#8221;</li>
<li> Each bit is a tiny device that can hold a high or low electric charge.</li>
<li> A bit can represent two possible numbers: zero (low charge) or one (high charge).</li>
<li> Two bits can represent four possible numbers (00, 01, 10, 11), three bits have eight possible values, and so on&#8230; for N bits there are 2^N possible values.</li>
<li> A number value can be represented using any &#8220;base&#8221;. Base-2, or binary is useful because each digit corresponds to a bit.</li>
<li> Base-16, or hexadecimal, is also common because each digit corresponds to four bits (four bits has sixteen possible values).</li>
<li> A computer may interpret numbers as characters (see ASCII), display color values, position coordinates, or anything&#8230;</li>
<li> For signed numbers a bit is reserved for the sign value. For non-integer numbers, bits are divided into sign, base, and exponent (called &#8220;Floating-Point&#8221;).</li>
<li> Modern computers work in groups of 32 or 64 bits, meaning that each variable has a range of 2^32 or 2^64 possible values.</li>
<li> Each &#8220;byte&#8221; or 8-bit chunk of memory has a number identifier or &#8220;address&#8221;.</li>
</ul>
<p><strong>How does the processor process?</strong></p>
<ul>
<li> A processor reads a list of instructions (or program) from memory and performs them in order.</li>
<li> Most instructions can only operate on a specific kind of memory called the &#8220;registers&#8221;.</li>
<li> There are typically sixteen-ish registers, where each is 32 or 64 bits.</li>
<li> An instruction is represented as:
<ul>
<li>A number, or &#8220;op code&#8221;, that corresponds to an operation</li>
<li>A sequence of numbers which correspond to registers, memory addresses, or whatever &#8211; their meaning changes by operation.</li>
</ul>
</li>
<li> Instructions are often represented as &#8220;Assembly Language&#8221;. Some typical assembly might look like:</li>
</ul>
<blockquote></blockquote>
<blockquote><p>MOV AX, BX</p>
<blockquote><p>Move &#8211; Copy the value stored in register BX to register AX.</p></blockquote>
<p>ADD AX, BX</p>
<blockquote><p>Add  &#8211; Add the value stored in register BX to the value stored in register AX, and store the result in register AX.</p></blockquote>
<p>LOAD AX, DX</p>
<blockquote><p>Load &#8211; Copy a value from memory into register AX, where the memory address is stored in registered DX.</p></blockquote>
<p>JMP DX</p>
<blockquote><p>Jump &#8211; Rather than continue executing instructions normally, execute the instructions starting at the memory address in register DX.</p></blockquote>
<p>JE AX, BX, DX</p>
<blockquote><p>Jump If Equal &#8211; If the values in registers AX and BX are equal, &#8220;Jump&#8221; (see above) to the memory address in register DX.</p></blockquote>
</blockquote>
<blockquote></blockquote>
<ul>
<li>Each processor is continuously running a program called the operating system (like Windows or Unix).</li>
<li>The operating system loads other programs into memory (from hard drive) and instructs processors to &#8220;jump&#8221; between them.</li>
</ul>
<p><strong>How are programs written?</strong></p>
<ul>
<li>Programmers rarely write raw instructions. Rather, they use a &#8220;high level&#8221; language (like C++ or Java)</li>
<li>The text files that contain high level language are called &#8220;source code&#8221; or source.</li>
<li>A program called a &#8220;compiler&#8221; (like gcc) translates source files into raw instructions (called &#8220;binary&#8221;).</li>
<li>A program called an &#8220;environment&#8221; (like Visual Studio, Eclipse) is used to edit source files, feed them to the compiler, and report errors.</li>
<li>An environment usually has a &#8220;debugger&#8221; which allows the programmer to pause the program at any time and inspect or change memory.</li>
<li>A source file might contain this:</li>
</ul>
<blockquote><p>int max(int a, int b)<br />
{<br />
if(a &gt; b)<br />
return a;<br />
else<br />
return b;<br />
}</p></blockquote>
<ul>
<li>this defines a &#8220;function&#8221; named max, which might be &#8220;called&#8221; somewhere else with this line:</li>
</ul>
<blockquote><p>x = max(x, 10);</p></blockquote>
<ul>
<li>Functions operate by using a &#8220;stack&#8221; &#8211; a sequence of memory reserved for storing values in a certain order.</li>
<li>In the line above, x is a &#8220;variable&#8221; &#8211; a name for a chunk of memory where data is stored.</li>
<li>Let&#8217;s say the &#8220;type&#8221; of x is &#8220;int&#8221;, so the compiler will read up to 32 bits and interpret them as an integer value.</li>
<li>&#8220;x = something&#8221; means to determine the value of &#8220;something&#8221; and copy it to x.</li>
<li>The function max is resolved by:
<ul>
<li>Copying inputs to the stack (in this case the value of x is the first, and 10 is the second)</li>
<li> &#8230;as well as the address of the current instruction</li>
<li>and then jumping to the first instruction of the sequence named &#8220;max&#8221;</li>
</ul>
</li>
<li>Here is what the instructions of max do:
<ul>
<li>If the value of the first input on the stack (named a) is less than that of the second (named b), then &#8220;return&#8221; the value of a, otherwise the value of b.</li>
</ul>
</li>
<li>When a function &#8220;returns&#8221; a value, that value is copied to the stack, and the processor jumps back to the instruction that called the function (also remembered on the stack).</li>
<li>Back at the calling line, the &#8220;x = &#8230;&#8221; says to copy the output of max from the stack to the memory location named &#8220;x&#8221;.</li>
</ul>
<p><strong>What are pointers and references?</strong></p>
<ul>
<li>Whereas most variables are names that correspond to a memory location where a value is stored&#8230;</li>
<li>Pointers and references are names that correspond to a memory location that stores the address of _another_ memory location.</li>
<li>So a pointer is a variable that stores the location of another variable, or &#8220;points&#8221; to it.</li>
<li>Avoid pointers unless you need them (they can be tricky). You&#8217;ll find uses for them as you go.</li>
</ul>
<p><strong>What are structs? classes? objects? templates? inheritance?</strong></p>
<ul>
<li>These are just ways of grouping variables and functions. You&#8217;ll figure &#8216;em out. Use google.</li>
</ul>
<p><strong>What tools do I need to learn?</strong></p>
<ul>
<li>An environment with a debugger. Visual Studio and Eclipse are good.</li>
<li> Source control. I recommend SVN, Perforce, or Mercurial.</li>
<li>A good reference manual for whatever technologies you use.</li>
</ul>
<p><strong>How to make programs go fast?</strong></p>
<ul>
<li>Not all memory is equal. Most instructions can only operate on registers (see above, How does the processor process?)</li>
<li>Register memory is very fast, but very small. Values must be swapped in and out as needed from other memory.</li>
<li>Cache memory is much bigger, but also slower. When it fills up, it must also be swapped out (google &#8220;cache miss&#8221;).</li>
<li>Main memory is even bigger, and even slower. But it can also fill up, which leads to swapping with the&#8230;</li>
<li>Hard drive storage is the biggest and slowest of all.</li>
<li>A processor spends the majority of its time waiting for memory or storage devices to read or write data.</li>
<li>The trick is to compact the most frequently needed data so it can be loaded into the fastest memory and swapped out as rarely as possible.</li>
<li>Another trick is to divide up the work for multiple processors to perform in parallel without too much waiting on each other.</li>
<li>Some processors have instructions for special purposes (like 3D graphics) which they can perform much faster than a sequence of general purpose instructions.</li>
<li> Use a system timer, or a timing program to record how long each section of a program takes to execute, and target the slowest parts or &#8220;bottlenecks&#8221;.</li>
</ul>
<p><strong>How to make programs &#8220;clean&#8221;?</strong></p>
<ul>
<li>Ask yourself, &#8220;Will a stranger understand what I&#8217;ve written?&#8221;</li>
<li> Have a plan before you start! If you&#8217;re just experimenting, be ready to throw it away and start over. Experiments make for terrible code.</li>
<li>Write comments that explain your intention, but don&#8217;t describe exactly what you&#8217;re doing (the code should do that).</li>
<li>Make variable and function names as self explanatory as possible (longer names are okay).</li>
<li>Break the work into small tasks and use separate functions, files, and other grouping systems to separate instructions and variables by their purpose (this is called &#8220;cohesion&#8221;)..</li>
<li>Avoid having one &#8220;group&#8221; of code reference another unless there is a good reason (this is called &#8220;loose coupling&#8221;)</li>
<li>Try to write less whenever possible, don&#8217;t duplicate. Re-use code. (this is called &#8220;modularity&#8221;)</li>
<li>Be consistent. (this is called &#8220;code convention&#8221;)</li>
<li>Clean up and rearrange code when it gets too messy (this is called &#8220;refactoring&#8221;)</li>
<li>Have another programmer critique your code (this is called &#8220;peer review&#8221;).</li>
<li> Test! Never assume something works. Use &#8220;breakpoints&#8221; (in your debugger) to be sure that every block of code is performed correctly.</li>
</ul>
<p><strong>How to fix bugs?</strong></p>
<ul>
<li> This will be most of the job.</li>
<li> If a bug halts the system, use your debugger to examine the current function and variables. Probably some data is wrong.</li>
<li> If the bug is a glitch, some data must be wrong. Try to write code that detects the bad data and halts (google &#8220;code assertion&#8221;).</li>
<li> The bad data must have been written from somewhere.</li>
<li> If it is an input to the halted function, check the calling function (look for &#8220;callstack&#8221; in your debugger).</li>
<li> Find the last line of code which may have changed the data which looks suspicious, place a breakpoint, and try to reproduce the error.</li>
<li> Another method is to add a &#8220;data breakpoint&#8221; to the address of the data that is being corrupted. The breakpoint will pause the program for inspection whenever that data is modified.</li>
</ul>
<p><strong>Further Reading?</strong></p>
<ul>
<li><a href="http://www.parashift.com/c++-faq-lite/">C++ FAQ Lite</a> (If you go with C++)</li>
<li><a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670">Code Complete</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chance in Games</title>
		<link>http://tasteslikerogers.com/blog/?p=37</link>
		<comments>http://tasteslikerogers.com/blog/?p=37#comments</comments>
		<pubDate>Wed, 10 Feb 2010 20:32:21 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=37</guid>
		<description><![CDATA[There are two boring kinds of questions. Those you answer with total certainty, and those you answer with total uncertainty.
For example, in Persona 4 enemies are either strong, weak, or neutral against elemental attacks. When you first confront a new type of enemy you have no information. As you try each elemental attack the enemy&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>There are two boring kinds of questions. Those you answer with total certainty, and those you answer with total uncertainty.</p>
<p>For example, in <a href="http://www.youtube.com/watch?v=gpbgyqiPHjY" title="Really boring">Persona 4</a> enemies are either strong, weak, or neutral against elemental attacks. When you first confront a new type of enemy you have no information. As you try each elemental attack the enemy&#8217;s response to that attack is revealed and available to view at any time onward. The player begins with the task of trying each possible attack, and ends with the task of using the same attack every time.</p>
<p>Alternatively, in games like Poker, Scotland Yard, and Magic: The Gathering, the player can often combine several pieces of information to make an educated guess about the right answer. The choice is never clearly known or unknowable, but somewhere between. The game is an exercise in judgment, not rote procedure.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Don&#8217;t Vote</title>
		<link>http://tasteslikerogers.com/blog/?p=36</link>
		<comments>http://tasteslikerogers.com/blog/?p=36#comments</comments>
		<pubDate>Wed, 28 Oct 2009 04:43:47 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=36</guid>
		<description><![CDATA[Our civic duty is to distribute our free time researching a huge list of social issues, deciphering the propaganda from the truth, weighing the solutions and the candidates&#8230; so that we are prepared on voting day. If you do all that give yourself a smug pat on the back because chances are that you, along [...]]]></description>
			<content:encoded><![CDATA[<p>Our civic duty is to distribute our free time researching a huge list of social issues, deciphering the propaganda from the truth, weighing the solutions and the candidates&#8230; so that we are prepared on voting day. If you do all that give yourself a smug pat on the back because chances are that you, along with most voters, just did another great job leading modern society!</p>
<p>This is a silly excuse to feel self-important. Democracy does not hinge on the average person solving world problems. We can&#8217;t. It works because the average person can, with great accuracy, say whether they (not anyone else) are better or worse off than they were two or four years ago, and vote accordingly. That&#8217;s the feedback that drives politicians to maximize our well-being. And they do that by finding real experts to solve our problems. Our wacky opinions are just noise in the system.</p>
<p>So personally, I don&#8217;t vote because life is peachy.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Should a game become easier when you fail?</title>
		<link>http://tasteslikerogers.com/blog/?p=35</link>
		<comments>http://tasteslikerogers.com/blog/?p=35#comments</comments>
		<pubDate>Tue, 22 Sep 2009 03:27:38 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Links to stuff]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=35</guid>
		<description><![CDATA[&#8230; or harder when you succeed?
Positive feedback: The game becomes harder when you play worse, easier when you play better.
Negative feedback: The game becomes easier when you play worse, harder when you play better.
Examples:

Mario Kart SNES has positive feedback: Gaining a lead separates you from the fray, reducing the threat of attacks, which makes it [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; or harder when you succeed?</p>
<p><strong>Positive feedback</strong>: The game becomes harder when you play worse, easier when you play better.</p>
<p><strong>Negative feedback</strong>: The game becomes easier when you play worse, harder when you play better.</p>
<p><strong>Examples:</strong></p>
<ul>
<li><strong>Mario Kart SNES</strong> has positive feedback<strong>:</strong> Gaining a lead separates you from the fray, reducing the threat of attacks, which makes it easier to increase your lead.</li>
<li><strong>Mario Kart Wii</strong> has negative feedback: Gaining the lead means contending with more attacks designed specifically to target the leader, while falling behind means better random items.</li>
</ul>
<p>A goal in both cases is to create a <strong>suspenseful struggle</strong>, and to this end <strong>positive feedback wins</strong>. The reason for negative feedback is that the person falling behind or running ahead is no longer in the struggle. They need some help or harm to push them back in. But that push counteracts their accomplishment or lack thereof. Their actions become less important, and so the suspense is diminished. Too much chaos, not enough control.</p>
<p><a href="http://wii.ign.com/articles/868/868012p3.html" title="IGN Wii review summary">IGN</a>&#8217;s <span class="byline">Matt Casamassina</span> said it well:</p>
<blockquote><p>&#8230;the manner in which you advance through the higher difficulty single-player courses &#8212; a good deal of skill, but just as much luck. You can be zipping through a 150cc stage without a single error and well ahead of every other competitor when, seemingly out of nowhere, bam! Blue shell. Lightning bolt. One cheesy last-ditch effort after another by unfair AI-controlled components. And suddenly you&#8217;ve gone from first place to eighth by no fault of your own. You don&#8217;t even have a defense against these items &#8212; that is, unless you consider praying that your cheap AI competitors don&#8217;t decide to rob you of a victory.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ayn Rand For Dummies</title>
		<link>http://tasteslikerogers.com/blog/?p=34</link>
		<comments>http://tasteslikerogers.com/blog/?p=34#comments</comments>
		<pubDate>Sun, 20 Sep 2009 01:13:14 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=34</guid>
		<description><![CDATA[I&#8217;m going to summarize Ayn Rand&#8217;s whole deal: Do what you want, not what other people tell you.

She said more than that, but it&#8217;s only a summary. This sounds like pretty standard advice. You might be wondering how she became so controversial. You should know that she followed with (and I&#8217;m summarizing again): Practically everybody [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to summarize <a href="http://en.wikipedia.org/wiki/Ayn_Rand" title="Wikipedia">Ayn Rand</a>&#8217;s whole deal: <em>Do what you want, not what other people tell you.<br />
</em><br />
She said more than that, but it&#8217;s only a summary. This sounds like pretty standard advice. You might be wondering how she became so <a href="http://www.youtube.com/watch?v=7ukJiBZ8_4k" title="Mike Wallace Interview">controversial</a>. You should know that she followed with (and I&#8217;m summarizing again): <em>Practically everybody is a tool</em>. And she goes on to say mean things about practically everybody.</p>
<p><a href="http://www.urbandictionary.com/define.php?term=tool" title="urban dictionary">Tool:</a></p>
<blockquote><p>One who lacks the mental capacity to know he is being used.</p></blockquote>
<p>Ayn Rand is a <a href="http://www.thedailyshow.com/watch/thu-october-15-2009/jennifer-burns" title="Jennifer Burns on the Daily Show">popular</a> topic today. She illustrates her thesis in a way that strikes a chord with many people. But you will need to stomach loads of <a href="http://xkcd.com/610/" title="read this comic's mouse-over text">pessimism</a>. Satire without comedy is depressing.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dear Windbags&#8211;I Mean Orators</title>
		<link>http://tasteslikerogers.com/blog/?p=33</link>
		<comments>http://tasteslikerogers.com/blog/?p=33#comments</comments>
		<pubDate>Fri, 28 Aug 2009 10:04:21 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=33</guid>
		<description><![CDATA[There&#8217;s danger in speaking too abstractly. People may apply your ideas to a context that doesn&#8217;t work, or worse, your ideas might not work in any context. It&#8217;s also kind of lazy.
Like this post doesn&#8217;t mention any examples. See? Lazy.
]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s danger in speaking too abstractly. People may apply your ideas to a context that doesn&#8217;t work, or worse, your ideas might not work in any context. It&#8217;s also kind of lazy.</p>
<p>Like this post doesn&#8217;t mention any examples. See? Lazy.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Labors of Love</title>
		<link>http://tasteslikerogers.com/blog/?p=32</link>
		<comments>http://tasteslikerogers.com/blog/?p=32#comments</comments>
		<pubDate>Thu, 27 Aug 2009 00:20:55 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=32</guid>
		<description><![CDATA[&#8220;I would hazard to guess that 99% of us have things in the back of our brains that we want to work on for ourselves&#8230; as an artist to be happy, you have to indulge your labors of love.&#8221;
Big Illustration Party Time Podcast, episode 1
Today I found The Big Illustration Party Time Podcast, and I [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;I would hazard to guess that 99% of us have things in the back of our brains that we want to work on for ourselves&#8230; as an artist to be happy, you have to indulge your labors of love.&#8221;</em></p>
<p style="margin-left: 40px">Big Illustration Party Time Podcast, episode 1</p>
<p>Today I found <a href="http://illustrationparty.blogspot.com/" title="Big Illustration Party Time">The Big Illustration Party Time Podcast</a>, and I like hearing them talk about walking the line between art and business. It&#8217;s something game developers struggle with, too.</p>
<p>I considered making a career out of drawing. I stayed with game programming, but the goal is the same: make cool experiences. Programmers share this goal but have <a href="http://www.linux.org/" title="linux">alien definitions</a> of <em>cool</em>. Programmers want their gadgets to be thrilling, but an appliance should not require too much attention. If programmers made toasters they would have thirty buttons and complain about the quality of your bagels. At least games are supposed to impress, but the object of the programmer&#8217;s zeal is still sometimes misplaced.</p>
<p><a href="http://www.penny-arcade.com/2006/05/15" title="Gabe's post">Gabe</a> from Penny-Arcade:</p>
<blockquote><p>Indiana Jones – This was the year of procedurally generated content. Every other developer was telling me how instead of having artists and animators create a game for me they figured out a way to make a computer do it. They seem to think this is better but Indiana Jones is a great example of why it’s not. Instead of animating Indy they essentially taught him how to behave and react to his surroundings. They said this was better because it means you’ll never see the same canned animation over and over. What it means is that I see different stupid looking animations all the time though. I’m not sure that’s an improvement. I’ll take God of Wars beautifully animated special moves over Indy looking like some kind of retarded marionette any day.</p></blockquote>
<p>So I don&#8217;t always feel like a programmer at heart. Though I&#8217;ve been sucked into technology hype, in the end I only care about tech insofar that it serves art. Tech hype is one distraction that illustrators don&#8217;t deal with&#8211;you wouldn&#8217;t care what brush was used to paint something. Another is <a href="http://www.mobygames.com/game/windows/mercenaries-2-world-in-flames_/credits" title="Mercs 2 credits">scale</a>. To a game developer it&#8217;s refreshing to hear creative people in mass media think about themselves as artists.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Small Ponds / Big Ponds</title>
		<link>http://tasteslikerogers.com/blog/?p=31</link>
		<comments>http://tasteslikerogers.com/blog/?p=31#comments</comments>
		<pubDate>Tue, 18 Aug 2009 18:18:01 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=31</guid>
		<description><![CDATA[Public housing in many places in the states has a  zero tolerance policy. Any criminal activity found on the premise, especially drugs, means everyone gets evicted. It&#8217;s a broad dismissal, a way for the community to say &#8220;you are not my problem&#8221;.
That works in a big pond. Throw fools overboard, and you can forget about [...]]]></description>
			<content:encoded><![CDATA[<p>Public housing in many places in the states has a  zero tolerance policy. Any criminal activity found on the premise, especially drugs, means everyone gets evicted. It&#8217;s a broad dismissal, a way for the community to say &#8220;you are not my problem&#8221;.</p>
<p>That works in a <em>big pond</em>. Throw fools overboard, and you can forget about them. Your life is easier, theirs is harder, justice is served. But in a <em>small pond</em>, you will still see those guys around. The more you throw over, the less pleasant your boat ride. The taxpayer spends more on the people thrown to the streets than if they had stayed in public housing. They will get sicker, and we will pay more for them in our emergency rooms. They will turn to crime, and we will pay for them to be policed, arrested, and jailed. They will hang around our shopping areas, smelling like pee. The world isn&#8217;t big enough anymore to say &#8220;you are not my problem&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The United States Is Obnoxious</title>
		<link>http://tasteslikerogers.com/blog/?p=30</link>
		<comments>http://tasteslikerogers.com/blog/?p=30#comments</comments>
		<pubDate>Mon, 17 Aug 2009 22:12:21 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=30</guid>
		<description><![CDATA[The character of our country is obnoxious, and I say we embrace that. Everyone is either whining or bloviating. It&#8217;s ugly, but it&#8217;s a consequence of freedom and individuality, which is beautiful. Peek behind the veneer of a way-too-orderly group of people and you see sad oppression. TMZ, Limbaugh, and YouTube comments should be lauded [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.democrats.org/a/2009/09/the_character_o.php" title="Sorry Ted Kennedy">character </a>of our country is obnoxious, and I say we embrace that. Everyone is either whining or bloviating. It&#8217;s ugly, but it&#8217;s a consequence of freedom and individuality, which is beautiful. Peek behind the veneer of a way-too-orderly group of people and you see sad oppression. TMZ, Limbaugh, and YouTube comments should be lauded as emblems of our tolerance.</p>
<p><a href="http://en.wikipedia.org/wiki/Desi_Arnaz" title="Desi Arnaz">In the 50&#8217;s</a> Desi Arnaz pitched <em>I Love Lucy</em> to CBS, but they said he was too Latin to co-star as Ricky Ricardo. He took the show on tour, made people laugh, and CBS agreed to make the show. In his memoirs Arnaz wrote,</p>
<blockquote><p>&#8220;I know of no other country in the world&#8221;, in which &#8220;a sixteen-year-old kid, broke and unable to speak the language&#8221; could reach the success he had.</p></blockquote>
<p>Uplifting! In retrospect, our sense of taste and decency is often just silly fear. I think it&#8217;s good that we avoid governing it.</p>
<p>So taste it, <a href="http://www.independent.co.uk/news/uk/politics/16-banned-from-britain-named-and-shamed-1679127.html" title="In the name of decency">UK!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=30</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Balance?</title>
		<link>http://tasteslikerogers.com/blog/?p=29</link>
		<comments>http://tasteslikerogers.com/blog/?p=29#comments</comments>
		<pubDate>Sat, 04 Jul 2009 22:16:42 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=29</guid>
		<description><![CDATA[In fighting games, it sucks when you try to master a big arsenal of abilities only to get beat down by a dude spamming the same simple ability. Players scorn such abilities as &#8220;cheap&#8221;. They are trying to preserve something called balance&#8211; a game design term that&#8217;s hard to pin down. We know when there [...]]]></description>
			<content:encoded><![CDATA[<p>In fighting games, it sucks when you try to master a big arsenal of abilities only to get beat down by a dude spamming the same simple ability. Players scorn such abilities as &#8220;cheap&#8221;. They are trying to preserve something called <strong>balance</strong>&#8211; a game design term that&#8217;s hard to pin down. We know when there isn&#8217;t balance, but what&#8217;s the solution, and could we have started with that?</p>
<p>Players feel cheated when they learn a more difficult ability only to be defeated by an easier one. The easier ability is &#8220;cheap&#8221; because it cost less effort. They expect to be rewarded with greater advantage for greater effort. Therefor, an <strong>unbalanced</strong> game is one with abilities to master (let&#8217;s call them <strong>irrelevant</strong>) that give no advantage over some easier abilities. So, oppositely, we have a definition&#8230;</p>
<p><strong>Balance</strong>: A game is balanced if it only contains <em>relevant abilities</em>.</p>
<p><strong>Relevant Ability</strong>: An ability that offers some advantage over all easier abilities.</p>
<p>I suppose what this means for designers is that whenever you add or change an ability, check to make sure everything is still relevant. Though I can see how for <a href="http://www.civfanatics.com/gallery/showimage.php?i=1637&amp;original=1" title="Civilization IV Tech Tree">some games</a>, that might be difficult.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
