<?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>Cult of The Turtle &#187; frustration</title>
	<atom:link href="http://www.cultoftheturtle.com/tag/frustration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cultoftheturtle.com</link>
	<description>Games, turtles and other things</description>
	<lastBuildDate>Wed, 30 Jun 2010 16:40:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>pygame Frustrations</title>
		<link>http://www.cultoftheturtle.com/2010/02/02/pygame-frustrations/</link>
		<comments>http://www.cultoftheturtle.com/2010/02/02/pygame-frustrations/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:01:15 +0000</pubDate>
		<dc:creator>Joe Tortuga</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[frustration]]></category>
		<category><![CDATA[ranty]]></category>

		<guid isPermaLink="false">http://www.cultoftheturtle.com/?p=142</guid>
		<description><![CDATA[(This article is going to be geeky and technical and ranty.  Don&#8217;t say I didn&#8217;t warn you.)
As I&#8217;ve mentioned I&#8217;m prepping for the Glorious Trainwrecks&#8217;﻿ THE 371-IN-1 KLIK &#38; PLAY PIRATE KART II: KLIK HARDER event.  I&#8217;m on win7 and Klik &#38; Play doesn&#8217;t really run all that easily, so I&#8217;ve been poking about for [...]]]></description>
			<content:encoded><![CDATA[<p><small><em>(This article is going to be geeky and technical and ranty.  Don&#8217;t say I didn&#8217;t warn you.)</em></small></p>
<p>As I&#8217;ve mentioned I&#8217;m prepping for the Glorious Trainwrecks&#8217;﻿ <a href="http://www.glorioustrainwrecks.com/node/437">THE 371-IN-1 KLIK &amp; PLAY PIRATE KART II: KLIK HARDER</a> event.  I&#8217;m on win7 and Klik &amp; Play doesn&#8217;t really run all that easily, so I&#8217;ve been poking about for something else.  I did a bit with <a href="http://www.scirra.com/">Construct</a>, but it&#8217;s windows only, and I don&#8217;t really want to learn a new tool that isn&#8217;t going to give me some other benefit.</p>
<p>I thought about <a href="http://unity3d.com/">Unity</a>, and that&#8217;s still a bit in the running, but I was already learning Python for other reasons, and pygame  is a fairly developed tool for making games.  I&#8217;m not looking for something fancy, just something I can quickly hack together, and make a few crapware games in a couple of hours each.  Once I&#8217;m more comfortable with the tools, and the games, I can develop the ones that seem good into something better.   To me the event is like a speed writing exercise, the goal isn&#8217;t something publishable,but something that&#8217;s creative that can be developed.</p>
<p>So, what I want to do is familiarize myself with the tools, and, if possible, find or write an engine that&#8217;ll let me do basic tile games (mazes and platformers, mostly).  I&#8217;ve found two or three of these, and they are either several years old, or quasi-documented.  PGU seems to be the most recently updated &#8212; and I&#8217;ve found in my years working with open source that you want two things: recent updates, and an active community.  That means the project is alive, and kicking, and working with the current suite of tools.</p>
<p>None of these tools that I&#8217;ve found have an active community, but PGU was updated in the past few months.  Unfortunately, PGU&#8217;s documentation leaves a lot to be desired.  I don&#8217;t really want to have to puzzle out someone&#8217;s code to figure out how it works &#8212; it&#8217;d be faster for me to just write my own code at that point.  If I&#8217;m using an engine, I want to not have to think about the low level implications of my decisions, and just move forward.</p>
<p>I don&#8217;t want to say that PGU&#8217;s documentation is <em>bad</em>. It follows a convention I&#8217;ve seen in the Java and Python worlds.  You put your documentation in the code, so it can be generated when you do a release.  You document functions and objects as you write them, and then everything is documented right?</p>
<p>Well, no. Not really.</p>
<p>There are two kinds of documentation that often &#8212; but not always &#8212; get left out of this. The first is systemic documentation, which tells you how all the pieces fit together and work together. A good project will have a page or two showing you how to fit all the pieces together to make something work.  Often this is a tutorial or a set of documented examples showing the project working.  PGU does this, but it feels largely esoteric.  Yes there&#8217;s code, and I can more-or-less see what it&#8217;s doing, but there&#8217;s some magic going on in there, and I&#8217;m not sure what it is.</p>
<p>That uncertainty, I realized was the missing second bit of documentation: file formats.  Unless you&#8217;ve got an object which reads and unpacks a file format and that process is documented in your Py or JavaDocs, you&#8217;ve got no documentation about your file formats.  PGU uses a Targa file (.tga, a graphic format) to store it&#8217;s tiles and maps.  The former, I get, the latter less so.</p>
<p>I delved into the code last night, to see if I could have an a-ha moment and move forward.  What I discovered was that he was being tricky. A graphics file is ultimately an array of color values, along with some information to tell you the shape of the rectangle that it is. In other words, it&#8217;s a 32 x32 graphic, the upper leftmost pixel is black, the next one is green, <em>et cetera</em>.</p>
<p>Color information is 32 bits in a Targa file (just like on your modern computer) it&#8217;s 8 bits for Red, Green, and Blue color values, and 8 bits for &#8220;alpha transparency&#8221;.  That&#8217;s how Vista and Win 7 (for example) manage to give you that  see-through the window look.   Getting the colors out of pygame is pretty easy, it&#8217;s Surface class will give you those four values for any pixel in an image.</p>
<p>The author of PGU is then using these four values for different things. I&#8217;m not 100% sure what they all are. One is the tile index, which I get and expected &#8212; tile games have a pretty stable design, they work a certain way, and I&#8217;ve worked with 5 or 6 different libraries, and they all share certain similarities. Another is something called &#8220;codes&#8221; and another is &#8220;background&#8221;.  He&#8217;s also using the alpha for something, but I&#8217;m not sure what.</p>
<p>Not knowing how all that works makes the code really hard to read.  Add to it&#8217;s object-oriented nature (I&#8217;m not against that, but it spreads the actual verbs around in ways that make it hard to trace through the code, as I bounce between API and program code)</p>
<p>I don&#8217;t want to invest too much time into this, I&#8217;ve got about 3 weeks to become proficient enough to make some games with something.  That&#8217;s like agreeing to write stories using a different keyboard than you were used to, and trying to Mavis Beacon your way through it.  Sometimes it&#8217;s better to find a different keyboard.</p>
<p>Today, I&#8217;m a bit tempted by HTML5, and I already know a great deal about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cultoftheturtle.com/2010/02/02/pygame-frustrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playstyle Frustration</title>
		<link>http://www.cultoftheturtle.com/2010/01/20/playstyle-furstration/</link>
		<comments>http://www.cultoftheturtle.com/2010/01/20/playstyle-furstration/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:10:47 +0000</pubDate>
		<dc:creator>Joe Tortuga</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[frustration]]></category>

		<guid isPermaLink="false">http://www.cultoftheturtle.com/?p=65</guid>
		<description><![CDATA[I&#8217;m having some real difficulty with Dragon Age: Origins.
I feel like I want to play it.  There&#8217;s &#8212; not peer pressure, but a sense from my peers that they liked this game.  From people with whom I&#8217;ve had detailed discussions about games we both liked.  In other words, people whose tastes I felt were very [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having some real difficulty with Dragon Age: Origins.</p>
<p>I feel like I want to play it.  There&#8217;s &#8212; not peer pressure, but a sense from my peers that they liked this game.  From people with whom I&#8217;ve had detailed discussions about games we both liked.  In other words, people whose tastes I felt were very similar to mine.  These people love Dragon Age: Origins.  I&#8217;m very near the end of my patience.</p>
<p>One character, my Rogue ( a Human Noble), is stalled out in the first fighting area which comes immediately after her origin &#8212; in other words, the first bit of common question. I&#8217;d done that with my Human Mage, who very nearly got stalled out fighting the Ogre, in what is essentially the first area after the one my Rogue is in.  She is slightly beyond that, but not much, the experience with that fight is making me hesitant to want to continue, and now that I&#8217;m faced with too many choices, my natural hesitancy kicks in, and I rolled a new character.</p>
<p>I like a damage-dealing character.  The slogan for my Mage Zhenette (a standard name for my Mage characters) from WoW is &#8220;DPS is healing you don&#8217;t have to do.&#8221; Its a play style that involves doing lots of damage to enemies before they get to you, and minimizes the importance of defense. My WoW mage is a very tactical character, and the play is characterized by bursts of action and then downtime. I have a rogue on WoW,too, and she was a damage dealer, and a bit harder for me &#8212; as her damage was more over time, and required different tactical skills to accomplish, but the idea was much the same: do enough damage to avoid getting hit.</p>
<p>My play style in Torchlight is similar: run in clicking on things until they are dead.  I ususally remember to renew my buffs between battles, but not always &#8212; and yes, I can tell when I forget.  Just give me the biggest damage weapons and spells, and I&#8217;ll be on my way.  Armor is okay, too, but it&#8217;s secondary, or tertiary. I&#8217;ve got a pet in that game that more or less takes care of itself, although I think it ran away a couple of times. I never remember to heal it, so I learned a spell that heals us both, and that seems to work okay.  If playing Torchlight required keeping my pet buffed and healed, then I&#8217;d just quit, as I&#8217;m just not going to remember to do all that.  Make it so I have to manager it&#8217;s targets, too, and I&#8217;d probably leave.</p>
<p>Torchlight doesn&#8217;t have a lot more going for it than the explore/kill/loot cycle.  It&#8217;s frenetic and clicky and has a very basic, ignorable story.  Thankfully, they got the combat right, and I&#8217;m cool with it.  But I&#8217;d be pulling my hair out with DA:O&#8217;s combat if I had any to pull. (Goatee not an option, per the wives.)</p>
<p>Here&#8217;s the thing: both of my origin stories were awesome. I played the Mage one 1.5 times, and the Human Noble one.  I&#8221;m told these aren&#8217;t even necessarily the best origins.  I left those areas feeling like a kick-butt character, off to help kick-butt in other areas.  I knew it would be hard, but I was there to take names and chew bubblegum. My mage didn&#8217;t die in her origin, although my Rogue did once, my dog saving the day that time. {And so my Rogue, unlike myself, has a fondness for the thing.}  But I still felt like I could focus on my character and do some damage, and the stuff around me &#8212; the pet and my Mom, they did their part.</p>
<p>Then I&#8217;m dumped in the wilderness and it&#8217;s a different game. Alistair is the only one who isn&#8217;t constantly dying.  The Mage does slightly better than the Rogue, since she&#8217;s got a healing spell, when she has mana to cast it. My rogue has a bridge she just can&#8217;t get across.  Every time she sets foot on the far side, death is there, taking her back to the Fade.  Not fun.</p>
<p>Now, I&#8217;m not always upset about dying.  My WoW mage spent an inordinate amount of time either running from fights (WoW Mage Survival Tactic #1) or running back to fights.  It&#8217;s okay, I was a mage, I was going to die. Of course, Death in WoW or Torchlight is only a temporary state.  In DA:O, it&#8217;s a reload-last-save.  That fact taught me that there was a Quick Save option in Dragon Age, something I haven&#8217;t used since the last FPS I played.  There I expect some death and re-trying.  (And <strong>some</strong> is okay), so I reload and try again. I played that bridge scene 6 times Saturday night, all with the same result.</p>
<p>I&#8217;ve been working on it for a week.  More on this tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cultoftheturtle.com/2010/01/20/playstyle-furstration/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
