<?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; programmerly</title>
	<atom:link href="http://www.cultoftheturtle.com/tag/programmerly/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>Quiet or Technical</title>
		<link>http://www.cultoftheturtle.com/2010/02/22/quiet-or-technical/</link>
		<comments>http://www.cultoftheturtle.com/2010/02/22/quiet-or-technical/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 17:43:31 +0000</pubDate>
		<dc:creator>Joe Tortuga</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[programmerly]]></category>

		<guid isPermaLink="false">http://www.cultoftheturtle.com/?p=219</guid>
		<description><![CDATA[So this week, I&#8217;m either going to be quiet or technical.  I do have some things to write about inFamous, but I&#8217;m focusing on coding htis week.  So, I&#8217;ll either be quiet, or writing code gobbledygook.  (So, for some of you, technical is essentially quiet. Or you wish it were;)
Well the 371-in-1 [...]]]></description>
			<content:encoded><![CDATA[<p>So this week, I&#8217;m either going to be quiet or technical.  I do have some things to write about inFamous, but I&#8217;m focusing on coding htis week.  So, I&#8217;ll either be quiet, or writing code gobbledygook.  (So, for some of you, technical is essentially quiet. Or you wish it were;)</p>
<p>Well the 371-in-1 Klik&#8217;n'Play event at Glorious Trainwrecks looms kind of close. I&#8217;m not as far along as I want to be, honestly, but a decent map and tile class will be good enough, I think.  I&#8217;ve settled on jQuery and a game library written for it, called gameQuery.  The latter seems to mostly handle animations (which I&#8217;m not using a great deal, but any Tile class I use should be able to handle it).  The other issue is that jQuery isn&#8217;t very object oriented (like Prototype and Dojo, which I&#8217;ve also worked with).  That&#8217;s not a problem, but I&#8217;ve been doing OO programming for so long, it&#8217;s hard not to think in those ways.</p>
<p>One thing I&#8217;m thinking about is Map tiles.  Normally you&#8217;d mange it with a flyweight pattern, and load a tile image that would be split up in tile-sized bits, and used to build your map. One image is one internet connection, and you only have the image one place, except when it&#8217;s being drawn.  This is a pretty good pattern and a standard way of writing a map, but I got to thinking about it &#8212; browsers already do this.  So long as the graphic url is the same, it pulls it from cache or downloads it once from the internet.  Let&#8217;s not over do things and do what the browser is going to do already.</p>
<p>So I&#8217;m not going to worry about loading and drawing graphics.  I&#8217;ll just set the URL on any of the map tiles, and keep a buffer around the map so it scrolls prettily.  And part of this shortcutting is that I have a week or so, and I don&#8217;t want to dawdle over the right way to do something, I just want to get it done. If it&#8217;s successful, I&#8217;ll fix it later. If it&#8217;s not, then the time wasn&#8217;t wasted.</p>
<p>OTOH, and since I&#8217;m second-guessing myself like crazy, having these as canvas objects means I can do cheap color animation, and that sort of thing, by redrawing the graphics.  So I dunno.  Maybe there&#8217;s an easy way to duplicate dom entries in jQuery, so that so long as it looks like an image, I can use it as a tile. Too bad almost no one supports animated pngs <img src='http://www.cultoftheturtle.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Of course, part of the issue i&#8217;m having is graphics themselves. I shouldn&#8217;t be worrying about it, but I am.  I need some basic stuff, and I can&#8217;t draw&#8211;nor am I going to have time to draw.  I just need to commit to the idea that my games are going to be about polygons doing polygonal things in a polygonal world. Dangit!</p>
<p>So, now i&#8217;m working on the classic map game that I always write to do this: concentration.  There&#8217;s a sample out there, and I&#8217;m liberally copying, but hey I&#8217;m learning. As always, you can access these (and read all of the code, of course) at my <a href="http://games.cultoftheturtle.com/">games website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cultoftheturtle.com/2010/02/22/quiet-or-technical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canvas</title>
		<link>http://www.cultoftheturtle.com/2010/02/04/canvas/</link>
		<comments>http://www.cultoftheturtle.com/2010/02/04/canvas/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 14:15:17 +0000</pubDate>
		<dc:creator>Joe Tortuga</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[programmerly]]></category>

		<guid isPermaLink="false">http://www.cultoftheturtle.com/?p=146</guid>
		<description><![CDATA[So, I said the other day that I was going to work more with HTML5 since the triumvirate of Python/Pygame/PGU were starting to bother me.  I don&#8217;t want to denigrate either python or pygame as both are well developed, maintained and documented projects.  I don&#8217;t quite get PGU, and I think it mainly suffers from [...]]]></description>
			<content:encoded><![CDATA[<p>So, I said the other day that I was going to work more with HTML5 since the triumvirate of Python/Pygame/PGU were starting to bother me.  I don&#8217;t want to denigrate either python or pygame as both are well developed, maintained and documented projects.  I don&#8217;t quite get PGU, and I think it mainly suffers from the fact that programmers aren&#8217;t usually also writers.  Tech writing is its own specialty that is under-appreciated in the open source world, I think.</p>
<p>Anyway, that&#8217;s not why I want to abandon the way I was going.  Here&#8217;s the thing: for someone to run my pygame game, they&#8217;ve got to have python installed (and the correct version).  Also they need the pygame libraries installed, plus any libraries that I use need to be installed or delivered with my game.</p>
<p>I remember what this was like.</p>
<p>When I first became a full time programmer, I worked on a 4GL called PowerBuilder.  It took four hours to compile, and even then it was only pseudo-compiled.  In order to distribute it, you had to include 14 other DLLs, along with the executable and libraries you used. It didn&#8217;t come with an installer (ubiquitous setup programs came with windows 95, and this was in the Windows 3.1.1 days).  So we had to compile it &#8212; and just in case something had changed &#8212; copy all those DLLs along with it to send to the client.  Back then, that meant copying it to a disk and mailing it.  As our application grew, it no longer fit on a single 1.4MB floppy disk, so we had to go to two disks, which introduced more error.</p>
<p>I worked with other companies, but kept this up for several years.  VisualBasic was slightly better for distribution with it&#8217;s runtime, but writing VB game the hives.</p>
<p>Then came the web, and everything pretty much changed.   We lost that &#8220;client/server&#8221; architecture in favor of one that mirrored the old mainframe methods, just with a much smarter, more capable client.  (IT goes in these cycles, I wouldn&#8217;t be surprised if in 5-10 years we&#8217;re back to a client/server model, but the current trends are away from that.)</p>
<p>You see the same thing in game development. Most games on my PC want to install DirectX.  There&#8217;s still a huge suite of files installed when you run the setup for a game, and all that has to be managed, designed to run on multiple operating systems (even if they are all windows), builds, etc.  Abstraction is good, minimal distribution is better.</p>
<p>The thing is, pretty much everything that connects to the internet today has a browser. Pretty much system has a browser that supports HTML5.  Maybe you&#8217;re stuck in an environment where you must use IE.  Well, you probably aren&#8217;t playing games there, eh?</p>
<p><a href="https://www.lordofultima.com/en">Lord of Ultima</a> says, &#8220;All you need to enter is a normal web browser&#8230;,&#8221; as Corvus <a href="http://corvus.zakelro.com/2010/02/semiotweet-1265142868/">pointed out recently</a>.  That&#8217;s pretty appealing.</p>
<p>I&#8217;m not finding any libraries yet, but the other reason I&#8217;m switching is that writing HTML and javascript is something that I do every day at my job.  My javascript-fu is a little rusty, but it&#8217;s coming back to me as I play with things.  You can look at some of my experiments over at the new <a href="http://games.cultoftheturtle.com/">Games website</a> which is more of a lab at the moment. I do have a bouncing ball thing working using canvas.</p>
<p>It&#8217;s not much, but you know what? It works in Firefox and Chrome under windows xp and windows 7.  It also works on my iPod Touch and the browser on my Android phone. I bet it works under Linux and MacOS and on the iPad, too.  There will be some game design issues if I use keyboard controls, or want to support multitouch &#8212; those are the edge capabilities now.  But mouse clicks and single tap controls should work across all the platforms, defining the constraints of the design.</p>
<p>I&#8217;m excited by it, and it&#8217;s fun to boot!  Now to keep work on these tools so they&#8217;re ready in three and a half weeks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cultoftheturtle.com/2010/02/04/canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
