<?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>Wed, 17 Nov 2010 02:04:25 +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>What&#8217;s up with me?</title>
		<link>http://tasteslikerogers.com/blog/?p=55</link>
		<comments>http://tasteslikerogers.com/blog/?p=55#comments</comments>
		<pubDate>Wed, 17 Nov 2010 01:59:07 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=55</guid>
		<description><![CDATA[Hay Internet,
I put down blogging for a while because it became apparent that I had little to say that is relevant outside my circle of friends. Struggling to fill this space, I found myself turning idle musings into statements of belief with conviction for the sake of sounding interesting. The truth is I have hardly [...]]]></description>
			<content:encoded><![CDATA[<p>Hay Internet,</p>
<p>I put down blogging for a while because it became apparent that I had little to say that is relevant outside my circle of friends. Struggling to fill this space, I found myself turning idle musings into statements of belief with conviction for the sake of sounding interesting. The truth is I have hardly any real opinions for which I could muster some conviction, and there are few things I can speak about with authority. I&#8217;m getting old now, and I just want to embrace authenticity and drop the know-it-all teenager act.</p>
<p>But, I like to exercise my imagination and writing muscles. The blog maybe isn&#8217;t the ideal format for me, but I&#8217;ll keep it around while I figure out something better.</p>
<p>I&#8217;ve also been busy. For reasons I don&#8217;t fully understand, I am on a quest to become really good at making video games, or more broadly, art. I&#8217;ve been at it since I was about twelve (before that I wanted to be a paleontologist or a ninja turtle). I&#8217;ve always spent most of my free time working towards my career goals. It has been an escape from social anxiety and depression, but it is also gratifying. I am a pretty good video game engineer these days. I have made some cool game demos and major contributions to games. I have worked with teammates I adore and respect. It has been all-consuming, and it has made me a little tired and atrophied parts of me I miss using.</p>
<p>But! I&#8217;m only twenty-seven. Many people my age are just finishing school. I am a couple months away from finishing a game on which I am a lead engineer. I am immensely proud of it and the team. It sounds like rhetoric, but it has really made me a better person. I suddenly feel easy-going and optimistic. I&#8217;m not sure what I will do next, but it will be fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=55</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>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>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>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>
		<item>
		<title>My travels continued&#8230;</title>
		<link>http://tasteslikerogers.com/blog/?p=27</link>
		<comments>http://tasteslikerogers.com/blog/?p=27#comments</comments>
		<pubDate>Sun, 17 May 2009 22:04:14 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=27</guid>
		<description><![CDATA[I&#8217;ve moved to New York City, but at the moment I&#8217;m in Binghamton. I&#8217;ve updated the map&#8230;
EDIT: Something about google maps widget broke. After hand-tweaking the link, I think I&#8217;ve fixed it.

View Rogers programming tour in a larger map
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve moved to New York City, but at the moment I&#8217;m in Binghamton. I&#8217;ve updated the map&#8230;</p>
<p>EDIT: Something about google maps widget broke. After hand-tweaking the link, I think I&#8217;ve fixed it.</p>
<p><iframe src="http://maps.google.com/maps/ms?hl=en&amp;ie=UTF8&amp;source=embed&amp;msa=0&amp;msid=107425264891429453142.000457a979815822cbcde&amp;ll=37.300275,-91.142578&amp;spn=34.032992,79.013672&amp;output=embed" marginheight="0" marginwidth="0" scrolling="no" width="425" frameborder="0" height="350"></iframe><br />
<small>View <a href="http://maps.google.com/maps/ms?hl=en&amp;ie=UTF8&amp;source=embed&amp;msa=0&amp;msid=107425264891429453142.000457a979815822cbcde&amp;ll=37.300275,-91.142578&amp;spn=34.032992,79.013672" style="color: #0000ff; text-align: left">Rogers programming tour</a> in a larger map</small></p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My flash development software&#8230;</title>
		<link>http://tasteslikerogers.com/blog/?p=24</link>
		<comments>http://tasteslikerogers.com/blog/?p=24#comments</comments>
		<pubDate>Tue, 14 Oct 2008 05:11:19 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=24</guid>
		<description><![CDATA[I&#8217;m writing a game client in flash.
1. Interpreter / debugger: Flash MX Pro 2004. It&#8217;s pretty crappy. I&#8217;ll upgrade soon.
2.  Editor: SE&#124;PY ActionScript Editor. Someone recommended it in an article, and it&#8217;s free. It claims to have auto-complete, which works in some cases, but having become accustom to Visual Assist at Pandemic I&#8217;m unimpressed. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a game client in flash.</p>
<p>1. Interpreter / debugger: Flash MX Pro 2004. It&#8217;s pretty crappy. I&#8217;ll upgrade soon.</p>
<p>2.  Editor: SE|PY ActionScript Editor. Someone recommended it in an article, and it&#8217;s free. It claims to have auto-complete, which works in some cases, but having become accustom to Visual Assist at Pandemic I&#8217;m unimpressed. Nonetheless, it&#8217;s better than working straight out of flash.</p>
<p>3.  Source control client: SVNTortoise for windows. So far, it&#8217;s rad, and free.</p>
<p>4. Project management: Assembla. I found this today. Free private SVN hosting! And it&#8217;s multi-user, and it comes with a private wiki, and Trac for bug tracking, and a milestone calender, and a scrum board, and a chat room, and a clean web interface that ties it all together&#8230; I&#8217;m very pleased, though I&#8217;m hesitant to begin using stuff other than svn just in case the company tanks. Space is very limited (200mb). You can pay $12.50/month for 5 gigs. I doubt I&#8217;ll need it. I&#8217;ve read that some people in 2007 found bugs, but right now it would need to break the Internet to lose my favor.</p>
<p>Server will probably be Java, but I haven&#8217;t started.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=24</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My travels, continued&#8230;</title>
		<link>http://tasteslikerogers.com/blog/?p=22</link>
		<comments>http://tasteslikerogers.com/blog/?p=22#comments</comments>
		<pubDate>Mon, 13 Oct 2008 04:56:30 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=22</guid>
		<description><![CDATA[I spent four days on a train across country. It was relatively relaxing and scenic, and considering I haven&#8217;t seen much beyond New York and California, I think it was a good choice. I rode the California Zephyr which is older and thus had only one well-hidden power outlet for everyone, the crowd was fairly [...]]]></description>
			<content:encoded><![CDATA[<p>I spent four days on a train across country. It was relatively relaxing and scenic, and considering I haven&#8217;t seen much beyond New York and California, I think it was a good choice. I rode the California Zephyr which is older and thus had only one well-hidden power outlet for everyone, the crowd was fairly noisy, and it was difficult to sleep, so I didn&#8217;t get much work done.</p>
<p>I spent the remainder of those two weeks in Binghamton, which was also leisurely. I took a day trip to Malone, NY with my mom because she&#8217;s researching her French ancestors. The weather&#8217;s been nice and the leaves are colorful. I finally bought an xbox 360 and I played through Bioshock and Mercenaries 2. Both were shorter than I expected (I probably had 24 hours of playtime between both), although I avoided all the side-missions in Mercenaries 2. I finished some work, but for the most part I chatted with people, slept, cooked, and helped fix mundane computer issues.</p>
<p>So far only my week in Vegas has been very fruitful for programming, since I had plenty of time to myself. Within the other four weeks I probably only finished a day or two worth of work each week. As a result I need to reconsider my schedule. But I think my traveling days are over. I&#8217;m in Ocala Florida now with my friend Matt and I&#8217;m looking forward to getting back to work. Matt&#8217;s place is nice and there&#8217;s no one to bother me here. I&#8217;ll probably be here a month. Not sure where to next.</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=22</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I&#8217;ve been up to in San Francisco</title>
		<link>http://tasteslikerogers.com/blog/?p=21</link>
		<comments>http://tasteslikerogers.com/blog/?p=21#comments</comments>
		<pubDate>Sat, 27 Sep 2008 20:04:46 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[things that I say]]></category>

		<guid isPermaLink="false">http://tasteslikerogers.com/blog/?p=21</guid>
		<description><![CDATA[It&#8217;s been somewhat busy. So far we played castle crashers, apples to apples, bought me some new shoes, played tomb, played more castle crashers, played more tomb, played more castle crashers, went indoor rock-climbing, did a lot of walking, went to a goth-club, played rock band, and played more castle crashers. Tonight we&#8217;re going to [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been somewhat busy. So far we played castle crashers, apples to apples, bought me some new shoes, played tomb, played more castle crashers, played more tomb, played more castle crashers, went indoor rock-climbing, did a lot of walking, went to a goth-club, played rock band, and played more castle crashers. Tonight we&#8217;re going to the local rocky horror picture show. I&#8217;ve got only a little work done, but I should have plenty of time to make up for it on the train and at home. And this may be the last time I&#8217;m on the west coast for a while</p>
]]></content:encoded>
			<wfw:commentRss>http://tasteslikerogers.com/blog/?feed=rss2&amp;p=21</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

