<?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>Buzzard Software, LLC.</title>
	<atom:link href="http://www.buzzardsoft.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.buzzardsoft.com</link>
	<description></description>
	<lastBuildDate>Sat, 15 Oct 2011 17:34:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>End of an era</title>
		<link>http://www.buzzardsoft.com/2011/07/31/end-of-an-era/</link>
		<comments>http://www.buzzardsoft.com/2011/07/31/end-of-an-era/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 01:10:21 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Ugly CD Player]]></category>
		<category><![CDATA[Ugly Multiclip]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=43</guid>
		<description><![CDATA[A long time ago, I developed a couple of small shareware products: Ugly Multiclip (a simple clipboard manager) and Ugly CD Player (a small CD player application design to take up only a small amount of screen real estate). These &#8230; <a href="http://www.buzzardsoft.com/2011/07/31/end-of-an-era/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A long time ago, I developed a couple of small shareware products: Ugly Multiclip (a simple clipboard manager) and Ugly CD Player (a small CD player application design to take up only a small amount of screen real estate).</p>
<p>These applications were both developed with Codewarrior using PowerPlant as the framework, and as a result these are PowerPC apps.  Mac OS X 10.7 (&#8220;Lion&#8221;) does not support PowerPC applications, and as a result these no longer work.  Furthermore, there isn&#8217;t an easy way to simply just recompile these projects and make them run on Lion.  Furthermore, even if they could be rebuilt fairly easily, they could really use a thorough rework to modernize their user interfaces.</p>
<p>So, as of now these products are officially unsupported.  There&#8217;s a chance that one or both may be resurrected in the future as time permits, but I&#8217;m in no position to make an announcement to that effect at this time.</p>
<p>To those who purchased these products in the past, I thank you for your support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2011/07/31/end-of-an-era/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone game: converting to CALayer</title>
		<link>http://www.buzzardsoft.com/2009/11/05/iphone-game-converting-to-calayer/</link>
		<comments>http://www.buzzardsoft.com/2009/11/05/iphone-game-converting-to-calayer/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 04:54:29 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=41</guid>
		<description><![CDATA[In one of my previous posts I discussed my approach to starting development of a game. I&#8217;m still working on this, but I&#8217;ve come to the point where I may upgrade my drawing code a little bit. In my initial &#8230; <a href="http://www.buzzardsoft.com/2009/11/05/iphone-game-converting-to-calayer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In one of my <a href="http://blog.buzzardsoft.com/2009/09/17/iphone-game-prototype/">previous posts</a> I discussed my approach to starting development of a game. I&#8217;m still working on this, but I&#8217;ve come to the point where I may upgrade my drawing code a little bit.</p>
<p>In my initial development I was simply drawing into a UIView via its CGContext. Now I&#8217;m thinking about changing to drawing into CALayers. This gives me a few advantages. First, it lets me separate drawing a little bit more. I already have most of the drawing broken into separate methods in my view, but now I can set a layer for the score, and a layer for the objects (or even a layer <em>per</em> object). These aren&#8217;t too much of an advantage, but I think the biggest gain is that I can put a background image in a layer and then draw the rest of the items on top of it. I won&#8217;t need to redraw the background on the view for every frame of animation.</p>
<p>The second advantage is for some animations &#8211; I can just set them up and let them run. Take, for instance, an event like an explosion. I could create a few layers for some particles in the explosion, set them up on a path (maybe with some rotation), and then just let it run. I don&#8217;t have to add state tracking to animate these by hand with every frame.</p>
<p>I&#8217;ve only just started researching this, but I think this will work out nicely.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/11/05/iphone-game-converting-to-calayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone touch accuracy</title>
		<link>http://www.buzzardsoft.com/2009/09/26/iphone-touch-accuracy/</link>
		<comments>http://www.buzzardsoft.com/2009/09/26/iphone-touch-accuracy/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 03:09:12 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=37</guid>
		<description><![CDATA[If you read my last post you know that I&#8217;m working on a game for iPhone.  As part of my experimentation, I ran across a small issue I thought I&#8217;d share. Part of my game play involves the user touching &#8230; <a href="http://www.buzzardsoft.com/2009/09/26/iphone-touch-accuracy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you read my <a href="/2009/09/17/iphone-game-prototype/">last post</a> you know that I&#8217;m working on a game for iPhone.  As part of my experimentation, I ran across a small issue I thought I&#8217;d share.</p>
<p><span id="more-37"></span></p>
<p>Part of my game play involves the user touching objects on the screen which can be fairly small.  In my light testing on my iPhone (along with some brief play testing done by my wife) it proved hard to hit within those objects.  I added some code to draw an &#8216;X&#8217; where the last touch occurred in order to track this.  Generally it seemed that the both of us were hitting down and to the right of the target area.  As we are both right-handed, I would guess that this it because our aim is guided largely by the position of our <em>fingertip </em>while the touch area is back from that at the <em>finger pad</em>.</p>
<p>The inaccuracy is not a surprise, I suppose.  Most standard user interface elements have a reasonably large target area and are at least static positionally, so this generally isn&#8217;t a problem in typical applications. In the height of game play, however, you don&#8217;t want to require touches to be too accurate, or you at least want the touches to match the position that the user expect the touch to occur. Otherwise, the player will become frustrated and will hate your game!</p>
<p>So, my solution? One of my considerations in my game design was to put my objects in a grid, rather than placing them in arbitrary locations on the screen.  As I implement this, I will start with registering a click on an object when the user clicks on the grid cell that contains it.  As it looks so far, the &#8216;X&#8217; I&#8217;m drawing for the last touch location appears to show touches in the intended grid cell.  That&#8217;s a good thing.  My one concern is that using the grid cell as a proxy for touching an object makes it too easy to touch small objects.  If that&#8217;s case, I&#8217;ll make touches require less accuracy by allowing a few pixels of slop outside the boundaries of the game object.</p>
<p>Has anybody else experience this in their game design? How did you solve it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/09/26/iphone-touch-accuracy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone game prototype</title>
		<link>http://www.buzzardsoft.com/2009/09/17/iphone-game-prototype/</link>
		<comments>http://www.buzzardsoft.com/2009/09/17/iphone-game-prototype/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 02:16:43 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=21</guid>
		<description><![CDATA[I&#8217;ve finally found some time to start working on an iPhone game that I&#8217;ve been thinking about writing. I won&#8217;t give out too many details of the game itself at this point, but I thought it might be interesting to &#8230; <a href="http://www.buzzardsoft.com/2009/09/17/iphone-game-prototype/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally found some time to start working on an iPhone game that I&#8217;ve been thinking about writing. I won&#8217;t give out too many details of the game itself at this point, but I thought it might be interesting to some of you if I share a few notes about my approach so far. I&#8217;m fairly new to iPhone development and certainly to iPhone <em>game </em>development, so this will be a learning experience that I&#8217;ll share here.<br />
<span id="more-21"></span><br />
First, of course, is the concept. Despite many books on the subject, I&#8217;m not sure that there&#8217;s any magic process to coming up with an idea for a game or any other product. For me, this was just something that came to me one day. The key is taking the idea and developing something out of it, which is something I did in off times (waiting for bus, etc.). I decided that the idea held water, so I moved onto the next stage.</p>
<p>Second &#8211; I spent a bit of time writing down the concept that had been in my head and brainstorming other possibilities that may or may not make it into the game. What is written down still constitutes a fairly loose concept with no exact details. This is not a specification that could be handed off to an engineer to code. This is purely my ideas written down so I don&#8217;t forget them at the point that I start coding the product. In this particular instance, this amounts to 2 pages of stuff written down in my Moleskine (quad-ruled of course!). Once the game is released, I plan on releasing a scan of these notes on this blog to show you where I started and what I ended up with.</p>
<p>Just last week, I started coding the game. To begin, I decided to take an evolutionary approach to the implementation rather than drilling down into the details up front. I think this is the best approach given that I&#8217;ll be learning more about the iPhone platform  as I&#8217;m coding . I think this also encourages me to continuously refine the game on the fly.</p>
<p>So what have I been implementing so far?</p>
<p><strong>Game loop: </strong>A major portion of any game is the game loop.  Essentially, this is the pulse of your game where you move objects, do collision detection, and then redraw the contents.  There are various ways to approach this, but I am currently using a NSTimer set to fire 10 times a second.  A NSTimer is not guaranteed to fire at exactly the interval I specify, but it&#8217;s close enough for now that the rest of my code is assuming the interval is constant.  If I get to a point where the frame rate becomes variable due to excessive load, then I&#8217;ll investigate other methods to make it more steady or I&#8217;ll take the actual framerate into account when calculating how to move the objects in the game.</p>
<p><strong>Graphics: </strong>For now, I&#8217;m implementing the graphics using Core Graphics and just using simple drawing functions to draw into a <a href="http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html">CGContext</a>. I have never written OpenGL code, so that would be a roadblock to me in my quest to develop the game play.</p>
<p>For starting with a 2D game, I think using really simple graphics to start out with is a good idea.  I want to get the gameplay going and then enhance the look over time.  With a 3D game, I&#8217;m not sure that this this approach will work quite as well (and it may not apply to all 2D games), but depending on your game you might be able to get away with drawing spheres and boxes and then enhancing the 3D models over time.</p>
<p><strong>Input: </strong>I&#8217;m just using  <a href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/UIResponder/touchesEnded:withEvent:">-touchesEnded:withEvent:</a> in my view to handle input.  I don&#8217;t think I&#8217;ll need to get more complicated than that.</p>
<p>So what are the next steps?  In the immediate future, I will continue refining the game play. That&#8217;s the most important thing. If the game isn&#8217;t fun and well-balanced, then it&#8217;s just not going to succeed.</p>
<p>After I&#8217;m happy with the game play, I will loop back to refining the graphics which are far too abstract for a final product at the moment. I generally appreciate form over function, but from the perspective of the users of a game they will want attractive graphics instead of colored blobs. I will eventually see whether I can spice them up a bit just using Core Graphics. If I can &#8211; great!  Otherwise, I may investigate whether pre-drawn sprite bitmaps are the way to go. Or, I may still have to learn how to use OpenGL in order to get the look and effects I&#8217;m looking for in order to give this a good visual polish.</p>
<p>At some point, I&#8217;ll have to address sound effects for the game as well. I&#8217;m not quite sure where that fits in, but I figure that I&#8217;ll start working on that while I refine the game play. I have much to learn about this area.</p>
<p>Hopefully some of you will find this useful. I plan on posting some more notes on my progress as my work progresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/09/17/iphone-game-prototype/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>So long LaserWriter</title>
		<link>http://www.buzzardsoft.com/2009/09/13/so-long-laserwriter/</link>
		<comments>http://www.buzzardsoft.com/2009/09/13/so-long-laserwriter/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 23:22:23 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=14</guid>
		<description><![CDATA[A couple of weeks ago, I made the sad decision to retire my old LaserWriter 4/600 PS printer. It has served me well for a long time, but it is now time for me to let it go. I bought &#8230; <a href="http://www.buzzardsoft.com/2009/09/13/so-long-laserwriter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, I made the sad decision to retire my old LaserWriter 4/600 PS printer.  It has served me well for a long time, but it is now time for me to let it go.</p>
<p><span id="more-14"></span></p>
<p>I bought it in 1995 for around $650 as I recall and used it heavily to print excerpts from manuals (e.g. The Powerplant Book), specs, and other documents.  I even bought a stapler to staple larger documents of 50-100 pages.</p>
<p>When I updated my network to Ethernet, I picked up an unused Ethernet-to-Localtalk adapter from my day job at the time so that I could keep printing.  The adapter never worked nicely with my 10/100 Base-T network, so I had to keep it on my old 10 Base-T hub.</p>
<p>Since then &#8211; and probably in large part to the availability of information on the internet &#8211; I haven&#8217;t printed as many large documents.  Even so, documents have become more graphics intensive &#8211; a problem for the old beast.  I did upgrade the RAM at one point (from 2MB to 6MB) just so the printer wouldn&#8217;t choke on bigger documents.</p>
<p>In any case, I bought a <a href="http://www.lexmark.com/lexmark/product/home/999/0,6970,204816596_653293751_1286193127_en,00.html?tabId=1">Lexmark E360dn Monochrome Laser Printer</a>, which is much faster, prints double-sided and cost much less than my old LaserWriter did originally.</p>
<p>As one last call to duty, I wanted to have the LaserWriter print out its test page.  The &#8220;print test page at power up&#8221; feature had been turned off, and there is no way to turn it back on in Mac OS X.  I, unfortunately, do not have a system with Mac OS 9 on it anymore so there was no way to turn it back on.  After much digging, I found an <a href="http://developer.apple.com/documentation/Hardware/Developer_Notes/Printers/LaserWriter_4_600_PSPrintr.pdf">Apple Developer Note</a> which included details of how to print the sample page.  So I embedded the following in a &#8220;.ps&#8221; file and printed it from my Mac.</p>
<blockquote>
<pre>%!PS
/SamplePages /ProcSet findresource /StartPage get cvx exec</pre>
</blockquote>
<p>Click <a href="http://blog.buzzardsoft.com/wp-content/uploads/2009/09/lw4-600ps-test-page.jpg" target="_blank">here</a> to see a scan of the last test page I printed (278KB, opens in new window). Almost 10K pages printed!</p>
<p>Now I&#8217;ll take it off to <a href="www.freegeek.org">Free Geek</a> and perhaps somebody will buy it, or it will just &#8211; <em>*sniff*</em> &#8211; get recycled.</p>
<p>Farewell, LaserWriter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/09/13/so-long-laserwriter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Developer Program Enrollment process</title>
		<link>http://www.buzzardsoft.com/2009/06/15/iphone-developer-program-enrollment-process/</link>
		<comments>http://www.buzzardsoft.com/2009/06/15/iphone-developer-program-enrollment-process/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 03:54:54 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=5</guid>
		<description><![CDATA[Buzzard Software is now officially enrolled in Apple&#8217;s iPhone Developer Program! For those of you who are about to enroll yourselves, below is a summary of our experience.  For comparison, you can also read some other enrollment stories here and here. &#8230; <a href="http://www.buzzardsoft.com/2009/06/15/iphone-developer-program-enrollment-process/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Buzzard Software is now officially enrolled in Apple&#8217;s iPhone Developer Program!</p>
<p>For those of you who are about to enroll yourselves, below is a summary of our experience.  For comparison, you can also read some other enrollment stories <a title="here" href="http://iphonedevex.blogspot.com/2009/04/enrolling-my-company.html">here</a> and <a title="here" href="http://www.dubbspot.com/2009/04/iphone-developer-program-enrollment-process/">here</a>.  For us, the whole process took almost 5 weeks, though your mileage may vary.</p>
<ol>
<li>We started our <a href="http://developer.apple.com/iphone/program/apply.html">enrollment</a> on April 26, 2009 as a company under the standard program.   We received an email confirmation from Apple stating that they were processing our application.</li>
<li>On May 11th, we received an email requesting information to confirm our company&#8217;s identity.  As requested, we faxed (yes&#8230;faxed) our business documents.</li>
<li>On May 18th, we received an email stating that Apple was waiting for information and that we should send it, or contact Apple if we had already sent it.  Since we had already sent the information, I sent an email to Apple to figure out was going on.</li>
<li>We received a response from Apple on May 23rd, confirming that our company information had been received and that our enrollment was being processed.</li>
<li>I received a phone message from Apple late on May 28th requesting that we contact them.  I called them on May 29th.  They just wanted to confirm our mailing address and contact phone number.  As a result, I was told I&#8217;d get an email pointing me to the license agreement I would need to agree to.</li>
<li>I read the license agreement on May 30th, agreed to it, and was then able to purchase membership in the iPhone Developer Program ($99).  After purchase, I received an email with my activation code within a few hours, after which I activated my account.</li>
</ol>
<p>Now, we need to finish up our application and get set up to sell it in the App Store.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/06/15/iphone-developer-program-enrollment-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello</title>
		<link>http://www.buzzardsoft.com/2009/05/31/hello/</link>
		<comments>http://www.buzzardsoft.com/2009/05/31/hello/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 00:13:39 +0000</pubDate>
		<dc:creator>buzzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.buzzardsoft.com/?p=3</guid>
		<description><![CDATA[Greetings!   Just a quick note to kick off this blog.  I have no predisposed plan for blogging in terms of frequency of posts.  However, I do intend to provide some business and software development insights from a Mac and &#8230; <a href="http://www.buzzardsoft.com/2009/05/31/hello/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Greetings!   Just a quick note to kick off this blog. </p>
<p>I have no predisposed plan for blogging in terms of frequency of posts.  However, I do intend to provide some business and software development insights from a Mac and iPhone developer whenever I have topics to discuss.</p>
<p>So, welcome!  And stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buzzardsoft.com/2009/05/31/hello/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

