<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-5927544581291786949</id><updated>2009-12-08T14:43:25.861-06:00</updated><title type='text'>The Code Zone Bargain Basement Blog</title><subtitle type='html'>Imparting Game Development Wisdom of dubious quality for eight years running!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default?start-index=26&amp;max-results=25'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-1461041894396446289</id><published>2009-12-08T13:33:00.001-06:00</published><updated>2009-12-08T13:33:36.396-06:00</updated><title type='text'>Freebies</title><content type='html'>Figured I hadn't done this in a while, so I'm posting a list of a couple of useful freebies.&lt;br /&gt;&lt;br /&gt;First is &lt;a href="http://www.dehats.com/drupal/?q=node/58"&gt;Lita&lt;/a&gt;. It's an Adobe AIR application that's a nice friendly graphical front-end for SQLite files. I use SQLite files in my own games to hold the settings and high score tables, and Lita is the perfect thing to check the files to make sure they look the way I intended.&lt;br /&gt;&lt;br /&gt;Next is &lt;a href="http://www.ccleaner.com/"&gt;CCleaner&lt;/a&gt;, which is a dandy little gizmo that gets all the crud outta your system without (thus far) screwing anything up. It actually does quite a good job.&lt;br /&gt;&lt;br /&gt;Third is something you already know about. &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;Notepad++&lt;/a&gt;. Whether you just want something better than notepad or you wanna do some heavier stuff, it'll handle it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Last, and least related, is &lt;a href="http://www.hulu.com/labs/hulu-desktop"&gt;Hulu Desktop&lt;/a&gt;. It's not programming related at all, but it's quite a nice thing for watching lots of TV on your computer. Between this and Windows 7's "finally it's good enough" Windows Media Center, you no longer need cable TV.&lt;br /&gt;&lt;br /&gt;Only complaint is that Hulu Desktop is a standalone thing and it refuses, REFUSES, to integrate with Windows Media Center (unlike Netflix, which loves WMC just fine). While it's not perfect, somebody put together a little hack &lt;a href="http://huluwmc.teknowebworks.com/"&gt;here&lt;/a&gt; that at least gives you a Hulu icon in WMC so you can switch to Hulu without going to the Start menu. Good if you have a TV.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-1461041894396446289?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/1461041894396446289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=1461041894396446289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/1461041894396446289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/1461041894396446289'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/12/freebies.html' title='Freebies'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-1189577756886429741</id><published>2009-12-04T12:17:00.005-06:00</published><updated>2009-12-04T12:44:21.888-06:00</updated><title type='text'>Filling in the blanks</title><content type='html'>Okay, I think I have the back-story to "The Teletubbies" figured out. . .&lt;br /&gt;&lt;br /&gt;They're clearly not human. They're apparently mammalian, but they have no apparent gender other than by appellation. Thus I assume they're aliens, also evidenced by them being surrounded by technology beyond current human capabilities, going as far as actually containing electronic screens in their thoracic cavity. From their behavior, they seem unskilled and are largely uninterested in this technology that surrounds them and nurtures them (the speaker that announces events, the "nu nu", the food machine).&lt;br /&gt;&lt;br /&gt;From this I assume that they are aliens but they are not the same aliens that created the technology. They are either a sub-species of alien or perhaps mentally deficient members of an advanced alien society, and they have been collected together and are being nurtured by a biosphere that's been constructed to their liking (grass, bunnies, baby-sun). This biosphere appears to be self-sustaining, as no other living creatures are ever seen other than the bunnies, grass, and flowers. And the semi-sentient technology that surrounds them appears to have been created to maintain them, namely the food machine that makes Tubby Toast and Tubby Custard, and the "nu nu" which cleans up. I assume they're not a larval form of the more advanced aliens, as the technology makes no effort to educate them or advance them to a state where the bunny-filled biosphere would no longer be suitable.&lt;br /&gt;&lt;br /&gt;I assume the Tubbies' intelligence and capacity for ethics are severely limited, which is why they always shout "NAUGHTY NU NU" at the robotic cleaning-up machine even when it's clearly done nothing wrong. Perhaps their environment is intended to keep them separate from the larger population, where their misplaced sense of "naughtiness" might cause trouble for society at large.&lt;br /&gt;&lt;br /&gt;So from this I am drawing the conclusion that the Teletubbies are mentally defective children of a technologically advanced alien race. Since they enjoy each others' company and clearly don't mind performing the same rote tasks every day, they were collected into a self-maintaining biosphere that's designed to keep them together and happy to the extent that their limited capacity for learning and entertainment can allow.&lt;br /&gt;&lt;br /&gt;Whether this biosphere exists on the alien planet, another planet, or is floating through space somewhere is not clear. The Tubbies lack the curiosity to explore the frontiers of their environment, so it was never shown on the show.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Next week:&lt;/span&gt; The Professor never fixed the boat because professors can't get hot chicks like Ginger and Mary Ann unless they're stuck on an island.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-1189577756886429741?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/1189577756886429741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=1189577756886429741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/1189577756886429741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/1189577756886429741'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/12/filling-in-blanks.html' title='Filling in the blanks'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-8888265064910301822</id><published>2009-12-01T15:05:00.003-06:00</published><updated>2009-12-01T15:10:35.790-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='siteannouncements'/><title type='text'>Site attack</title><content type='html'>Just a quick note. Thecodezone.com and some of its related sites were attacked by a drive-by malicious hack last week. Thankfully, the attack wasn't entirely successful as it relied on a couple of commands that were disabled. Best I can tell, the attack attempted to auto-forward all thecodezone.com visits to an Eastern-European site, where they'd most likely try to turn your computer into a spam gateway.&lt;br /&gt;&lt;br /&gt;In any case, the attack didn't work. Your personal data (the little I actually store, which is just your email address) wasn't compromised. At worst, you got some weird PHP errors when you entered the site.&lt;br /&gt;&lt;br /&gt;Hopefully everything's fixed and is marginally better locked-down than before. If you see any other odd behavior, please email me at john@thecodezone.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-8888265064910301822?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/8888265064910301822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=8888265064910301822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8888265064910301822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8888265064910301822'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/12/site-attack.html' title='Site attack'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-5441320124948333099</id><published>2009-11-30T13:18:00.003-06:00</published><updated>2009-11-30T13:39:39.658-06:00</updated><title type='text'>Macbooks and regular books</title><content type='html'>Howdy hoo. I'm back for the time being. I'm frustrated right now because my MacBook suddenly decided that it didn't wanna bother with that whole "booting" thing and just chugs merrily along showing a little gray spinny thing. Everything I've found on The Google hasn't helped. Next stop is my local Apple store where I am supposed to find a "Genius Bar". I'm not quite sure what that is. Hopefully it is just what it sounds like - a large metal bar that can be used by geniuses like myself to clobber their MacBooks until they decide to start working again.&lt;br /&gt;&lt;br /&gt;But I digress.&lt;br /&gt;&lt;br /&gt;Chilly here in Texas. Weather's actually rather pleasant, but no longer warm.&lt;br /&gt;&lt;br /&gt;On the "I'm probably the last guy to find this out" front, I discovered that Digital Eel is giving away a bunch of their older games for free. Free is good, and Digital Eel's stuff is especially good. A list of their games (free and non-free) is &lt;a href="http://www.digital-eel.com/games.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On the gamedev front, I have not much but book-reviews once a week for the rest of the year. I'll try to get those going out every Friday until all books are read.&lt;br /&gt;&lt;br /&gt;And finally. Speaking of books, I read two books over vacation, and I can heartily recommend 'em both.&lt;br /&gt;&lt;br /&gt;First was &lt;span style="font-style: italic;"&gt;Memoirs of an Invisible Man&lt;/span&gt; by H.F. Saint. Yes, the one from that Chevy Chase movie. I'd always heard that the movie didn't do the book justice, and I figured that had to be the case once I saw the original's 450-page heft. You do have to wade through the book's first 20-odd pages that contains an inexplicable sex-on-a-train scene and an overlong description of a hangover that has nothing to do with ANYTHING except maybe to make the main character slightly less sympathetic. But once the plot starts moving (i.e. once the guy becomes invisible), the book is a terrific ride.&lt;br /&gt;&lt;br /&gt;Second was (and is, I'm almost done) &lt;span style="font-style: italic;"&gt;First Contract &lt;/span&gt;by Greg Costikyan. If the author sounds familiar, it's because he's a fixture in the game design industry since the 1970's. He writes for Gamasutra and regularly speaks at conventions. I'm actually not sure how I was turned on to this book. I think I saw it mentioned in somesuch development blog, saw that it was available on &lt;a href="http://www.paperbackswap.com/index.php?n=7&amp;amp;r_by=john%40thecodezone.com"&gt;PaperbackSwap&lt;/a&gt; and grabbed a copy.&lt;br /&gt;&lt;br /&gt;It's a load of fun. It's the story of a tech CEO who's on the verge of releasing an exciting new technological gadget when the aliens land. It's a lot of fun and doesn't take itself very seriously. For humorous science fiction, it's not as densely packed with one-liners as the Hitchhikers Guide books, but it's a lot more plot driven.&lt;br /&gt;&lt;br /&gt;I recommend 'em both.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-5441320124948333099?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/5441320124948333099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=5441320124948333099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5441320124948333099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5441320124948333099'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/11/macbooks-and-regular-books.html' title='Macbooks and regular books'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-7647292683729208464</id><published>2009-10-27T08:39:00.003-06:00</published><updated>2009-10-27T09:03:09.399-06:00</updated><title type='text'>Gamedev.net collection sample code downloads</title><content type='html'>Since the gamedev.net collection books were published, Drew and I have gotten a couple of emails from people looking for the sample code. There's none in Drew's books (the blue and black book), but there's plenty of downloadable sample code in my books (green and orange). We opted not to have a pack-in CD (mainly because I hate 'em because they can never be updated and are usually full of 30-day test versions of software that's out of date by the time the book hits the shelves).&lt;br /&gt;&lt;br /&gt;Whenever I wanted the user to be able to download a sample file from the book, I just referred to it as being available on "the book's companion website". Problem is, "the book's companion website" isn't easy to find. If you try to find it on cengage.com, you'll hit a dead end.&lt;br /&gt;&lt;br /&gt;So, in the interest of being able to refer people to the site, "the book's companion website" is right here. . .&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.courseptr.com/ptr_detail.cfm?group=Game%20Design%20%26%20Development&amp;amp;subcat=Game%20Programming&amp;amp;isbn=978-1-59863-805-9"&gt;&lt;span style="font-style: italic;"&gt;Beginning Game Programming: A GameDev.net Collection&lt;/span&gt; (aka The Orange Book)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.courseptr.com/ptr_detail.cfm?group=Game%20Design%20%26%20Development&amp;amp;subcat=Game%20Programming&amp;amp;isbn=978-1-59863-806-6"&gt;&lt;span style="font-style: italic;"&gt;Advanced Game Programming: A GameDev.net Collection&lt;/span&gt; (aka The Green Book)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.courseptr.com/ptr_detail.cfm?group=Game%20Design%20%26%20Development&amp;amp;subcat=Game%20Design&amp;amp;isbn=978-1-59863-808-0"&gt;&lt;span style="font-style: italic;"&gt;Design and Content Creation: A GameDev.net Collection&lt;/span&gt; (aka The Black Book)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.courseptr.com/ptr_detail.cfm?group=Game%20Design%20%26%20Development&amp;amp;subcat=Design%20%26%20Business%20Development&amp;amp;isbn=978-1-59863-809-7"&gt;&lt;span style="font-style: italic;"&gt;Business and Production: A GameDev.net Collection&lt;/span&gt; (aka The Blue Book)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that the black and blue books don't have any downloads associated with 'em, but you can still read the official descriptions and author-bios and tables of contents.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm still considering registering my own site, ala gamedevcollection.com, although it'd probably be better to pester the gamedev uberlords into letting me have something like gamedev.net/collection or collection.gamedev.net where I can post links to errata (none yet) and discussion topics and deep-links to the code.&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-7647292683729208464?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/7647292683729208464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=7647292683729208464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7647292683729208464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7647292683729208464'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/10/book-downloads.html' title='Gamedev.net collection sample code downloads'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-8765813541428238881</id><published>2009-10-22T10:46:00.005-06:00</published><updated>2009-10-22T11:59:29.576-06:00</updated><title type='text'>Zip Wars!</title><content type='html'>I promised more content in the blog, so here's some. . .&lt;br /&gt;&lt;br /&gt;One perk of being a reviewer is that I occasionally get unsolicited bits of whatever from people fishing for new reviews. And last week, out of the blue, the &lt;a href="http://www.winzip.com/"&gt;WinZip&lt;/a&gt; people sent me a magic code to unlock the latest version of WinZip Pro in the hopes that I'd give 'em a shout-out for the site. And since I'm a longtime user of &lt;a href="http://www.powerarchiver.com/"&gt;PowerArchiver&lt;/a&gt;, I decided to put together a little head-to-head.&lt;br /&gt;&lt;br /&gt;First off, I must say that both products are top-notch and do a great job of opening and saving to all of the popular archive formats as well as a lot of the unpopular ones. I could probably go point-by-point into all of the formats they support, but the list would be about 95% the same, and the 5% of difference would be formats that are obscure or abandoned and would only be useful if you found something on an old floppy disk from the 1980's that you needed to open. If you're doing ZIP or RAR or 7Z or GZ or any other popular file format, these will do the job just fine.&lt;br /&gt;&lt;br /&gt;As for interface and OS-interoperability, again they're largely the same. Here's a shot of WinZip opening a ZIP file with some folders in it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.gamedev.net/johnhattan/reviews/zip/wz.png"&gt;&lt;img src="http://members.gamedev.net/johnhattan/reviews/zip/wz_thumb.png" /&gt;&lt;/a&gt;&lt;br&gt;(click to embiggen)&lt;br /&gt;&lt;br /&gt;If you've ever used WinZip, this should be familiar. At the top is one big toolbar of oversized buttons to do common tasks. There's one "tree" pane on the left showing any folder structure in the ZIP. And there's a big pane on the right showing anything in the folder. Like the standard Windows explorer, you can view your stuff as thumbnails or small icons or as a spreadsheet-ish view with all of the details. WinZip also groks a few thumbnail formats, which is why you see the archived PNG and BMP files as thumbnail-ed bitmaps.&lt;br /&gt;&lt;br /&gt;Here's PowerArchiver opening the same file.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.gamedev.net/johnhattan/reviews/zip/pa.png"&gt;&lt;img src="http://members.gamedev.net/johnhattan/reviews/zip/pa_thumb.png" /&gt;&lt;/a&gt;&lt;br&gt;(click to embiggen)&lt;br /&gt;&lt;br /&gt;One thing that PowerArchiver added recently is a new UI that looks and acts a lot (and by "a lot" I mean "exactly" ) like Office 2007 with toolbar buttons organized into tabs and groups. It gives you a bit more functionality than WinZip's single row of buttons, but it's really a matter of taste. If you find the new Office 2007 interface offensive, you can switch back to a "classic" mode that looks quite a bit like WinZip with a single bar of buttons at the top. The classic interface is skinnable with a bunch of downloadable skins on the site, but the standard one looks just fine.&lt;br /&gt;&lt;br /&gt;As far as the panes, it's very similar to WinZip. The only difference is that the thumbnails view doesn't show the actual bitmaps, but instead shows 'em in a preview pane on the far right. It's not quite as cool as the WinZip one, but the preview pane does show a lot of formats that don't work well as thumbnails, like XML, PDF, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As far as function goes, the programs are about 95% the same. They both have tendrils that go into Windows Explorer so you can easily create ZIP files by just right-clicking on files on the desktop or in an Explorer window. They both come with the very similar ability to make standalone self-exploding EXE files. WinZip does have an apparently much more fully featured ZIP-to-EXE program that you can buy for an extra $50, but the one that comes with it is just fine for my purposes.&lt;br /&gt;&lt;br /&gt;Both programs also have the ability (in the "pro" version) to burn ZIP files directly to CD/DVD media from within the program. PowerArchiver's burn option is nicer than WinZip's, but since every version of Windows since XP has had the ability to burn CD's directly from within Windows Explorer, this isn't really much of an advantage. If I want to put a ZIP file on a CD, I'll likely just do it from Explorer rather than from within my archive program.&lt;br /&gt;&lt;br /&gt;Both products have command-line versions available for registered users. Again, this isn't much of an advantage, as command-line compression tools are plentiful and free.&lt;br /&gt;&lt;br /&gt;Both products come in "standard" and "pro" flavors and, interestingly, the differences between the standard and pro in both products are the same. The Pro version gives you the disk-burning function as well as the ability to FTP from within the product and the ability to put archiving on a schedule so you can use PowerArchiver/WinZip as a compressed backup program, perhaps compressing and copying/uploading your archive to a remote server on a schedule. Another slight edge to PowerArchiver Pro is that it can create ISO files and mount them as virtual drives from within the program. WinZip can read and extract from ISO files but can't create them or mount them as drives.&lt;br /&gt;&lt;br /&gt;Price and update-wise, I again have to give the edge to PowerArchiver. PowerArchiver is $23 for the standard edition and $35 for the pro edition (currently on sale for $31) and includes lifetime upgrades to major (full version number) and minor (bugfix) versions. WinZip is $30 for standard and $50 for pro. Their upgrade policy isn't clear, but it appears to only cover minor upgrades. They have an "upgrade assurance plan" for $7 a year which covers major and minor upgrades.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you read the stuff above, it's clear that I'm giving the edge to PowerArchiver, but it's not a very big edge. PowerArchiver did a few small things better and has a much better price and upgrade policy. That's not to say WinZip isn't a good product. In fact, both products are excellent, and if you already own one you shouldn't feel the pull to "cross-grade" to the other.&lt;br /&gt;&lt;br /&gt;It rather reminds me of the old "WordPerfect vs Word" war of the 1980's and 90's. Seemed like whenever one program came out with new features, the other would put out an upgrade leapfrogging those features. That war didn't end until WordPerfect was late to the "now available for Windows" party, but the bottom line was that in that competition the consumer ended up the winner.&lt;br /&gt;&lt;br /&gt;And the same is the case now. WinZip and PowerArchiver are two top-drawer commercial archiving programs, and the war between 'em is making us the winner.&lt;br /&gt;&lt;br /&gt;And finally, yes I know that there are a bazillion free ZIP utilities out there. I've tried quite a few of 'em, and I have yet to find one that's nearly as nice as these two. Neither WinZip nor PowerArchiver are emptying your wallet with their prices. Chances are good that you have to deal with archive files now and then, and these can really save you some time and frustration.&lt;br /&gt;&lt;br /&gt;So get one. You'll thank me for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-8765813541428238881?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/8765813541428238881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=8765813541428238881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8765813541428238881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8765813541428238881'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/10/zip-wars.html' title='Zip Wars!'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-8398993870010645301</id><published>2009-10-08T10:00:00.003-06:00</published><updated>2009-10-08T10:32:29.959-06:00</updated><title type='text'>Oh many things</title><content type='html'>Actually I have many things about which to comment. Instead of bunching the whole mess up into one post, I'll just make several posts. That'll at least give the impression that I'm posting prolifically to the Bargain Basement Blog.&lt;br /&gt;&lt;br /&gt;First off, I got a Macbook. My little Mac Mini decided to make an unscheduled exit from the land of the living, so I decided to choke two ducks with one applecore and replace my little Acer with a Mac laptop. Apple was selling "refurbished" (which is what I think they call their existing stock of laptops after one of their "we've got a new laptop, and it's for sale. . .RIGHT NOW" press conferences), so I ordered one.&lt;br /&gt;&lt;br /&gt;So far I'm happy with it. It had a couple of annoyances that I was able to fix with software. First off, the backspace key is in the right place but is named "delete" and the delete key is named. . .nothing because it doesn't have one. I found a couple of little gizmos online that'll remap keys (and you need a couple because the eject-key has key-repeat disabled), so I now have the mostly-useless "eject" key acting as the delete key. It's right above the mis-named backspace, so my fingers figured it out in short order.&lt;br /&gt;&lt;br /&gt;Next, the Mac Finder does a good job of not telling you anything about where you are. If you're in a folder, it seems to want you to think that that folder doesn't actually have a path to it but exists somewhere in space. Vista tried to do the same thing, but it had a checkbox in the settings that let you turn off that nonsense. Turns out MacOS has some similar Explorer-ish bits in the finder that let you know exactly where a folder is, but not only are they turned off by default, but they're unable to turn on easily. Enter a nice free app called "&lt;a href="http://secrets.blacktree.com/"&gt;secrets&lt;/a&gt;" that gives you access to lots of tweaks, some pointless and some really handy. So that's fixed.&lt;br /&gt;&lt;br /&gt;Finally (cover your ears, fanboys), I was able to turn off the 3D in the dock and de-centered it. I gotta agree with &lt;a href="http://www.asktog.com/columns/044top10docksucks.html"&gt;Tog&lt;/a&gt; here that some parts of the dock have sacrificed usability for cuteness. Much of what allows people to "connect" with their user interface is the stuff that you don't have to think about. Things like icons that you can instantly recognize (which is why I'm annoyed that the Flash and new FileZilla icons look similar even though a second glance shows them to be different). And one problem with the dock is that it is centered. And that means that adding a new icon to the dock by running a program shifts all of the icons iconWidth/2 pixels left and right. And my little position-sensing brain must adjust itself.&lt;br /&gt;&lt;br /&gt;On my Windows 7 machine, the leftmost icon (next to the immovable start-orb) is Firefox. It's been there for months. I can practically hit it without thinking. It never moves. I don't have to search the bottom of the screen for it. I don't have to worry if it's shoved over a few positions because other stuff is running. It's just there. It's definitely one of the things that Windows 7 got right, and I wish Apple would do Microsoft a solid and steal some of the things it got right.&lt;br /&gt;&lt;br /&gt;And guess what's now the leftmost icon in MacOS next to the immovable Finder icon. That's right, Firefox.&lt;br /&gt;&lt;br /&gt;(oh, and if you like the Windows 7 toolbar, somebody found a little hack that lets you shove the recycle bin into the right corner, which was another of Tog's dock complaints. It's &lt;a href="http://www.techspot.com/guides/196-recycle-bin-on-windows-7-taskbar/"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Now that those little bits are fixed, I quite like my little Macbook. I wish it had a free paint program that was as nice as paint.NET, but I haven't yet found one. OpenOffice works just fine.&lt;br /&gt;&lt;br /&gt;No problems here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-8398993870010645301?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/8398993870010645301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=8398993870010645301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8398993870010645301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8398993870010645301'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/10/oh-many-things.html' title='Oh many things'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-5412509186525755499</id><published>2009-09-08T11:15:00.005-06:00</published><updated>2009-09-08T11:30:17.078-06:00</updated><title type='text'>I'm viral again!</title><content type='html'>Phase 2 of my "viral" word games is now up today. It's. . .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://hangtwit.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 480px; height: 96px;" src="http://hangtwit.com/resources/banner_480x096.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;a href="http://hangtwit.com/"&gt;hangtwit.com&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It's pretty-much the same underpinnings as my recently-released cryptotwit.com, except this time it's a hangman game. It uses the same underlying database and phrase list as cryptotwit, so you can switch between the two if you want, using cryptotwit for longer phrases and hangtwit for short phrases or single words.&lt;br /&gt;&lt;br /&gt;And, like cryptotwit, it's social-enabled. You can play it at &lt;a href="http://apps.facebook.com/hangtwit/"&gt;http://apps.facebook.com/hangtwit/&lt;/a&gt; as a facebook app, or you can post your "hangmanified" phrases (a verb coined for the site meaning "to make something into a hangman game") to your facebook wall or twitter stream.&lt;br /&gt;&lt;br /&gt;I actually have a "phase three" social word game that'll work in the same way as cryptotwit and hangtwit, although I'm going to work on the mobile stuff a bit and get to it later. It's a mite more ambitious on the client-side, so I might need to contract out some art and music for it.&lt;br /&gt;&lt;br /&gt;In the meantime, please give hangtwit a try and lemme know what you think. If you find any bugs and you wanna contact me directly, the easiest way is email. As always I'm &lt;a href="mailto:john@thecodezone.com"&gt;john@thecodezone.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And if you just wanna try a couple of hangtwit games, here are some ready to go.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hangtwit.com/05s"&gt;Here is one I made up this morning. It's fairly easy.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hangtwit.com/05o"&gt;A word I used for all my testing, mainly because it reminded me of LOLcats, which my seven year-old thinks are the funniest things in the universe.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hangtwit.com/-3"&gt;Play a random hard word. Some aren't so hard. Some are nigh impossible.&lt;/a&gt;&lt;br /&gt;(I have a few hangman-nightmare words in that list like "strengths", which is a nine-letter word with only one vowel)&lt;br /&gt;&lt;br /&gt;Also if you have any good "deadly" hangman words, feel free to post 'em as comments and I'll get 'em in the list. Big thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-5412509186525755499?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/5412509186525755499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=5412509186525755499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5412509186525755499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5412509186525755499'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/09/im-viral-again.html' title='I&apos;m viral again!'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-2360782533943721838</id><published>2009-08-24T09:39:00.000-06:00</published><updated>2009-08-24T09:40:27.759-06:00</updated><title type='text'>of school and bribes</title><content type='html'>Maggie started her second week of second grade today. She's thrilled to be back at her (new) school and has already made a couple of new buddies. The teacher wasn't too tough on 'em academically the first week, so Maggie let her boundless ambition get to work.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Her first day at school, she made a school newspaper. She planned to put copies in the school office as soon as she got permission to use the copy machine.&lt;/li&gt;&lt;li&gt;Second day at school, she wrote a play. It's about vampires that make you happy when they bite you. Sounds better than "Twilight".&lt;/li&gt;&lt;li&gt;Third day of school, she wrote a book with a friend. It's about superheroes.&lt;/li&gt;&lt;li&gt;Fourth day, she and her friend made the book into a movie screenplay. They'll be filming as soon as they find a camera.&lt;/li&gt;&lt;li&gt;Fifth day, they declared that the league of superheros about which they wrote a book and a screenplay, "The Kids of Power", is now a real thing and that her character (Ice Princess) and her other super-buddies (Candy, Fire-fur, and Shadow Girl) will be solving crimes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;No idea how they're gonna top that for week two, but I'm happy that she's getting to put her imagination to work.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next, I get free stuff.&lt;br /&gt;&lt;br /&gt;Just got done listening to a show on NPR about "mommy blogs" and how they *GASP* get free products to review. And they're contrasting 'em with "daddy blogs" in which the dads would send the review products back.&lt;br /&gt;&lt;br /&gt;I'm not usually down on NPR, but the report was rather dumb. For one, the products that they said the "mommy blogs" reviewed were things like diapers and laundry detergent while the "daddy blogs" tended to review technology stuff like cellphones and game-consoles. To which I said "Wait, you're saying that reviewers should return a half-filled box of Tide in the same way that you'd be expected to return a loaner XBox?"&lt;br /&gt;&lt;br /&gt;And I don't even wanna think about returning a "loaner" diaper. Yecch.&lt;br /&gt;&lt;br /&gt;So, in the interest of full disclosure, I get free stuff. Especially books. While some books come from a publisher that sends me dang near every gamedev-title they print (Cengage), some other books come via requests from the author, some books arrive when a gamedevver wants me to check out a book for 'em and I contact the publisher for a freebie, and still other books just magically arrive on my doorstep without me asking for 'em at all.&lt;br /&gt;&lt;br /&gt;And I don't review everything. Some books just don't fit gamedev all that well, like a couple of "how to build a Linux machine cheap" books that arrived on my doorstep last month. Those books, as well as "done being reviewed" books usually end up donated.&lt;br /&gt;&lt;br /&gt;I also turn down many book requests. I get loads of requests to read novels and self-help books and religious books and other stuff. Apart from &lt;a href="http://thedaemon.com/"&gt;Daemon&lt;/a&gt;, I've turned 'em down. While I'd probably like to review novels and post 'em to the Bargain Basement Blog, press agents know where their bread is buttered. The reason they want me to review something is because they want it to appear on that big FEATURED ARTICLES box on the gamedev front page.&lt;br /&gt;&lt;br /&gt;And while your latest vampire thriller might be a fun read (especially if the vampires make you happy when they bite you), I don't think that it's gamedev material.&lt;br /&gt;&lt;br /&gt;Ditto for software and hardware. Most, but not all, of the stuff I review is gratis. Most of those Adobe products I reviewed early in the summer were stuff I purchased, but the Adobe Flex review was an NFR copy from the publisher. I have a Gyration &lt;a href="http://www.gyration.com/?l=en#productOverview/miceKeyboards"&gt;"Air Mouse and Air Mouse GO Plus"&lt;/a&gt; gizmos on my desk that'll be reviewed in a month or so. The manufacturer doesn't want 'em back when I'm done.&lt;br /&gt;&lt;br /&gt;And if you think that freebies guarantee that I'll give your product a good review, then you haven't read my latest couple of book reviews (&lt;a href="http://www.gamedev.net/columns/books/bookdetails.asp?productid=754"&gt;1&lt;/a&gt;, &lt;a href="http://www.gamedev.net/columns/books/bookdetails.asp?productid=750"&gt;2&lt;/a&gt;). Fact is, the manufacturers/publishers know that sending out a review-product may very well lead to a one-star review that'll hurt sales. That's the risk they take. I haven't yet had someone take me to task for the honesty of something I've written. They can claim I made mistakes in my evaluation of the product (after all, I'm only human), but freebie-hood doesn't equate to a bribe.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And finally, I know that the gamedev book section is a mess. And the search doesn't work. And half of the covers are broken links. And half of the books are out of print. And the only things that appear as "New Books" are books that are on my personal review-queue. Basically we're at a "fix vs rewrite" tipping point with gamedev, and we're just letting the buggy stuff limp along until our glorious new Gamedev Version 5 appears. Once that happens, it'll get better. I promise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-2360782533943721838?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/2360782533943721838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=2360782533943721838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/2360782533943721838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/2360782533943721838'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/08/of-school-and-bribes.html' title='of school and bribes'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-611139411043934099</id><published>2009-08-14T15:34:00.004-06:00</published><updated>2009-08-14T15:55:14.876-06:00</updated><title type='text'>I'm viral!</title><content type='html'>Yikes, 30 days since my last post. I guess that's more reason for you to follow me on twitter (twitter.com/johnhattan).&lt;br /&gt;&lt;br /&gt;Anyways, the project-that-cannot-be-named is now named. And its name is &lt;span style="font-weight:bold;"&gt;cryptotwit.com&lt;/span&gt;. It's a game and a website and a facebook app all rolled up in one.&lt;br /&gt;&lt;br /&gt;Basically you go to &lt;a href="http://cryptotwit.com"&gt;cryptotwit.com&lt;/a&gt; (or &lt;a href="http://apps.facebook.com/cryptotwit/"&gt;http://apps.facebook.com/cryptotwit/&lt;/a&gt; in facebook) and you'll be presented with a fairly twitterish "enter something" interface. Write up a cute quote or a message or whatever and press the "create a cryptotwit" button to encrypt it. It'll give you the encrypted message along with a link to the solver-game and a way to post your cryptotwit to your twitter timeline and/or facebook stream.&lt;br /&gt;&lt;br /&gt;It's definitely one of those "it takes a lot of work to make something simple" projects. There's only one page on the site, although the page secretly has about five states that it can be in. There's lots of little javascript bits that talk to each other and make everything act the way that you think they should.&lt;br /&gt;&lt;br /&gt;And it's written in PHP, XHTML (fully compliant, thank you very much), JavaScript, and ActionScript. It certainly takes a lot of languages to make something that looks like it was cranked out in a weekend :)&lt;br /&gt;&lt;br /&gt;It's still officially in the testing phase, but since there's no concept of accounts or invitations or anything else, there's little I can do once it gets out. So if you find a bug or something, please please please lemme know.&lt;br /&gt;&lt;br /&gt;In the meantime, here are a couple of puzzles I just posted.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cryptotwit.com/vf"&gt;a 140-character twitter-length cryptotwit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cryptotwit.com/ve"&gt;a longer and hence easier-to-solve (although harder to see) cryptotwit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And, if you don't mind. Please post a cryptotwit to facebook. I need five users before I can submit it to the app directory. Much appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-611139411043934099?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/611139411043934099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=611139411043934099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/611139411043934099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/611139411043934099'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/08/im-viral.html' title='I&apos;m viral!'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-7902872660644157262</id><published>2009-07-10T13:15:00.005-06:00</published><updated>2009-07-10T13:52:24.550-06:00</updated><title type='text'>Friday braindump</title><content type='html'>Hi there. Sorry about the sporadic posts. If you want more up-to-date updates complete with 140 character braindumps and whatever one-liner happens to cross my mind, be sure to follow me at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/johnhattan"&gt;http://twitter.com/johnhattan&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Otherwise here are the topics.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Shelly's got a new job.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Barnett Shale (a bigass rock under Fort Worth that's full of natural gas) drilling has come to a near-standstill and will likely continue to stay that way until gasoline hits $4 again. We have enough cash in reserve to weather the storm, but Shelly came across a really great opportunity in the area. It's at a place she worked pre-CivilGrrl, but now she'll be a muckety-muck on a bigass (and by "bigass" I mean &gt;$1 billion) pipeline project. So CivilGrrl is on the back burner for the time being. We're doing a couple of little mini-projects here and there, but I'm back to being a one-person office 95% of the time.&lt;br /&gt;&lt;br /&gt;Since starting on Tuesday, Shelly and I are both feeling the culture shock. Much like 1996-1999, I'm cloistered up in my office like a monk eight hours a day. Shelly suddenly has chatty coworkers. Things are a little stressful right now, but we're coping.&lt;br /&gt;&lt;br /&gt;On the good side, it's a great job and I think we'll all be the better for it once we're adjusted to the culture.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. New Project&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Well, this all started with the &lt;a href="http://mochiads.com/contest/may09"&gt;Mochiads Word Game Contest&lt;/a&gt;. While dinking around with mobile game platforms, I got the idea to hammer out a quick word-game. Then I got a better idea for a different word-game. Then I pitched to Shelly the idea to make a word game that could work via social networks.&lt;br /&gt;&lt;br /&gt;And Shelly made the mistake of telling me that my idea was brilliant and that I should put everything on hold for it.&lt;br /&gt;&lt;br /&gt;So I am. I can't talk about it right now, but it'll be a little different from my existing puzzles. It'll work as a standalone word-game that can appear on various sites. But it'll also work in its own domain.&lt;br /&gt;&lt;br /&gt;And I still wanna enter it in that contest, as I'm always one to enter a game in those Mochi contests so I can lose.&lt;br /&gt;&lt;br /&gt;So my deadline is August. I'm trying to keep the engineering to a minimum. It's a little more "churn" than usual because it's not a straight game but is a game that talks to a server on its own domain. Still, it's not too complicated. I'll certainly be courting beta testers on Twitter, so follow me if you wanna get notified.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Casual Connect is Afoot!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I'll be doing Gamedev press for &lt;a href="http://seattle.casualconnect.org/"&gt;Casual Connect&lt;/a&gt; in Seattle later this month. I have about ten requests for interviews, but only about three or four are development related.&lt;br /&gt;&lt;br /&gt;And Shelly's demanded that I come home with a pile of new fun freebie games for her laptop, so I'm in the horns of a dilemma. While I can certainly interview the press-agent for "Super Jewel Match Three Quest Whatever" in the hopes of getting a freebie, that's not really good fodder for the gamedev coverage. If I talk to the people who make PhoneHighScoreAPI 1.2, that's more game development related, but there's not a good freebie game in that.&lt;br /&gt;&lt;br /&gt;So I have a delicate balance I must strike. The wife and critter won't be there this time, as there's now a day job with which to contend.&lt;br /&gt;&lt;br /&gt;And some of these interviews are a general pain because there's very little to tell developers. While game developers would certainly be interested in getting their Flash game listed at SuperUltimateGameWhatever.com, it's a bit of a waste of time to talk to a press-agent for an hour about their site with the only developer-related information being "oh yeah, if you want us to put someone's game on the site, just email submit@superultimategamewhatever.com".&lt;br /&gt;&lt;br /&gt;Still, there'll be a bit of fun to be had there. It was a good convention last year and much easier to traverse than the GDC's.&lt;br /&gt;&lt;br /&gt;My only complaint is that they're doing it at that Seattle opera house again. While the opera house is terrific for a single big presentation, it's not good for multi-track stuff. The convention ended up renting meeting rooms in adjacent clubs and restaurants, and there was no press room to be found. Most of my meetings either involved clients renting out rooms to hold court ($$$) or us hiking around the place until we found a reasonably quiet spot with chairs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-7902872660644157262?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/7902872660644157262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=7902872660644157262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7902872660644157262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7902872660644157262'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/07/friday-braindump.html' title='Friday braindump'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-3406573263406969810</id><published>2009-06-17T09:30:00.002-06:00</published><updated>2009-06-17T10:11:39.667-06:00</updated><title type='text'>Collecting my thoughts.</title><content type='html'>Putting Appcelerator Titanium on the back-burner for the time-being, as I've deemed it to be not-as-yet mature enough to solve all of my problems. Much as I'd like to build everything with free tools, the maturity's not yet there. It'll be there when I need it (around Android/Blackberry time) and in a better state in the future.&lt;br /&gt;&lt;br /&gt;So I'm switching gears and going with maturity for now. And that means C and XCode and suchlike. Unfortunately my little Mac Mini isn't in a state where it can write iPhone stuff. First off, it's got OSX 10.4, and OSX 10.5 is necessary for iPhone development. That's $130. I'd like to just leapfrog to 10.6, as there's a $160 10.4-to-10.6 package that's gonna include all of that iLife/iWork/iWhatever stuff, but that's not happening until September and I don't wanna wait until then. I don't use the Mac for everyday productivity stuff anyway, so the iWhatever stuff isn't that big a benefit.&lt;br /&gt;&lt;br /&gt;Also I need more memory. The Mini's got 512mb which'll run 10.4 and 10.5 but won't run 10.6. 10.6 isn't a must-have to develop iPhone, but most stuff on the Mini runs about as fast as an ox pulling a U-haul trailer right now, and 2gb memory upgrades are now cheap ($35 shipped), so I have that in the mail and will mess with the plastic spatulas (no, really, you need plastic spatulas to open a Mac Mini) when that arrives.&lt;br /&gt;&lt;br /&gt;And I'll likely get a new processor too. This is a first-gen Intel Mac Mini and contains a "Core Solo" processor (AKA a Celeron, but Apple can't call it that after their old campaign to rebrand Celeron as "Decelleron" when they were still pretending that PowerPC chips were faster). I looked it up and the chip's not soldered in and you can slap a dual-core into the original Intel Mini and it'll recognize it. Only problem is that the Mini is put together a bit like that magic-demon-puzzle-box thingy in "Hellraiser" and you gotta disassemble the whole danged thing to get to the processor.&lt;br /&gt;&lt;br /&gt;And Shelly's pestering me to be vigilant about the process so my mind don't wander. So the process thus-far is as follows. . .&lt;br /&gt;&lt;br /&gt;1. Come up with fabulous mobile game idea (already done)&lt;br /&gt;2. Document idea (will do by Friday)&lt;br /&gt;3. Install OSX 10.5 into Mac Mini so I can install iPhone development stuff&lt;br /&gt;4. Install 2gb memory upgrade when it arrives so the Mini won't be quite so pokey.&lt;br /&gt;5. Develop iPhone app in C, most likely using Cocos2D for the presentation layer. I'm not wild about the process, but it's undoubtedly mature (squillions of games having been developed, used, and deployed with this system), so I won't complain much.&lt;br /&gt;6. Simultaneously with 5, order a dual-core processor for the mini, re-disassemble and install processor. Hopefully the Mini will then be even further from pokey than in step 4.&lt;br /&gt;7. Finish iPhone app.&lt;br /&gt;8. Get app approved by content police.&lt;br /&gt;9. Deploy and sell game for free or a very low price (this is my "getting my feet wet" project so I'm not shooting for big big profits with this go-round).&lt;br /&gt;10. Return to step one and repeat process with a larger-scope game, eliminating the upgrade steps as my Mac Mini is now hopefully quite beefy enough to develop reasonably.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Speaking of processor upgrades, I had a really weird thing happen on Shelly's machine. It just got slow. And not just a little slow. A lot slow. We're still not sure exactly what the deal was, but it just got really slow. At first I thought it was software. Perhaps something got installed that was running in the background and hogging up all the CPU. But it never seemed to improve. Sometimes we'd get a brief respite, but it'd inevitably go right back to being slow again.&lt;br /&gt;&lt;br /&gt;Just for grins, I ran that Windows Experience Index that came with Vista, and the CPU was scoring itself as 2.2, which is almost comically slow. As a comparison, the Celeron in my cheap laptop runs at a 3.9. The identical system (my machine across the room) had a CPU index of 7.1. Clearly something was wrong. A quad-core machine shouldn't get a 2.2.&lt;br /&gt;&lt;br /&gt;Finally I got a light bulb above my head. Shelly's computer is pretty-much identical to mine. I plugged Shelly's drive into my computer and booted it up. Given that my computer is pretty-much an identical machine to hers, it should give similar results. And the Windows Experience CPU index registered 7.1, which means that the problem was NOT software. If it was software, it would run slow no matter what machine it was plugged into.&lt;br /&gt;&lt;br /&gt;So a couple of hours and a motherboard later Shelly's computer was back together, happy as can be and running quick as a quad-core machine should run. No idea what'd be happening to make it get slow like that. But it's one of those things that you can only wrestle with for so long before you just have to replace stuff until the problem goes away.&lt;br /&gt;&lt;br /&gt;Bleah, expensive problem. Anyone want a slow motherboard?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also I replaced the CPU on my laptop. Just for grins, I googled to see what I could do to make my little $350 "Wal Mart Special" Acer laptop faster. And it turned out that my laptop is about the most upgradable one on the market. Everything's accessible from a panel on the bottom, and it runs dual-core CPU's just fine. So I ordered myself a dual-core CPU and prepared to disassemble the whole danged thing. The whole process ended up taking about ten minutes, and my little cheapo disposable laptop is now pretty quick.&lt;br /&gt;&lt;br /&gt;So I'm getting a little more life from the cheapo computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-3406573263406969810?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/3406573263406969810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=3406573263406969810' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3406573263406969810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3406573263406969810'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/06/collecting-my-thoughts.html' title='Collecting my thoughts.'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-6798074141070938299</id><published>2009-06-09T12:13:00.002-06:00</published><updated>2009-06-09T12:36:43.972-06:00</updated><title type='text'>Early adopter pains</title><content type='html'>Been playing with &lt;a href="http://www.appcelerator.com"&gt;Appcelerator Titanium&lt;/a&gt;, which is a gizmo that lets apps that are actually browser stuff under the hood (html, js, python, ruby) act like first-class applications. And they just announced at WWDC (the apple developer conference where they announce stuff that's important for developers like "the iPhone now has a clipboard", mmmyeah) that they're going mobile. Imagine Adobe AIR for mobile and you get the idea.&lt;br /&gt;&lt;br /&gt;Whether this is yet-blessed by the iPhone content-police is still not stated. I think that's a big deal-breaker, so I hope they're working DAMN HARD behind the scenes to make that happen, but I digress.&lt;br /&gt;&lt;br /&gt;And my good pal Don Thorp is also involved, so I'm being a good pal and am getting bugs. I realize that this is an ambitious project (only took Adobe five years to go from Adobe Central to AIR) and has a thousand ragged edges. Also you're still shmoozing people with free T-shirts and suchlike, so who knows when bugs will actually be fixed.&lt;br /&gt;&lt;br /&gt;And the fact that I'm posting bugs here on the Bargain Basement Blog is problem number one. . .&lt;br /&gt;&lt;br /&gt;1. The bug-tracker doesn't accept my login that I already set up with the website. Furthermore, the bug-tracker apparently requires that I set up an account to tell you where the bugs are. Bug reports are gifts to YOU, not gifts to me. To make me jump through any kind of hoops to tell you where the bugs are is a Bad Thing. Accept bug reports with good grace and a minimum of fuss on the part of the reporter.&lt;br /&gt;&lt;br /&gt;So fix that.&lt;br /&gt;&lt;br /&gt;2. The login thing on your site is broken. If I go to the login page and enter my name &amp; password, I'm taken to an "update your profile" form to enter more stuff about myself (city, state, twitter ID). If I fill in those fields and press "submit", the form clears (Firefox 3.5, under Chrome it works). Even if the form is accepted, I never actually log in to the site. If I back out to the main page, I'm not logged in.&lt;br /&gt;&lt;br /&gt;3. I got a magic code to beta-test the mobile version. If I try to enter this code on the "create an account" page, I'm told that my login email already exists in the system (which it does). I have no way of knowing if I'm actually registered with the program.&lt;br /&gt;&lt;br /&gt;4. The little titanium throbber-icon in the upper-right corner of the app tells me that I can now get version 4.1.1 or something like that. If I click the link, nothing happens. If I go to the site to try to download it manually, I can only download the version that I already have. NEVER allow people to download different versions from different places. That's a one-way ticket to trouble. Think Firefox -- when Firefox pesters you that there's a new version of something, you can rest assured that it's already available on their download page.&lt;br /&gt;&lt;br /&gt;5. The IRC tab worked for a bit and then stopped. Pressing "connect" just tells me "one moment" forever. It might be fixed in the next version, but I can't find out because I can't get the next version (see item 4).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have an actual bug with a compiled app, and I'll post that as soon as I'm able. kthxby.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-6798074141070938299?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/6798074141070938299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=6798074141070938299' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/6798074141070938299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/6798074141070938299'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/06/early-adopter-pains.html' title='Early adopter pains'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-8707101701487274502</id><published>2009-06-02T08:11:00.004-06:00</published><updated>2009-06-03T19:09:56.721-06:00</updated><title type='text'>Handheld Pains Organized</title><content type='html'>Okay, still not developing for the iPhone yet, but I'm closer. Things have gotten both clearer and more fuzzy. So I'm making myself a table with the available technologies on it. . .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology:&lt;/span&gt; Objective C&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portability:&lt;/span&gt; Nil. If I write an iPhone game for the iPhone, it stays on the iPhone forever. If I wanna later move that game to Android or Blackberry or Windows Mobile, I rewrite it.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt; It's Apple-approved&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt; I friggin' hate Objective C&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Price:&lt;/span&gt; $99 for the developer program (and I presume this $99 will still be necessary for all the other technologies below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology:&lt;/span&gt; Torque&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portability:&lt;/span&gt; Maybe. I haven't seen anything saying that Torque will be available for other portables, but it's certainly do-able.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt; Available right now&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt; Requires a 5-second ad for Torque to display before the game starts&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Price:&lt;/span&gt; $500 for the iPhone engine. $250 for Torque Game Builder.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology:&lt;/span&gt; FlashGap or Appcelerator Titanium (yes I know they're different in that FlashGap uses the existing browser and Titanium bundles its own browser, but they're conceptually similar)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portability:&lt;/span&gt; Quite good. Titanium hasn't nailed down their mobile plans yet, but I'd be surprised if it didn't include pretty much everything. It's currently desktop-only but I suspect that'll change.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt; Would probably be the simplest way to get my games up in a hurry.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt; Apple is denying FlashGap applications on general principle, and that's a big deal-breaker. No word about Titanium yet, but if I don't get word that they're working with the content police that they won't be FlashGapped, then I'll have a problem.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Price:&lt;/span&gt; Free&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Note: There's an Appcelerator Titanium beta launch-party &lt;a href="http://www.appcelerant.com/titanium-beta-launch-party-wwdc-june-9th-6-9pm.html"&gt;here&lt;/a&gt; that promises to have &lt;a href="http://www.appcelerant.com/titanium-beta-launch-party-wwdc-june-9th-6-9pm.html"&gt;"A Big Surprise"&lt;/a&gt;. Whether the surprise is something at the party or is something having to do with Titanium isn't clear. Here's hoping I'm pleasantly surprised.&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology:&lt;/span&gt; Haxe for iPhone&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portability:&lt;/span&gt; It's apparently using GCC as its compiler backend and SDL as its display-layer, so provided SDL gets ported, it will likely get ported too.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt; Would probably be the simplest ways to get my games up in a hurry. . .that's actually compiled and would be approved by the Apple content police.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt; Is just a proof-of-concept now. Has a truly frightening build-chain to get from Haxe code to iPhone native.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Price:&lt;/span&gt; Free&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technology:&lt;/span&gt; Unity3D&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Portability:&lt;/span&gt; Haven't heard any indication that it's moving to other platforms, but I wouldn't be surprised if it did.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt; Seems like the most mature of the lot and there have been some very impressive games done with it.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt; Is 3D all the way, but I've seen 2D stuff done with it (presumably just &lt;a href="http://www.youtube.com/watch?v=pvfVDczQXOY"&gt;very thin 3D objects&lt;/a&gt;). You have to open your game with an ad for them unless you pay 'em another $2500&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Price:&lt;/span&gt; $200 for the IDE and $400 for the iPhone engine&lt;br /&gt;&lt;br /&gt;So, did I miss any technologies? I know there are a few "infant" technologies out there, like a Ruby and a Python interpreter, but those looked pretty far from mature and even if they were, they'd likely suffer the same problem as FlashGap. Haxe would fire on all cylinders if it wasn't just a proof-of-concept.&lt;br /&gt;&lt;br /&gt;The other question is what to develop first. Shelly's of the opinion that I go with Android first and do iPhone second just so I could be a bigger fish in a smaller pond. Of course, this would affect the list above pretty greatly. It'd also be quite a bit cheaper. Far as I know, there's not an Android development technology yet that costs money :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comments are welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-8707101701487274502?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/8707101701487274502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=8707101701487274502' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8707101701487274502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8707101701487274502'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/06/okay-still-not-developing-for-iphone.html' title='Handheld Pains Organized'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-3725360195772973148</id><published>2009-05-19T10:34:00.000-06:00</published><updated>2009-05-19T10:35:14.647-06:00</updated><title type='text'>Handheld pains</title><content type='html'>Ahh, handhelds. I friggin' hate developing for handhelds.&lt;br /&gt;&lt;br /&gt;I'm more or less officially between projects, and I'm getting pestered to move some of my games to handhelds, specifically iPhone. While it appears that iPhone and Android and Blackberry and Windows Mobile are about 90% the same and it should be logical that I ought to be able to make some kind of cross-platform effort, it's simply not the case.&lt;br /&gt;&lt;br /&gt;First off, Apple doesn't want it. Apple's finally the 800 pound gorilla of a platform, and they're taking advantage of it in a big way. When your market share is 5%, you can't really dictate terms for what's gonna appear on your platform, so no matter how much the term "port" makes you cringe you live with it.&lt;br /&gt;&lt;br /&gt;When your market share is much larger (although in the grand scheme of cellphones the iPhone's market share isn't all that huge, but it does dominate in the "phones that people actually download stuff to", demographic, thanks mostly to their well thought-out "app store", but I digress), you're in a better position to dictate terms.&lt;br /&gt;&lt;br /&gt;And their terms are "we get to content police our stuff however we want". And right now that pretty much boils down to "no ports". Apple's got a really weirdly-worded "no third party API's" clause in their content-policing terms. It was apparently written by marketers because it doesn't actually mean that. It basically means "your app must be written in Objective C and if we get a whiff that something's being interpreted, even if it's being interpreted by an interpreter we included in our phone, then you're out". This is happening right now with a gizmo called &lt;a href="http://phonegap.com/"&gt;PhoneGap&lt;/a&gt; that allows you to write apps using Safari as the presentation layer and javascript as the back-end, but with all the appearance of being a native app (ala Adobe AIR minus Flash). Some nice stuff has been written with it, but Apple's content-police suddenly started giving the thumbs-down to PhoneGap developed stuff.&lt;br /&gt;&lt;br /&gt;There's also &lt;a href="http://titaniumapp.com/"&gt;Appcelerator Titanium&lt;/a&gt;, which is a similar AIR-esque effort that's being helped along by my good pal Don Thorp. While mobile devices are also in its roadmap, unless I see something from Papa Bear Apple that they're not gonna dump Titanium-written apps on general principle, I can't invest the effort.&lt;br /&gt;&lt;blockquote&gt;Mind you, iPhone has a conspicuous exception to this rule in Unity3D, which is a javascript-Driven 3D engine. In this case, it's one of those "well, we'll make an exception for coolness", as there are some very cool Unity3D games.&lt;/blockquote&gt;There's also the probability of genuine according-to-Hoyle Flash appearing on an iPhone. It's no secret that Flash will appear on iPhones as well as Android phones. And if it did appear, it would make my porting efforts trivial, but there's still the question of app support. There's the distinct possibility that Apple will deploy Flash only as a plugin for their browser and not as a generalized runtime engine. While Adobe AIR on an iPhone would usher in a big rush of applications, it does bring up the whole "port" thing that's made Apple cringe since the 1980's. &lt;a href="http://www.twhirl.org/"&gt;Twhirl&lt;/a&gt; on an iPhone may be a terrific thing, but if I can also install the same Twhirl to an Android/Blackberry/WindowsMobile, then Apple's magic of exclusively-written apps is gone.&lt;br /&gt;&lt;br /&gt;So right now I'm working on the assumption that Flash may appear on the iPhone, but they're gonna hobble it in the same way they're hobbling Safari's javascript interpreter - it's useful for showing stuff in their web-browser, but don't plan to see your app in the app-store if you try to use it anywhere else.&lt;br /&gt;&lt;br /&gt;Bottom line seems to be that if you want any chance with the content cops, you need to write your app in native Objective-C or in Unity3D. And, unlike OpenGL, Unity3D isn't a 3D technology that can also do 2D stuff if you set it up nicely. And my stuff's all 2D. So I'm thinking Objective-C it is. And an Apple-only codebase. Just the way Apple wants it.&lt;br /&gt;&lt;br /&gt;Although I'm still thinking hard about Unity3D because I haven't written any C in a LONG time and the thought of learning a C-based OO language that's not portable to anything and has no garbage collection makes me throw up in my mouth a little. At least with Unity3D, I could recycle a little of my code. Although the thought of having to make 3D models of everything makes me weary.&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-3725360195772973148?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/3725360195772973148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=3725360195772973148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3725360195772973148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3725360195772973148'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/05/handheld-pains.html' title='Handheld pains'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-7899090453332336059</id><published>2009-05-18T18:47:00.000-06:00</published><updated>2009-05-18T18:48:51.195-06:00</updated><title type='text'>Get yer brute on</title><content type='html'>Just for giggles, I made up a gamedev.net clan for mybrute.com. For those uninitiated, mybrute.com is a very silly little game in which you pit your character (your brute) against other brutes. As you progress, you'll get more weapons and abilities.&lt;br /&gt;&lt;br /&gt;It's mildly fun, and it only takes about five minutes of your time. Feel free to try it out.&lt;br /&gt;&lt;br /&gt;Here's my brute's URL if you wanna make your own brute to fight her. Note, though, that my brute (Shmooky Booky) is at level ten and will most likely mop up the floor with you if you're just starting out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shmookybooky.mybrute.com/"&gt;http://shmookybooky.mybrute.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be sure to give your brute a password so you can log in later and fight more. If you have a brute and you want to join clan gamedev, here's the URL to join up.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mybrute.com/team/15319"&gt;http://mybrute.com/team/15319&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The clan will hold up to 50 members. I think I have to approve the members, but I don't plan to be picky about it. Just join up and say howdy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-7899090453332336059?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/7899090453332336059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=7899090453332336059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7899090453332336059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/7899090453332336059'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/05/get-yer-brute-on.html' title='Get yer brute on'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-892301705281897664</id><published>2009-05-05T09:51:00.009-06:00</published><updated>2009-05-05T11:27:58.383-06:00</updated><title type='text'>How to write a losing pitch for your indie game project</title><content type='html'>First off, sorry that thecodezone.com is down. My hosting provider is working to bring things back up, but things are going much more slowly than I thought they would.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now then, on to the title. About six weeks ago I got pestered by one of the Mochiads people regarding their &lt;a href="http://braveandtheboldcastingcall.mochiads.com/"&gt;"make a batman game" contest&lt;/a&gt;. I saw the contest but hadn't pitched a game design because I had a couple of questions regarding licensing of the winning entries. Once they allayed my fears that they I wouldn't be selling off any IP or rights to my own stuff, I pitched a game that'd been rattling around in my brainpan for a little while.&lt;br /&gt;&lt;br /&gt;And it was a puzzle game. With explosions. But I thought it had a little more to it than that. I gave a hard look to Meltdown and Pop Pies with an eye towards what makes those games more popular than my other puzzles. And in both cases, it came down to that lizard-brain gratification you get from getting something REALLY right. In Pop Pies, it's that really bigass explosion of 30 or 40 pies.&lt;br /&gt;&lt;blockquote&gt;And incidentially that's one of the reasons I made the explosions sequential things in Pop Pies 2. If you make a really big explosion in PP2, not only do you see a lot more sploding, it goes on for a lot longer. Some people don't like the longer explosions, but most prefer the giant gratifying RATTA TAT TAT you get from blowing up half the board in one shot.&lt;/blockquote&gt;And it's similar in Meltdown. The gratifying part of Meltdown is setting up the board just right so that when you touch off one big atom, it sets off that big chain reaction that blows up the whole board. When the smoke clears, the board is empty and you're well ahead in points and particles. Happy happy!&lt;br /&gt;&lt;br /&gt;It's what Jesse Schell referred to as "the ice cream" in one of his talks at GDC Austin. When he was designing games for the cool-but-didn't-catch-on &lt;a href="http://en.wikipedia.org/wiki/DisneyQuest"&gt;Disney Quest&lt;/a&gt; interactive theme parks, one of the design decisions was "how much ice cream do we give 'em?" when playing a game. When you're playing Super Pirate Battle, how far should a newbie player be able to get?&lt;br /&gt;&lt;br /&gt;And that's a valid question, especially with the Disney Quest video games because the majority of people playing the games will be playing 'em for the first and possibly only time, contrasted with the Mortal Kombat machine at your local pizza place that's available at a thousand other locations and can be played dozens of times.&lt;br /&gt;&lt;br /&gt;Should novice players be able to get all the way to the level-boss?&lt;br /&gt;&lt;br /&gt;The decision from above came down as "Give 'em the ice cream and the sprinkles and the whipped cream!", translated as "give the first-time players the broadest experience we can give 'em". This decision did make the games awfully gratifying (as I can attest when myself and Shelly and two other friends destroyed the evil "boss" pirate ship in a room-size four-player pirate game), but it hurt replayability pretty badly. Unless I bring along some new players next time I visit, I'm not going to be waiting in line to play the pirate game again.&lt;br /&gt;&lt;br /&gt;Back to the lizard-brain gratification or the ice cream or whatever. There's an event where you just know you did everything right and the game rewards you for it. And Pop Pies and Meltdown have that in the form of a big noisy "SHKLABOOM" that's all the validation you need that you're a master of the game.&lt;br /&gt;&lt;br /&gt;And I'd been toying with making more of that for Meltdown. Rather than a random Meltdown where you sometimes blow up the whole danged board and you sometimes limp to a half-blowed-up board, what about a puzzle-based Meltdown where you HAVE to wipe out the whole board with one shot? Similar, but not exact, stuff had been done before. And this Batman thing was happening. So I mocked up some screenshots with the Batman-themed clipart and backgrounds they provided and pitched it to the Batman overloads.&lt;br /&gt;&lt;br /&gt;And it didn't win.&lt;br /&gt;&lt;br /&gt;Not exactly sure why. Maybe the concept was too deep. Maybe the pitch was too thin. Maybe I misjudged the kitschy retro-feel that they were going after with the cartoon. Maybe explosions just aren't done in games anymore (as I can attest from a licensed "Marvin The Martian" cellphone game I wrote a buncha years ago where we BEGGED to make the objective "Destroy the Earth", but were reduced to "Fix your communications dish"). Maybe puzzles just aren't "twitchy" enough for the Batman cartoon audience.&lt;br /&gt;&lt;br /&gt;Feel free to post your own theories in the comments.&lt;br /&gt;&lt;br /&gt;I might still end up making it, sans-Batman of course. Only problem I see is that progressive puzzle games don't lend themselves well to scoring. And scoring is the basis for challenging. And challenges are the wind beneath the wings of a million facebook-friends playing your game. And that's where the money is. Some of my canned puzzle-games like &lt;a href="http://www.thecodezone.com/games/ducktiles.php"&gt;Duck Tiles&lt;/a&gt; just don't get many facebook eyeballs because there's not a good challenge motive. "Hey I just beat level 14 in Duck Tiles" just doesn't have the same one-upmanship potential as "I just scored 12,000 in Pop Pies 2, thus proving that I am superior to you".&lt;br /&gt;&lt;br /&gt;Here's the design. Not sure how seriously the licensing overlords are gonna take that whole "entries become the property of. . ." bit. It didn't win, so I can't much see the harm in it.&lt;br /&gt;&lt;br /&gt;Also that little "portfolio" bit at the end was a bit of "convince us that you can actually make the game that you envision". The winning games are gonna make up the backbone of a Batman-themed game portal, so they did want actual working games at the end.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Batman's Warehouse Wallop&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In a sequel-of-sorts to my chain-reaction puzzle game "Meltdown"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mochiads.com/games/meltdown/"&gt;http://www.mochiads.com/games/meltdown/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Batman must destroy the enemy warehouses/labs/hideouts by placing assets (most, but not all of which are explosive) on the board so that they'll all be destroyed with one shot from the batarang.&lt;br /&gt;&lt;br /&gt;To muck up the works, some of your friends (or innocent bystanders or lab techs) are trapped in the warehouse/lab/hideout, so you have to place the assets carefully so as not to hurt them. If you fail to achieve your objective of destroying the destroy-ables without injuring the bystanders, you'll have to start the level over. And you have a finite number of tries before the game is over.&lt;br /&gt;&lt;br /&gt;Unlike the original Meltdown, the puzzles will not be random but will be human-designed and will get progressively more difficult. In addition to the game itself, there will be a simple level editor (reachable from the main menu) so people can try their hand at building their own challenges.&lt;br /&gt;&lt;br /&gt;Also unlike Meltdown, you won't be wiping out a board with several shots. You need to place items and shots cleverly so that you can clear the board with a single wallop from the batarang.&lt;br /&gt;&lt;br /&gt;Finally, the assets will change throughout the game. Starting with simple barrels that explode and send shrapnel in six directions, you'll encounter shields that toggle on and off when hit, tanks of poisonous gas that must be avoided at all costs, and the like.&lt;br /&gt;&lt;br /&gt;I envision about 20-25 hand-built levels in the finished game, and they'll grow in difficulty from quite simple at first to nigh-impossible near the end.&lt;br /&gt;&lt;br /&gt;Also, new assets will appear as levels grow more difficult. For example, tanks of gas might not appear until level four. Toggle-shields in level nine, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's the start of a fairly easy level. The items currently on the board are fixed and immovable. The assets in the corner can be dragged to the board to get it in a form so that you can achieve your objective with one shot.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Q4QvY8alCX0/SgBt26J60WI/AAAAAAAAAF4/uEBLLjU4EQo/s1600-h/batmanmockup1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="http://4.bp.blogspot.com/_Q4QvY8alCX0/SgBt26J60WI/AAAAAAAAAF4/uEBLLjU4EQo/s400/batmanmockup1.png" alt="" id="BLOGGER_PHOTO_ID_5332382748897890658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now I have the barrels placed, along with the rock to protect Blue Beetle from injury. I fling Batman's batarang at a barrel to explode it, sending flaming barrel-bits in six directions to destroy the other barrels.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Q4QvY8alCX0/SgBuA2hUwtI/AAAAAAAAAGA/13O0EiAx1YA/s1600-h/batmanmockup2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="http://2.bp.blogspot.com/_Q4QvY8alCX0/SgBuA2hUwtI/AAAAAAAAAGA/13O0EiAx1YA/s400/batmanmockup2.png" alt="" id="BLOGGER_PHOTO_ID_5332382919721009874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, here's a shot of the completed level. The barrels are reduced to smoke. Blue Beetle is safe behind the rock. Your objectives are accomplished, and you can move on to the next level!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Q4QvY8alCX0/SgBuJmCeZvI/AAAAAAAAAGI/0og8E2WnXzU/s1600-h/batmanmockup3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="http://3.bp.blogspot.com/_Q4QvY8alCX0/SgBuJmCeZvI/AAAAAAAAAGI/0og8E2WnXzU/s400/batmanmockup3.png" alt="" id="BLOGGER_PHOTO_ID_5332383069915473650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My portfolio of currently-available Flash games is at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thecodezone.com/playnshare.php"&gt;http://www.thecodezone.com/playnshare.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In addition, I have literally dozens of pre-Flash puzzle, arcade, and card games that I've written since the early 90's.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thecodezone.com/games/retro.php"&gt;http://www.thecodezone.com/games/retro.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-892301705281897664?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/892301705281897664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=892301705281897664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/892301705281897664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/892301705281897664'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/05/how-to-write-pitch-that-doesnt-get.html' title='How to write a losing pitch for your indie game project'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Q4QvY8alCX0/SgBt26J60WI/AAAAAAAAAF4/uEBLLjU4EQo/s72-c/batmanmockup1.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-5202994741342578395</id><published>2009-05-01T08:50:00.003-06:00</published><updated>2009-05-01T09:54:52.182-06:00</updated><title type='text'></title><content type='html'>Several things today, as always. I intended to write this yesterday, but I ended up at a City of Denton land development meeting (it's a long story), so I write today.&lt;br /&gt;&lt;br /&gt;First off, I won the Silly Rage contest! It's a minor win, but a win just the same. For the uninitiated (and you are most likely uninitiated, as it was just invented a couple of days ago), "Silly Rage" is a budding twitter-meme (tweme?) in which you rage against something completely pointless. This was coined by Bill Corbett (of MST3K and RiffTrax and Film Crew and the script to that unfortunate "Meet Dave" movie last year). Basically he instructed us from &lt;a href="http://twitter.com/billcorbett"&gt;his twitter feed &lt;/a&gt;for us to rage against something pointless in 140 characters and tag it with #sillyrage. The top rage would win a fabulous downloadable prize worth $3.99. My winning entry was the following. . .&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;em&gt;johnhattan&lt;/em&gt; didn't realize that a horse was a horse. Thanks for rubbing&lt;br /&gt;it in with "of course of course", condescending TV songwriter pricks.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;(If you don't get the joke, then you're too young. Go back to watching Dora the Explorer.)&lt;br /&gt;&lt;br /&gt;I was actually co-winner. The prize was also given to another user for&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span id="msgtxt1654550813" class="msgtxt en"&gt;"..." Ellipses my ass. I see you, periods. Don't think you can be&lt;br /&gt;a whole different punctuation just by traveling in groups&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Yes, it's a minor win. A very minor win. But whenever I get my funny validated it is a validation of my own fragile psyche. This win was tempered by two of my cousins saying they don't get my jokes. I can definitely see why, given the dry layers of subtlety in my humor.&lt;br /&gt;&lt;br /&gt;Oh wait. It was a joke about freakin' "Mister Ed". Never mind.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Okay, that was pointless. On to actual work. Work on my next game, a Flash-based followup to my endlessly frustrating "Head On Collision" game is doing well. At first I had a hardcoded "maze" like the original one here.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.thecodezone.com/games/images/retro/headon.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 426px; height: 462px;" src="http://www.thecodezone.com/games/images/retro/headon.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The game, as I mentioned, is quite frustrating. You're the gray car going around the maze counterclockwise. The red car is going clockwise and is trying to kill you. You can only change lanes in the empty areas. You must collect up all the dots.&lt;br /&gt;&lt;br /&gt;The AI required in this game is dirt-simple and amounts to "get in the same lane as the player". And it's so effective that the game's difficult even if the enemy car moves randomly (especially in higher levels where there are two enemy cars). And, like the 70's era arcade original, your chief weapon against the enemy is that you can accelerate while they're locked into a single speed, so with a little planning, you can usually force your enemy to choose a track before you do.&lt;br /&gt;&lt;br /&gt;But one thing that'd bugged me about the game was that there were a couple of "deluxe" editions with non-square "mazes". &lt;a href="http://www.youtube.com/watch?v=Qnbs4EVto9E"&gt;Here&lt;/a&gt; is a fairly cheesy video of just this.&lt;br /&gt;&lt;br /&gt;So I decided that this version would not only have a non-hardcoded maze, but the mazes could change from level to level. So I dragged out my &lt;a href="http://www.tilemap.co.uk/mappy.php"&gt;free level-editor of choice&lt;/a&gt;, made some tiles, and drew up some levels. It took a few iterations of tiles, eventually coming out with lane-numbered tiles so the enemies could determine what lane they were in. I needed this because it's fairly trivial to figure out your lane in the above square maze, but this one is a mite more involved.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Q4QvY8alCX0/SfsTLkGTVRI/AAAAAAAAAE0/8S6O5iLTwUw/s1600-h/mappy1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 263px;" src="http://3.bp.blogspot.com/_Q4QvY8alCX0/SfsTLkGTVRI/AAAAAAAAAE0/8S6O5iLTwUw/s400/mappy1.png" alt="" id="BLOGGER_PHOTO_ID_5330875673312711954" border="0" /&gt;&lt;/a&gt;Thus-far it's working out fairly well. I'm still not sure how I'm going to handle the main menu and the progression and such. Is the maze above going to be level three, or will you choose this maze from the main menu and get to play it to its conclusion (you beat the maze or you run out of cars) and then you'll get a score and are returned to the main menu.&lt;br /&gt;&lt;br /&gt;One other thing I found interesting about the above video, a little after 2:10 in, the car reverses directions and is then going the same direction around the maze as one of the enemies. The arcade game (at least this version) played pretty fast and loose with direction. In my maze above there's still not a way to un-knot yourself and end up going the same direction as the enemy. I don't see why that'd be a problem with collisions or such, so I might give it a try.&lt;br /&gt;&lt;br /&gt;Also in my old version, the enemy cars were smart enough to never end up in the same lane together so I didn't have to worry about what happened if enemies collided. In the gordian knot mazes I can make now, that'll be nigh impossible to work around, so I'll have some kind of event if enemy cars collide. Maybe temporarily disable one.&lt;br /&gt;&lt;br /&gt;But I digress. One thing I learned from Pop Pies and Pop Pies 2 is that brevity is one of the keys to replayability and the "viral" nature of Flash games. Games that you can play for an arbitrarily long time don't do as well as games that you play for three minutes and then finish and get on with your life (or press the "play again" button). While games like my recently-released Think Tank could conceivably be played for an arbitrary time, in reality it gets so difficult around level four or five that you'll be toast.&lt;br /&gt;&lt;br /&gt;But this is an arcade game and not a puzzle game, albeit it does have strategic elements. People expect to collect all the dots and then move to the next level. They might resent playing several times until they manage to collect every dot just to be presented with a "good job collecting all them dots, your score is 5211 points. Try to collect 'em all faster next time."&lt;br /&gt;&lt;br /&gt;Also there's the "diamond versus ball of mud" element. The original "square" version of the game is taken down to its basest elements. I could certainly add little bonus gizmos that immobilize the enemies or collect every dot within a hundred pixels or stuff like that. From Pop Pies 2 I learned that adding mud to a diamond isn't really much of a problem. I added several little random helper bonuses to it, and it made the game more popular. While that does mean that there's less of a strategic element to the game (honestly, the best scores are as much due to luck as skill), people don't seem to mind so much the luck element as long as they get that lizard-brain gratification that comes from blowing up a truly colossal chain of pies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And I did realize that "diamond versus ball of mud" is an obscure term, so I'll define. It was originally &lt;a href="http://en.wikipedia.org/wiki/Big_ball_of_mud"&gt;used to describe programming languages&lt;/a&gt;, but I find that it works better when defining small-scale games. A diamond is a game that is small and perfect. All of the elements fit together. You cannot remove anything from a diamond. And if you add something to a diamond, you don't improve it.&lt;br /&gt;&lt;br /&gt;A ball of mud is a game that's defined more by what is added to it than its "core". A perfect example of a ball of mud is SimCity. No matter what you add to the game or remove from it, it's still SimCity. Yes, there's a "core" game somewhere, but it's useless without some amount of mud.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And speaking of lizard-brain gratification and winning things, later I'll post some lizard-brain gratification that lost something. There's enough blog here for now, so I'll talk about it in a day or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-5202994741342578395?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/5202994741342578395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=5202994741342578395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5202994741342578395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5202994741342578395'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/05/several-things-today-as-always.html' title=''/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Q4QvY8alCX0/SfsTLkGTVRI/AAAAAAAAAE0/8S6O5iLTwUw/s72-c/mappy1.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-3364008220444375658</id><published>2009-04-21T11:33:00.002-06:00</published><updated>2009-04-21T11:43:21.839-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='siteannouncements'/><title type='text'>Emailed high score reports update</title><content type='html'>I've been having a lot of problems lately with the emailed score reports. And the problems, for once, aren't really my fault. Fact is, if you have a bot that sends people emails, you'll be accused of being a spammer. This is despite the fact that:&lt;br /&gt;&lt;br /&gt;1. There are no ads in the emailed reports (not even ads for my own products).&lt;br /&gt;&lt;br /&gt;2. The system is entirely opt-in.&lt;br /&gt;&lt;br /&gt;3. The default is to NOT receive emails, and you have to check the "send me daily reports" box to get reports.&lt;br /&gt;&lt;br /&gt;Still, I get complaints from people that I'm spamming them, and my IP address seems to come and go on the "this is a spammer domain" lists.&lt;br /&gt;&lt;br /&gt;I long-considered removing the emailed reports entirely with the motivation that they're more trouble than they're worth. But I'm going with a bit of a simpler solution for now. . .&lt;br /&gt;&lt;br /&gt;I cleaned house.&lt;br /&gt;&lt;br /&gt;That's right. All 338 of you who previously received emailed reports have had your daily emails shut off.  If you want to continue to receive the daily emails, then you can head over to the &lt;a href="http://www.thecodezone.com/accountman.php"&gt;account manager&lt;/a&gt;, click the "Edit Existing Account" tab, and turn your emails back on.&lt;br /&gt;&lt;br /&gt;Given my number of daily players, I figure the large majority of those 338 emails were getting automatically filtered into trash cans anyway. This way the few of you who still want emails can get 'em, and I won't have to tangle with the "you're a spammer" crowd for a couple more years.&lt;br /&gt;&lt;br /&gt;I hope.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-3364008220444375658?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/3364008220444375658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=3364008220444375658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3364008220444375658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3364008220444375658'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/04/emailed-high-score-reports-update.html' title='Emailed high score reports update'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-5394568737812041350</id><published>2009-04-14T09:41:00.001-06:00</published><updated>2009-04-14T09:41:38.956-06:00</updated><title type='text'>Haiku Contest Results!</title><content type='html'>Sorry about the delay. I wisely scheduled my book-contest smack-dab in the middle of "Adobe Week", in which I'm writing and/or posting a dozen reviews of Adobe CS4 or related products to Gamedev.&lt;br /&gt;&lt;br /&gt;I'm late in announcing, but I'm done now. Here were my judging criteria. . .&lt;br /&gt;&lt;br /&gt;It must have a real 5-7-5 syllable count. If you don't know what a syllable is, your loss. I had to dump some good ones because you monkeys don't know how to count.&lt;br /&gt;&lt;br /&gt;As a purely rhythmic point, it must have a tangible pause at the end of each line. An actual punctuation mark isn't necessary, but there must be some kind of break in the rhythm. If you do something like this. . .&lt;br /&gt;&lt;br /&gt;&lt;center&gt;I want the orange&lt;br /&gt;book on my bookshelf right now.&lt;br /&gt;Send it to me now.&lt;/center&gt;&lt;br /&gt;That doesn't really count because the second line is just an uninterrupted continuation of the first line, thus making it a 12-5 haiku rather than a 5-7-5. Haiku is all about perfection in flow and meter, not just filling a syllable count.&lt;br /&gt;&lt;br /&gt;Some of the syllables were a judgement call. Can "business" be pronounced with three syllables? Can "Australia" be pronounced with four? I tended to go with my American-Illinois-Iowa-Arkansas-Texas mumble as the final judge.&lt;br /&gt;&lt;br /&gt;"Oranges" has three syllables, not two. My contest, my pronunciation.&lt;br /&gt;&lt;br /&gt;Cleverness gets my attention.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All that being said, here are my winners, culled from my blog on Gamedev and the mirror of the blog on blogspot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the "cleverness gets my attention" front, I'm giving the blue book to this bit of coded haiku from gamedev user Ezbez. It would've been cooler if it actually compiled, but I'll keep that in mind for a later haiku contest.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;while IAmWaiting():&lt;br /&gt;for blueBook in myMailBox:&lt;br /&gt;print "Yippee!!"; exit()&lt;/center&gt;&lt;br /&gt;For the orange winner, I have this lilting piece of weepiness from blogger user Michael. Extra literacy-points for the rhyme and the correct spelling of "teem".&lt;br /&gt;&lt;br /&gt;&lt;center&gt;In all of our dreams;&lt;br /&gt;Visions of orange books teem;&lt;br /&gt;All are deserving.&lt;/center&gt;&lt;br /&gt;Hope you enjoyed the contest. I'm sure there'll be more books to give away, and I'll find new and interesting ways to get rid of 'em. Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-5394568737812041350?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/5394568737812041350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=5394568737812041350' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5394568737812041350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/5394568737812041350'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/04/haiku-contest-results.html' title='Haiku Contest Results!'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-3178818450454201675</id><published>2009-04-07T10:58:00.000-06:00</published><updated>2009-04-07T10:59:49.057-06:00</updated><title type='text'>Free book giveaway number two</title><content type='html'>Yeah, that's right. It's time for another book giveaway.&lt;br /&gt;&lt;br /&gt;This time I'm making it simple. I'm giving away a copy of &lt;a href="http://www.amazon.com/Beginning-Game-Programming-GameDev-net-Collection/dp/159863805X"&gt;&lt;i&gt;Beginning Game Programming: A Gamedev.net Collection&lt;/i&gt;&lt;/a&gt; (the orange book) AND &lt;a href="http://www.amazon.com/Business-Production-GameDev-net-Drew-Sikora/dp/1598638092"&gt;&lt;i&gt;Business and Production: A Gamedev.net Collection&lt;/i&gt;&lt;/a&gt; (the blue book). There'll be two winners, one blue and one orange.&lt;br /&gt;&lt;br /&gt;This contest is inspired by my lack of heartening that our books have been burning up the sales charts for a month now, and they've thus-far garnered exactly ZERO Amazon reviews. I've gotten some very positive emailed reviews from the book's chapter-contributors, both on the quality of their own material as well as the selection and editing of material that Drew and I did for the rest of the book.&lt;br /&gt;&lt;br /&gt;But without reviews, you don't get eyeballs.&lt;br /&gt;&lt;br /&gt;And the upshot of that is that the books aren't achieving the great heights of "Joe The Plumber's" ghostwritten masterpiece &lt;i&gt;I Have Nothing To Say, So Please Point Cameras At Me&lt;/i&gt;. And I know the gamedev books deserve a better fate than that, so I'm handing out two copies to people willing to abide by the following two rules. . .&lt;br /&gt;&lt;blockquote&gt;1. Please have a US address. I know this upsets you non-US readers, but it costs $2 to send a book in the US. Outside the US, it generally costs the price of the book itself, I have to fill out a customs form at the post office, and it can take weeks to arrive.&lt;br /&gt;&lt;br /&gt;2. You agree to read and review the book on Amazon. I'm not requiring you to give it five stars because that would be unethical. Just remember who your buddy is :)&lt;/blockquote&gt;If you fit the following two prerequisites, just post a haiku in the comments (on gamedev or blogspot). The haiku should contain the word "blue" or "orange" so I know which book you're trying to win. If I like your haiku best, I'll send the book to you.&lt;br /&gt;&lt;br /&gt;If you don't remember haiku, it's a three line poem consisting of five, seven, and five syllables, like the following. . .&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;I like to write games,&lt;br /&gt;while juggling oranges.&lt;br /&gt;Send me a danged book.&lt;br /&gt;&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;Something like this would be an attempt to get the orange book, as it has the word "orange" in the haiku. Get it?&lt;br /&gt;&lt;br /&gt;So if you're in the US, you wanna review a book for Amazon, and you know what a "syllable" is, post a haiku in the comments. One entry per person please.&lt;br /&gt;&lt;br /&gt;And keep an eye on the comments. I suspect more people will be voting orange than blue, so blue entries will have a better chance. Hint hint.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'll pick a winner on Friday sometime after Drew's gamedev blog roundup. So now get writing!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(disclaimer: This contest isn't sponsored by the publisher but by me personally. That should be obvious, but you never know.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-3178818450454201675?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/3178818450454201675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=3178818450454201675' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3178818450454201675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3178818450454201675'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/04/free-book-giveaway-number-two.html' title='Free book giveaway number two'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-2747733359066908233</id><published>2009-03-27T08:18:00.001-06:00</published><updated>2009-03-27T08:18:33.798-06:00</updated><title type='text'>Keeping your money safe</title><content type='html'>I had a mild vapor-lock moment this morning reading &lt;a href="http://www.mymoneyblog.com/archives/2009/03/sec-says-millennium-bank-was-indeed-a-ponzi-scheme.html"&gt;one of my favorite "get rich slowly" sites&lt;/a&gt;. Turns out one of those convenient "attractive CD rate internet account" websites was an offshore ponzi scheme funneling cash to some crooks in California.&lt;br /&gt;&lt;br /&gt;And it didn't scare me because I had money in it. It scared me because I have money in internet savings accounts. I have a couple of internet savings accounts holding my money and earning a little bit of interest (see my first-of-the-year entry for that) while I save up for things like Maggie's school, HSA, etc. Looking at the &lt;a href="http://www.mlnbank.com/"&gt;fake bank's website&lt;/a&gt;, it doesn't look much different from any other. And its CD rates are attractive at 5% and don't look like that ridiculous "50% return in six weeks" rate that Charles Ponzi quoted or even the "12% in a year" rate that allowed Bernie "is it too much to ask for you to fling yourself out of a window?" Madoff to surf the expanding economy for decades.&lt;br /&gt;&lt;br /&gt;A 5% CD fits right into the "very good rate" without falling into the "too good to be true" territory that'd set off the red flags in my head. And if I had $10k that I could park somewhere for a year or two, I might've taken advantage of it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I have an action item for you today. If you have a savings account or a CD or any other kind of "safe" investment(s), send yourself over to the &lt;a href="http://www2.fdic.gov/idasp/main_bankfind.asp"&gt;FDIC bank finder&lt;/a&gt; and make sure your bank is listed and has a current certificate. That way if your bank ever does an &lt;a href="http://articles.latimes.com/2008/jul/12/business/fi-indymac12"&gt;IndyMac&lt;/a&gt;, you'll be able to do what the IndyMac customers did, which was to head down to your bank and pick up your money.&lt;br /&gt;&lt;br /&gt;The people who have CD's in that Millennium Bank aren't gonna have that luxury.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And, for the record, my &lt;a href="https://www.dollarsavingsdirect.com/"&gt;internet savings account-of-choice&lt;/a&gt; is all insured. Actually, according to the FDIC it's been insured since 1934, which is the year the FDIC was chartered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-2747733359066908233?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/2747733359066908233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=2747733359066908233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/2747733359066908233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/2747733359066908233'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/03/keeping-your-money-safe.html' title='Keeping your money safe'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-8384715958135681741</id><published>2009-03-26T09:12:00.001-06:00</published><updated>2009-03-26T09:13:52.480-06:00</updated><title type='text'>Many topics, as per the norm</title><content type='html'>Seems like I make one post per week that consists of multiple topics that I can't cram into a 140-character Twitter. So I'll keep following that meme.&lt;br /&gt;&lt;br /&gt;I've gotten no meaningful sponsorship offers from anyone for the new Flash Think Tank, so I'm just going to go with plan-A, which is to pull the site-lock and start uploading the thing to as many game portals as I can find and soak in a few bucks from ad-views. Seems like everyone running a game portal or a Flash promotion site is currently at GDC, so I don't think this'll get the quick traction that Pop Pies 2 got.&lt;br /&gt;&lt;br /&gt;Not that I expected that anyway. Pop Pies has its own friggin' fan group on Facebook (and I didn't start it), so it was a foregone conclusion that PP2 was gonna get some eyeballs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I got a request to submit a proposal for a Batman-themed game for the &lt;a href="http://braveandtheboldcastingcall.mochiads.com/"&gt;Mochi-WB contest&lt;/a&gt;. After getting a couple of my fears allayed by the organizers (i.e. am I gonna be making you guys a game for $4k that could potentially be worth more elsewhere), I put together a proposal for a game. Apparently they'll be contacting the winning entries sometime next week, so I'll find out then if I'm one of the people chosen.&lt;br /&gt;&lt;br /&gt;I won't give away the whole plot, but my submission was a puzzle game with explosions. I've only made about six of those now. I think I'm getting into a rut :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We're getting all self-sufficient over here at the compound. I planted four rows of onions that are happy as can be as well as some mint and rosemary that I'm hoping will take over a corner of the yard and choke out the other weeds. Mint is a weed itself, but it's a weed that smells nice and looks good floating on the top of your drink, so why not.&lt;br /&gt;&lt;br /&gt;Shelly's planted a half-dozen other veggies with varying degrees of success. She started from seeds, so she's not getting the "instant gratification" I got from planting sprouts and watching 'em perk right up.&lt;br /&gt;&lt;br /&gt;We did discover that the local herbivores don't like to wait for the peas to grow up before chowing down on 'em, so we might continue to grow them in the greenhouse.&lt;br /&gt;&lt;br /&gt;We also started making some wine and cheese as a companion for the beer. Making mozzarella was easy and cheap (several pizzas worth of cheese from a $2 gallon of whole milk) and is awesome on pizza. The wine has been bubbling away for a week now. While I'm all for guzzling the whole batch right now, Shelly's on some weird kick about how you gotta let a wine age before you can quaff it. Dunno where she got that silly idea.&lt;br /&gt;&lt;br /&gt;We're also about to bottle up another 50-odd bottles of homebrew beer. Let the depression hit. We got cheap brewskis!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oh, and it wouldn't be a visit to the Bargain Basement Blog without a cheapass pennypinching tip. So here's the one for today. . .&lt;br /&gt;&lt;br /&gt;Starbucks is my favorite respite for "Low Priced Luxury". It's a place where you can get something decadent that's not too bad for your health along with some wifi and/or a newspaper, all for under four bucks. It ain't a Lexus, but I don't like Lexus's anyway so I'll treat myself once a week to some foo-foo-coffee.&lt;br /&gt;&lt;br /&gt;In the past, I'd order myself a latte, which is a shot or two (or three) of espresso mixed with steamy milk. And it's not cheap. It's around $3.75 for the large. Mind you, a large latte is a pretty filling breakfast with enough caffeine to make you break out in a sweat, so it's not too outrageous.&lt;br /&gt;&lt;br /&gt;A little under a year ago, Starbucks introduced their "Pike's Place Blend" coffee as well as the "Misto", which is basically a latte made with brewed Pike's Place instead of espresso.&lt;br /&gt;&lt;br /&gt;And IMHO it's 95% as good as their latte and a dollar cheaper.&lt;br /&gt;&lt;br /&gt;My only warning is that you have to order these at actual standalone Starbucks stores. The Starbucks' that are built into your local grocery store or Target don't have the Pike's Place coffee on tap, and a Misto made with the old "house blend" isn't nearly as good. Not sure what it is, but the difference is noticeable.&lt;br /&gt;&lt;br /&gt;Also check back &lt;a href="http://www.gamedev.net/community/forums/mod/journal/journal.asp?jn=254106&amp;amp;reply_id=3313135"&gt;here&lt;/a&gt; to navigate Starbucks' "free wifi" deal. As an added bonus, if you use a registered gift-card to buy your coffee, they won't charge you for a squirt of coffee flavoring (vanilla, hazelnut, etc).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And finally. Just so I can prove that this is indeed a programming blog. Here's a handy piece of code. Flash has had the ability to tint and color movieclip object forever, but the way it was done (at least in AS2) was always pretty hairy. It worked, but it requires about three steps to do the seemingly-trivial operation. Here's a nice little function that'll do the whole mess in one function call.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;MovieClip.prototype.setTint = function (r, g, b, amount)&lt;br /&gt;{&lt;br /&gt;  var colorizer = new Color(this)&lt;br /&gt;  var trans = new Object()&lt;br /&gt;  trans.ra = trans.ga = trans.ba = (100 - amount)&lt;br /&gt;  var ratio = amount / 100&lt;br /&gt;  trans.rb = r * ratio&lt;br /&gt;  trans.gb = g * ratio&lt;br /&gt;  trans.bb = b * ratio&lt;br /&gt;  colorizer.setTransform(trans)&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It extends MovieClip, so if you have an existing movieclip, you can just paste this code in and colorize your objects like so. . .&lt;br /&gt;&lt;br /&gt;myMovieClip.setTint(255, 0, 0, 50)  // turn this object 50% red&lt;br /&gt;&lt;br /&gt;So if you're making a Pac Man game and you want four colors of ghosts, you can just make one ghost MovieClip and tint each instance rather than some more difficult solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-8384715958135681741?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/8384715958135681741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=8384715958135681741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8384715958135681741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/8384715958135681741'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/03/many-topics-as-per-norm.html' title='Many topics, as per the norm'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-4427855619350359803</id><published>2009-03-13T08:05:00.001-06:00</published><updated>2009-03-13T08:05:53.185-06:00</updated><title type='text'>Me the cynic</title><content type='html'>I got to see Jim Cramer on the Daily Show yesterday (google for it if you haven't heard of it), and I was reminded of that old interview that Dateline (I think it was) did with evangelist-crook Benny Hinn. They spent about 20 minutes rubbing Hinn's nose in his own ridiculous antics and his refusal to be transparent about his finances. Hinn sat quietly, then apologized for everything. He said his ministry would become fiscally accountable, and he'd tone down the nonsense that aggrandized himself to the detriment of his religion.&lt;br /&gt;&lt;br /&gt;Then Hinn. . .did absolutely nothing. He went right back to his old shtick, confident that the public's collective-ADD would prevent them from being able to follow up on his promises.&lt;br /&gt;&lt;br /&gt;And I felt that way with Cramer on the Daily Show. Cramer walked in the studio wearing his rolled up sleeve shirt (which I'll bet dollars to donuts are now sewn in place). He was chastened, promised to fix every flaw that Stewart presented, and then will go right back to ringing bells and pumping-and-dumping stocks on his show while pretending that he's doing it for anyone's benefit but his own.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On an entirely different note, I am amused by the new iPod shuffle and its infinite smallness and Apple's newfound need to eliminate buttons. And I finally figured out what it reminds me of. If you watched the last couple seasons of MST3K, you'll remember the Observers. . .&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://images2.wikia.nocookie.net/mst3k/images/thumb/e/e7/Observers.jpg/250px-Observers.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;They were beings that were humanoid but were evolved billions of years beyond us. We were as amoebas to them, as they loved to say. They had, in fact, evolved themselves to the point where they no longer needed bodies and could just exist as disembodied self-sufficient brains.&lt;br /&gt;&lt;br /&gt;And then they went even further, constructing host bodies to carry their disembodied brains around.&lt;br /&gt;&lt;br /&gt;And so, despite having intellects that dwarf ours (and being more than happy to remind us of that), they didn't realize that their system of carrying their brains around in dishes was way more inconvenient than keeping their brains in their heads.&lt;br /&gt;&lt;br /&gt;And that's the new iPod shuffle. It's evolved beyond the need for buttons, but for the sake of interacting with unterbeings such as ourselves, it'll keep around one or two buttons in an inconvenient place.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And Windows Mobile has a new slogan. "Yeah, our browser is kinda sucky, but at least it's got Flash."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Shelly made me a grumpasaurus.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://2.bp.blogspot.com/_iPvKR7lJ9Ec/SbgIFcY-qpI/AAAAAAAACSk/Sl4lUThfDac/s400/102_0538.JPG" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;His infinite ennui gives me comfort in uncomfortable times.&lt;br /&gt;&lt;br /&gt;Then Maggie stole it.&lt;br /&gt;&lt;br /&gt;Also Shelly took my ipod because there's somesuch piece of software that only it'll run. I now have the Sansa again, which doesn't bother me much. I much prefer Rockbox (google for it) to anything else, because it does everything right. It doesn't play games too well, but I got a laptop that plays games really well if I'm on the road and wanna play games.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Should I write another book? I could probably write the "game programming on 25 cents a day travel guide" that I've been threatening, as I have more experience in that than anyone, but computer book sales are flat or declining.&lt;br /&gt;&lt;br /&gt;Get it published? Vanity-press it and make beer money off it? Slap it up on the web with a pile of adsense ads? Thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-4427855619350359803?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/4427855619350359803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=4427855619350359803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/4427855619350359803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/4427855619350359803'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/03/me-cynic.html' title='Me the cynic'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iPvKR7lJ9Ec/SbgIFcY-qpI/AAAAAAAACSk/Sl4lUThfDac/s72-c/102_0538.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927544581291786949.post-3039860382444141678</id><published>2009-03-12T07:35:00.000-06:00</published><updated>2009-03-12T07:37:10.402-06:00</updated><title type='text'>Shenanigans and goings on</title><content type='html'>Oh so many things. The life of a renaissance man is never uneventful.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item One&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;First off, I posted a very quick "how to fix your car's mats in 15 minutes for six bucks" tutorial &lt;a href="http://thecodezone.blogspot.com/2009/03/fix-your-cars-mats-quickly-and-cheaply.html"&gt;here&lt;/a&gt;. MAKE magazine has a "mend it march" promotion, and I thought I'd contribute.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item Two&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Next, I got two more &lt;a href="http://www.amazon.com/exec/obidos/ASIN/159863805X/ref=nosim/gamedev"&gt;orange books&lt;/a&gt; which means I'll have another giveaway. I'll likely give away one right away and keep the extra slack copy in the hopes that I'll eventually have a full set of four to give away. Given that I didn't contribute anything to the &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1598638084/ref=nosim/gamedev"&gt;black book&lt;/a&gt; content or editorial-wise, I'm not holding out hope to receive more copies of that one. We'll see.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item Three&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Next, the &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1598638068/ref=nosim/gamedev"&gt;green book&lt;/a&gt; now has a picture on Amazon. I hope it'll be arriving next week. Fingers crossed.&lt;br /&gt;&lt;br /&gt;(note to Drew, fix the picture on the book-page in gamedev)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item Four&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;My dramatic reading from &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1598638092/ref=nosim/gamedev"&gt;the blue book&lt;/a&gt; is now available at &lt;a href="http://www.industrybroadcast.com/"&gt;www.industrybroadcast.com&lt;/a&gt;. Be glued to the end of your seat as I regale you with tales of high seas adventure!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item Five&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I've officially released &lt;i&gt;The Code Zone Retro Pack&lt;/i&gt; (i.e. all of my old 90's shelfware games that I could still find and for which I recently re-re-retained licenses). While the story of those games are an adventure unto themselves, as you'd expect from any software package that managed to stay in stores for TEN YEARS, getting back to re-compile on my new machine was no picnic. I basically had the following choices. . .&lt;br /&gt;&lt;br /&gt;1. Install VC++ 6 (which was the last compiler used to make 'em), recompile the original sources, change up the about-box and credits and such to remove mention of the old publishers, and build a new installer.&lt;br /&gt;&lt;br /&gt;2. Modify the StarView app framework (upon which the games are built), which itself hasn't changed in ten years, to work on a newer Visual Studio.&lt;br /&gt;&lt;br /&gt;3. Dump the StarView app framework in favor of the OpenOffice Framework (which StarView became after Sun bought 'em out), modify the games to work with it, and recompile.&lt;br /&gt;&lt;br /&gt;Seeing the easiest route as number one, as it'd just require changes to batch file names, I set about to installing VC++ 6 on Vista. Upon doing so, Vista popped up a box saying that my compiler was about ten years outta date, it's flagged as an app that doesn't play well with anything after Windows 2000, and that ship just ain't gonna sail.&lt;br /&gt;&lt;br /&gt;Glee.&lt;br /&gt;&lt;br /&gt;Being sly and wiley, I popped up Virtual PC and built myself a little Virtual Windows 98. VC++ 6 had no problem with it. A little wrestling with batch files and dependencies and all that other stuff that I haven't done in years, and I had a working build-chain again.&lt;br /&gt;&lt;br /&gt;Then I dragged the newly-compiled games over to Vista, built a cute little NSIS installer for 'em, and they live again!&lt;br /&gt;&lt;br /&gt;Check 'em out &lt;a href="http://www.thecodezone.com/games/retro.php"&gt;here&lt;/a&gt; to see 'em in all of their 256-color MIDI-soundtracked glory again!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item Six&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Think Tank is basically done. It's currently shopping for sponsorships, but if I don't get any bites it'll be scattered to the four winds. As a reward for actually reading this far, I'll let you try it out. It's &lt;a href="http://www.thecodezone.com/games/thinktank.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note that this version is currently site-locked to thecodezone.com, so don't just grab the swf file and slap it up on your own favorite game portal. Once I'm confident that it's in as good a working order as it's gonna get, I'll make a distributable version.&lt;br /&gt;&lt;br /&gt;Please please post feedback for the game. It's gonna go viral and once things go viral there's no way to make changes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dang, I had a lot going on this week. I need a rest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927544581291786949-3039860382444141678?l=thecodezone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thecodezone.blogspot.com/feeds/3039860382444141678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5927544581291786949&amp;postID=3039860382444141678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3039860382444141678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927544581291786949/posts/default/3039860382444141678'/><link rel='alternate' type='text/html' href='http://thecodezone.blogspot.com/2009/03/shenanigans-and-goings-on.html' title='Shenanigans and goings on'/><author><name>John Hattan</name><uri>http://www.blogger.com/profile/07748966190134140467</uri><email>john@thecodezone.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09998465097084978669'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>