• entries
1232
1738
• views
1145538

Imparting game development wisdom of dubious quality a ridiculously long time.

## I moved the health and the energy-weapon stats ...

I moved the health and the energy-weapon stats to the left. Now my protagonist has the whole hex to himself, so I made him larger. Also I made the energy display a button. If you press it, it allows you to sell your weapon’s energy. And you might wanna do that because I have some new enemies (like the one immediately to his left) that are very weak, but have nasty side-effects if you shoot them (like reducing the value of all neighboring tiles to zero). So it’s better just to step on 'em. I’m thinking of making the other icons a bit smaller (maybe the size of the player’s helmet). That way I’d wouldn’t have to shoehorn the text so far into the corners. And it’d better differentiate the player from everything else.

## I live

Sorry, but I seem to have forgotten to post anything for three years. That is likely to change. . .

## More Windows 8 Fun

(hmm, for some reason the RSS importer from http://thecodezone.blogspot.com is borked, so I'm going the old fashioned way, with cut-n-paste)

Well at some point a couple of weeks ago the hard drive in my Main Development Box decided that booting to an OS was no longer necessary. And it chose to do so right in the middle of a deadline. So I hoofed it over to Frys to purchase a replacement drive and a copy of Windows 8. While the UI is controversial, I hadn't heard about any problems with Windows 7 apps, so I quickly installed Windows 8, my development tools, and my projects. And I was able to complete the project after a couple of very late nights.

Fast-forward a week and I finally have a chance to make Windows 8 operate the way I like. For me, Windows 8 reminds me of the last two MacOS updates in that there are some nice refinements hidden behind a treacly front-end that's designed for someone other than me. Windows 8 does have some very nice refinements that make it a better Windows 7, but that's all lost (literally) under the Metro UI.
But, much like MacOS, it's a simple to shun the stuff that annoys you and keep the stuff you like. And so here's my list of essential tools and tweaks that I found myself installing. And now that it's all installed, I'm hunky-dory with Windows again. Most of this stuff is free. If it's not, I mention it:

SharpKeys (http://sharpkeys.codeplex.com/) - A simple gizmo that sets registry entries to remap your keyboard. I remap the CAPS LOCK key to operate as a shift-key because the CAPS LOCK is a holdover from typewriters. And this thing just modifies the registry, so there's nothing to do once you're done remapping. Just remap and forget forever.

Free42 (http://thomasokken.com/free42/) - My brain thinks in RPN. The Windows calculator doesn't. The MacOS calculator does have RPN, so points to them.

MicroBin (http://www.e-sushi.net/microbin/) - Puts a tiny recycle bin in the tray so you don't have to hunt for it on the desktop whenever you wanna use the danged thing.

Win 7 Library Tool (http://www.pcworld.c...brary_tool.html) - The "Libraries" menu on the explorer sidebar is a terrific neglected feature. And for some reason Microsoft cripples it by applying some arbitrary rules as to what folders can live there. This gizmo gets around that so I can have related stuff all together. For example, I have a "cloud" library that points to my Dropbox, Google Drive, etc. so I don't have to hunt for those folders.

Cyberduck (http://cyberduck.ch/) - very nice little FTP client. There's an identical one on the Mac, and I give preference to apps that are identical on both platforms so I don't have to reconfigure my brain. Ditto for Free42.

Notepad++ (http://notepad-plus-plus.org/) - Is free. Is very fast. Is pretty-much the only text editor you need if you don't plan to mold your life around your text editor (i.e. VIM, EMACS)

ImageMagick (http://www.imagemagi...cript/index.php) - A pile of command-line tools to do stuff with image files. I use these quite a lot in my build scripts for resizing icons and such, so I install this right away.

PowerArchiver (http://www.powerarchiver.com/) - Not free, but it's the best one. While Windows' ZIP integration is pretty good, there are plenty of formats it still doesn't grok, like RAR. For those you need an archiver.

PromptPal (http://www.promptpal.com/) - Also not free, and there are plenty of free alternatives, but I have this registered so I keep it. Basically it's a command-prompt replacement that has some enhancements but most importantly keeps your command history persistent from launch to launch. So if you come up with a really hairy clever path-laden command line to do something, you don't lose it if you need it again. Why the default one doesn't do this, I'll never know.

Sizer (http://www.brianapps.net/sizer/) - Just discovered this a couple of months ago. It adds a sub-menu to your windows system menu (yep, there's still one there) that lets you resize a window to a particular size. This is just the thing if you need to capture screenshots of a particular size.

XNView (http://www.xnview.com/) - A perfect companion for Sizer, as it has plenty of options for screen-capture including "capture just the client area of a window", and it can snap to files without interaction, so you can just set your windows up and then play your game and snap away until you get enough screenshots.

VLC (http://www.videolan.org/vlc/index.html) - Yeah Windows 8. Good thinking. If I wanna play an MP3 file, I want it to take up the whole danged screen. Or maybe I just wanna play it in a little window and shove it out of the way.

Classic Shell (http://classicshell.sourceforge.net/) - A dozen "get back your start menu" gizmos have appeared over the past weeks. This is the best one, mainly because it's been in existence long before Windows 8. It's very stable and is instantly familiar.

CPU Meter, Network Meter, and Drives Meter (http://addgadgets.com/) - Yeah Windows 8 killed Desktop Gadgets, but there are plenty of hacks to bring 'em back, including instructions on that page. I can't function well without these little guys sitting in the corner telling me the state of the Main Development Box.

CCleaner (http://www.piriform.com/ccleaner) - There are billions of "clean out useless files and crap" software out there. This one is excellent and is free.

Google Chrome (https://www.google.c...chrome/browser/) - IE10 is actually pretty good, but my brain's too used to Chrome to turn back now. Also all my bookmarks and saved passwords and such instantly sync up the moment I install it, and that's cool.

Chrome Remote Desktop (https://chrome.googl...kmpfmihenigjmpp) - The most dirt-simple and best performing remote desktop system I've ever used. Only drawback is that it currently only exists on desktop Chrome. Hopefully it's moving to mobile soon.

Disable Aero Shake (http://www.howtogeek...e-in-windows-7/) - Not an app per-se, but something I like to do. I like all the Aero stuff like snap and preview, but Aero Shake just seemed to be something that jumps up when I didn't wanna use it. So here are the registry values that shut it off.

Box, Dropbox, SugarSync, Google Drive, SkyDrive - Hey, I like clouds. Might as well use 'em to hold stuff for me. Dropbox is still the most mature, but the others are getting better.

## New Windows Fun

Well at some point a couple of weeks ago the hard drive in my Main Development Box decided that booting to an OS was no longer necessary. And it chose to do so right in the middle of a deadline. So I hoofed it over to Frys to purchase a replacement drive and a copy of Windows 8. While the UI is controversial, I hadn't heard about any problems with Windows 7 apps, so I quickly installed Windows 8, my development tools, and my projects. And I was able to complete the project after a couple of very late nights.

Fast-forward a week and I finally have a chance to make Windows 8 operate the way I like. For me, Windows 8 reminds me of the last two MacOS updates in that there are some nice refinements hidden behind a treacly front-end that's designed for someone other than me. Windows 8 does have some very nice refinements that make it a better Windows 7, but that's all lost (literally) under the Metro UI.

But, much like MacOS, it's a simple to shun the stuff that annoys you and keep the stuff you like. And so here's my list of essential tools and tweaks that I found myself installing. And now that it's all installed, I'm hunky-dory with Windows again. Most of this stuff is free. If it's not, I mention it:

SharpKeys (http://sharpkeys.codeplex.com/) - A simple gizmo that sets registry entries to remap your keyboard. I remap the CAPS LOCK key to operate as a shift-key because the CAPS LOCK is a holdover from typewriters. And this thing just modifies the registry, so there's nothing to do once you're done remapping. Just remap and forget forever.

Free42 (http://thomasokken.com/free42/) - My brain thinks in RPN. The Windows calculator doesn't. The MacOS calculator does have RPN, so points to them.

MicroBin (http://www.e-sushi.net/microbin/) - Puts a tiny recycle bin in the tray so you don't have to hunt for it on the desktop whenever you wanna use the danged thing.

Win 7 Library Tool (http://www.pcworld.com/article/232246/win7_library_tool.html) - The "Libraries" menu on the explorer sidebar is a terrific neglected feature. And for some reason Microsoft cripples it by applying some arbitrary rules as to what folders can live there. This gizmo gets around that so I can have related stuff all together. For example, I have a "cloud" library that points to my Dropbox, Google Drive, etc. so I don't have to hunt for those folders.

Cyberduck (http://cyberduck.ch/) - very nice little FTP client. There's an identical one on the Mac, and I give preference to apps that are identical on both platforms so I don't have to reconfigure my brain. Ditto for Free42.

Notepad++ (http://notepad-plus-plus.org/) - Is free. Is very fast. Is pretty-much the only text editor you need if you don't plan to mold your life around your text editor (i.e. VIM, EMACS)

ImageMagick (http://www.imagemagick.org/script/index.php) - A pile of command-line tools to do stuff with image files. I use these quite a lot in my build scripts for resizing icons and such, so I install this right away.

PowerArchiver (http://www.powerarchiver.com/) - Not free, but it's the best one. While Windows' ZIP integration is pretty good, there are plenty of formats it still doesn't grok, like RAR. For those you need an archiver.

PromptPal (http://www.promptpal.com/) - Also not free, and there are plenty of free alternatives, but I have this registered so I keep it. Basically it's a command-prompt replacement that has some enhancements but most importantly keeps your command history persistent from launch to launch. So if you come up with a really hairy clever path-laden command line to do something, you don't lose it if you need it again. Why the default one doesn't do this, I'll never know.

Sizer (http://www.brianapps.net/sizer/) - Just discovered this a couple of months ago. It adds a sub-menu to your windows system menu (yep, there's still one there) that lets you resize a window to a particular size. This is just the thing if you need to capture screenshots of a particular size.

XNView (http://www.xnview.com/) - A perfect companion for Sizer, as it has plenty of options for screen-capture including "capture just the client area of a window", and it can snap to files without interaction, so you can just set your windows up and then play your game and snap away until you get enough screenshots.

VLC (http://www.videolan.org/vlc/index.html) - Yeah Windows 8. Good thinking. If I wanna play an MP3 file, I want it to take up the whole danged screen. Or maybe I just wanna play it in a little window and shove it out of the way.

Classic Shell (http://classicshell.sourceforge.net/) - A dozen "get back your start menu" gizmos have appeared over the past weeks. This is the best one, mainly because it's been in existence long before Windows 8. It's very stable and is instantly familiar.

CPU Meter, Network Meter, and Drives Meter (http://addgadgets.com/) - Yeah Windows 8 killed Desktop Gadgets, but there are plenty of hacks to bring 'em back, including instructions on that page. I can't function well without these little guys sitting in the corner telling me the state of the Main Development Box.

CCleaner (http://www.piriform.com/ccleaner) - There are billions of "clean out useless files and crap" software out there. This one is excellent and is free.

Google Chrome (https://www.google.com/intl/en/chrome/browser/) - IE10 is actually pretty good, but my brain's too used to Chrome to turn back now. Also all my bookmarks and saved passwords and such instantly sync up the moment I install it, and that's cool.

Chrome Remote Desktop (https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp) - The most dirt-simple and best performing remote desktop system I've ever used. Only drawback is that it currently only exists on desktop Chrome. Hopefully it's moving to mobile soon.

Disable Aero Shake (http://www.howtogeek.com/howto/windows-7/disable-aero-shake-in-windows-7/) - Not an app per-se, but something I like to do. I like all the Aero stuff like snap and preview, but Aero Shake just seemed to be something that jumps up when I didn't wanna use it. So here are the registry values that shut it off.

Box, Dropbox, SugarSync, Google Drive, SkyDrive - Hey, I like clouds. Might as well use 'em to hold stuff for me. Dropbox is still the most mature, but the others are getting better.

## Good Freebie Deal

Oh but I have a good freebie that's coming up in a couple of days. I was going to post this as a gamedev.net front-page news item, but it appears that our news-feed is entirely scraped from other sources now (which is just fine with me), so I'm posting this as a blog item. Feel free to upvote it on that front page tab so everybody sees it.

Packt Publishing, one of the new "biggies" in technical publishing is announcing that they're publishing their 1000th book. And, in honor of that milestone, they're giving a "pleasant surprise gift" (their words not mine) to everyone who has an account on the site before 9/30.

(and I have permission to tell you that the gift is a free ebook of your choice)

So go to www.packtpub.com before 9/30 and sign up for a free account if you don't already have one. Their little ebook online store is top-notch and DRM-free, and they have PDF and EPUB versions of all their books, so you can view 'em on practically every computer or e-reader out there.

Also they have some free books on the site already, so you can check 'em out.

## Great freebie deal

Oh but I have a good freebie that's coming up in a couple of days. I was going to post this as a gamedev.net front-page news item, but it appears that our news-feed is entirely scraped from other sources now (which is just fine with me), so I'm posting this as a blog item. Feel free to upvote it on that front page tab so everybody sees it.

Packt Publishing, one of the new "biggies" in technical publishing is announcing that they're publishing their 1000th book. And, in honor of that milestone, they're giving a "pleasant surprise gift" (their words not mine) to everyone who has an account on the site before 9/30.

(and I have permission to tell you that the gift is a free ebook of your choice)

So go to www.packtpub.com before 9/30 and sign up for a free account if you don't already have one. Their little ebook online store is top-notch and DRM-free, and they have PDF and EPUB versions of all their books, so you can view 'em on practically every computer or e-reader out there.

Also they have some free books on the site already, so you can check 'em out.

## Okay, this is mostly just testing. Looks like B...

Okay, this is mostly just testing. Looks like Blogger is finally integrating itself with G+, so posting stuff to Blogger will automagically repost on G+. I rather figured it would go the other way, with some kind of checkbox that I could click on long G+ entries to make 'em post to my blog.

Yes, again I'm aware this isn't getting updated often. My G+ feed (gplus.to/johnhattan) is really becoming the repository for shorter, yet more timely blog entries. It used to be that whenever I had something cool to say I'd bunch 'em all up until I had a couple paragraphs worth, then I'd format a nice fancy blog post. Now it seems like I can serve things up almost in real-time, ala "hey, here's a screenshot of what I'm doing" and people can almost immediately tell me that it sucks. I'm testing to see how well this works, and if it looks nice and seamless over on G+, I might start posting shorter entries more often here.

But if you're unwilling, I'm still writing games. Had some minor successes and I still have a couple of things that'll get me noticed that are in the pipeline, but I'm on NDA so I can't tell you about 'em yet. I'm currently working on a pretty light "hide and seek" game that I decided to put into the Zombie Kitten continuum. It was originally planned as a quickie development run of about two weeks, but lately my schedule's been stretched because it's the summer and I've been sharing duties between job and house-husband.

## Changes to Mac versions

This is a long-needed change to the Mac versions of my games. In the past, my Mac games worked on both the old PowerPC-based Macs as well as the newer Intel ones. Well, now the PowerPC Macs have graduated from "old" to "ancient", and Apple has been gently nudging developers into working only with newer releases.

And that extends to the new Mac OS X "Lion", which drops backward-compatibility with PowerPC-based technologies entirely. So I have to look forward instead of backward, and I have now uploaded new Lion-compatible games. If your Mac has complained in the past about compatibility with my games, simply re-download your games and they should work without complaint.

As for PowerPC-based games, I will still keep them around but I will deal with them on a case-by-case basis. If you, for example, have an old PowerPC-based Mac and you need to re-download and/or re-install your game, you should contact support@thecodezone.com directly and I will get you your games.

## Changes to Mac versions

This is a long-needed change to the Mac versions of my games. In the past, my Mac games worked on both the old PowerPC-based Macs as well as the newer Intel ones. Well, now the PowerPC Macs have graduated from "old" to "ancient", and Apple has been gently nudging developers into working only with newer releases.

And that extends to the new Mac OS X "Lion", which drops backward-compatibility with PowerPC-based technologies entirely. So I have to look forward instead of backward, and I have now uploaded new Lion-compatible games. If your Mac has complained in the past about compatibility with my games, simply re-download your games and they should work without complaint.

As for PowerPC-based games, I will still keep them around but I will deal with them on a case-by-case basis. If you, for example, have an old PowerPC-based Mac and you need to re-download and/or re-install your game, you should contact support@thecodezone.com directly and I will get you your games.

Source

## The simple solutions sometimes

Gmail is a GREAT tech support tool.

I've been selling downloadable games on my website since 2007. And in those years I've had plenty (and by plenty I mean hundreds) of emails to support@thecodezone.com from people who need help. 99% of the emails fall into two categories:

2. (>7 days from purchasing) I bought a game quite some time ago and I switched computer/email/gender/whatever and I lost my original download instructions.

When I first built my little order/download system, I made sure to stuff every transaction I made into a MySQL table. I kept transaction numbers and emails and products purchased and all that stuff. And that way if anybody from category (2) above had a problem, I could look up their order.

And I have NEVER used that table.

It's still out there, full of everything I'd need to look up an order. But I don't use it because I have Gmail. When someone buys a game, the last step on my side is a little piece of PHP generates and sends and email to the them with instructions on how to download and install the game. And, just to be safe, I also sent that email to sales@thecodezone.com where it is quietly filtered and stuffed it into a Gmail folder.

And that's pretty-much my tech support. If anyone emails me saying "My name is Fredrick Fribble and I bought Bulldozer around two years ago", I can find their order by searching my gmail. Re-sending their download instructions is as easy as re-forwarding that old email back to them. There have been a couple of occasions where I had to go back and forth a couple of times because they ordered under a different name or changed email addresses or something, but I have always been able to find their order and send it back to 'em. Usually in a couple of minutes.

So I guess the suggestion here is not to overengineer things. I realize this wouldn't scale if your orders got into the huge numbers. But my orders do number in the thousands, and this little system is showing no signs of breaking down.

## The simple solutions sometimes

Gmail is a GREAT tech support tool.

I've been selling downloadable games on my website since 2007. And in those years I've had plenty (and by plenty I mean hundreds) of emails to support@thecodezone.com from people who need help. 99% of the emails fall into two categories:

1. (2. (>7 days from purchasing) I bought a game quite some time ago and I switched computer/email/gender/whatever and I lost my original download instructions.

When I first built my little order/download system, I made sure to stuff every transaction I made into a MySQL table. I kept transaction numbers and emails and products purchased and all that stuff. And that way if anybody from category (2) above had a problem, I could look up their order.

And I have NEVER used that table.

It's still out there, full of everything I'd need to look up an order. But I don't use it because I have Gmail. When someone buys a game, the last step on my side is a little piece of PHP generates and sends and email to the them with instructions on how to download and install the game. And, just to be safe, I also sent that email to sales@thecodezone.com where it is quietly filtered and stuffed it into a Gmail folder.

And that's pretty-much my tech support. If anyone emails me saying "My name is Fredrick Fribble and I bought Bulldozer around two years ago", I can find their order by searching my gmail. Re-sending their download instructions is as easy as re-forwarding that old email back to them. There have been a couple of occasions where I had to go back and forth a couple of times because they ordered under a different name or changed email addresses or something, but I have always been able to find their order and send it back to 'em. Usually in a couple of minutes.

So I guess the suggestion here is not to overengineer things. I realize this wouldn't scale if your orders got into the huge numbers. But my orders do number in the thousands, and this little system is showing no signs of breaking down.

Source

## Books to review

Okay, I just got a dozen requests for reviews from O'Reilly and Packt, so I thought I'd post the whole set here. If there's something you'd like to see reviewed, by all means tell me in a comment and I'll make sure it happens:

O'Reilly
ActionScript Developer's Guide to PureMVC
Introducing Starling
Mapping with Drupal
Node for Front-End Developers
The Little Book on CoffeeScript

Packt
XNA 4.0 Game Development by Example: Beginner's Guide -- Visual Basic Edition
Android 3.0 Animations: Beginner's Guide
Android NDK Beginner's Guide
Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide
Cocos2d for iPhone 1 Game Development Cookbook

## What? A deal post?

Been about forever since I posted a good deal. So here's a good deal.

Three good freebies from Daz3D.

Mind you, it requires that you sign up to a newsletter and such. But still, they're some fun 3D programs if you're looking to model stuff.

This deal's apparently lasting all the way through February, so don't push it off too long. Have fun!

## What? A deal post?

Been about forever since I posted a good deal. So here's a good deal.

Three good freebies from Daz3D.

Mind you, it requires that you sign up to a newsletter and such. But still, they're some fun 3D programs if you're looking to model stuff.

This deal's apparently lasting all the way through February, so don't push it off too long. Have fun!

Source

## My belated review

First off, apologies to Kobold Quarterly for this. I promised a review of their book a while back. And I actually wrote the review. But we're having a bit of a problem with Gamedev's CMS right now, so I'm going to do an end-run around it and post it to the blog.

Problem is, the Amazon-scraper we use to grab book covers and links and info about books is having a fit about The Kobold Guide To Board Game Design because there's no dead-tree version listed on Amazon. Envisioning this as a one-act play, I think the process is going something like this.

Gamedev: Amazon, do you have a listing for The Kobold Guide To Board Game Design?

Amazon: Why yes, it appears that I do!

Gamedev: Outstanding. Please send me a bitmap of the cover art.

Amazon: Oh, that would be no bother at all. Here you go!

Gamedev: Much obliged. Would you mind sending me the Amazon price and the number you have on the shelves right now?

Amazon: I would be delighted to. The price is $9.99 and we have zero copies on the shelves. Gamedev: Zero copies eh? Oh that's just ducky. I shall mark it as out of print until such time as you get some inventory. Amazon: Suit yourself! FIN I don't know exactly what field is giving our book-scraper fits. But there's something about e-books that's convincing the scraper to mark it as out of stock whenever it checks Amazon. As I'll post the review and feature it, but then a couple of hours later it'll get delisted from our little book section. And I'm not faulting our programmer, as he's got much bigger fish to fry right now than fixing a bug in our book-scraper. He's tied up making Gamedev a far awesomer and more organized thing than it's been in quite some time, so I'm staying outta the way. So for the time being I'm going to post the review here. At least the Kobold guys can link to it and/or quote-mine it. Once the scraper bug is tackled, I'll make sure it's properly listed on the site proper. Cheers and thanks for everyone's patience! --- I'll say this from the onset. The Kobold Guide To Board Game Design is the best book on game design that I have encountered in quite some time. I discovered this book outside of the normal PR-channels where my to-be-reviewed books normally appear. I happened across the title while reading one of the dozen or so nerd blogs that I frequent. It looked interesting, so I plunked down ten bucks for the PDF at koboldquarterly.com and took a look. The book is a collection of twenty essays written by some of the most popular non-computer game developers around today. While board game developers do not achieve the inexplicable rock-star status that some computer game developers get, their chops are every bit as sharp, if not sharper. Some of the authors are responsible for a five great games. Some have a dozen. And at least one has probably fifty games to his credit. What board game designers lack in notoriety, they make up for in prolificacy. What, for me at least, moved this book from good to great was the chapter on writing precise rules. Virtually all computer game development books concentrate so hard on the steps from concept to "code complete" that they ignore the other half of the process, which is how to get the danged game done and boxed and to a point where someone other than the test-team can play it. Coherent instructions or tutorials seem to be of no concern to developers because that will be handled by a technical writer in another office somewheres. Game development is a pile of a hundred little tasks, and if you assume that those tasks will be best handled by "someone else", then your game won't be done to your satisfaction. And what does this have to do with computer games? Well, stout yeoman, computer games and board games are virtually the same. If you grab the latest deep fantasy quest game on Xbox ("sky-something-or-other"), I guarantee that big chunks of it could be played with pencil-n-paper or a hex map with miniatures or dice or even just your hands. Heck, those DS "Pokemon" games are, at their hearts heart, rock-scissors-paper. My only complaint about this book is with the packaging. On the Koboldquarterly.com site, I could buy a paper or DRM-free PDF of the book. On Amazon (linked above), I could get a Kindle-DRM'ed epub. Unfortunately, neither solution is optimal for my cheapo e-reader. Unless fidelity of the screen to printed page is important, I would prefer an epub to a pdf. And this book is about 95% text with just a couple of illustrative graphics, so epub is best. But that's just me venting a minor pet peeve. If you fancy yourself a game designer, you need broader horizons than simply having played every game available on Xbox. You need to know how to develop a working mechanism. And a board game is the mechanism of a game stripped down to its essentials, with the 3D animation and particle effects and, yes, even the computer itself stripped away. This is game design as design itself. View the full article ## My belated review First off, apologies to Kobold Quarterly for this. I promised a review of their book a while back. And I actually wrote the review. But we're having a bit of a problem with Gamedev's CMS right now, so I'm going to do an end-run around it and post it to the blog. Problem is, the Amazon-scraper we use to grab book covers and links and info about books is having a fit about The Kobold Guide To Board Game Design because there's no dead-tree version listed on Amazon. Envisioning this as a one-act play, I think the process is going something like this. Gamedev: Amazon, do you have a listing for The Kobold Guide To Board Game Design? Amazon: Why yes, it appears that I do! Gamedev: Outstanding. Please send me a bitmap of the cover art. Amazon: Oh, that would be no bother at all. Here you go! Gamedev: Much obliged. Would you mind sending me the Amazon price and the number you have on the shelves right now? Amazon: I would be delighted to. The price is$9.99 and we have zero copies on the shelves.

Gamedev: Zero copies eh? Oh that's just ducky. I shall mark it as out of print until such time as you get some inventory.

Amazon: Suit yourself!

FIN

I don't know exactly what field is giving our book-scraper fits. But there's something about e-books that's convincing the scraper to mark it as out of stock whenever it checks Amazon. As I'll post the review and feature it, but then a couple of hours later it'll get delisted from our little book section.

And I'm not faulting our programmer, as he's got much bigger fish to fry right now than fixing a bug in our book-scraper. He's tied up making Gamedev a far awesomer and more organized thing than it's been in quite some time, so I'm staying outta the way.

So for the time being I'm going to post the review here. At least the Kobold guys can link to it and/or quote-mine it. Once the scraper bug is tackled, I'll make sure it's properly listed on the site proper.

Cheers and thanks for everyone's patience!

[hr]

I'll say this from the onset. The Kobold Guide To Board Game Design is the best book on game design that I have encountered in quite some time. I discovered this book outside of the normal PR-channels where my to-be-reviewed books normally appear. I happened across the title while reading one of the dozen or so nerd blogs that I frequent. It looked interesting, so I plunked down ten bucks for the PDF at koboldquarterly.com and took a look.

The book is a collection of twenty essays written by some of the most popular non-computer game developers around today. While board game developers do not achieve the inexplicable rock-star status that some computer game developers get, their chops are every bit as sharp, if not sharper. Some of the authors are responsible for a five great games. Some have a dozen. And at least one has probably fifty games to his credit. What board game designers lack in notoriety, they make up for in prolificacy.

What, for me at least, moved this book from good to great was the chapter on writing precise rules. Virtually all computer game development books concentrate so hard on the steps from concept to "code complete" that they ignore the other half of the process, which is how to get the danged game done and boxed and to a point where someone other than the test-team can play it. Coherent instructions or tutorials seem to be of no concern to developers because that will be handled by a technical writer in another office somewheres. Game development is a pile of a hundred little tasks, and if you assume that those tasks will be best handled by "someone else", then your game won't be done to your satisfaction.

And what does this have to do with computer games? Well, stout yeoman, computer games and board games are virtually the same. If you grab the latest deep fantasy quest game on Xbox ("sky-something-or-other"), I guarantee that big chunks of it could be played with pencil-n-paper or a hex map with miniatures or dice or even just your hands.

Heck, those DS "Pokemon" games are, at their hearts heart, rock-scissors-paper.

My only complaint about this book is with the packaging. On the Koboldquarterly.com site, I could buy a paper or DRM-free PDF of the book. On Amazon (linked above), I could get a Kindle-DRM'ed epub. Unfortunately, neither solution is optimal for my cheapo e-reader. Unless fidelity of the screen to printed page is important, I would prefer an epub to a pdf. And this book is about 95% text with just a couple of illustrative graphics, so epub is best.

But that's just me venting a minor pet peeve. If you fancy yourself a game designer, you need broader horizons than simply having played every game available on Xbox. You need to know how to develop a working mechanism. And a board game is the mechanism of a game stripped down to its essentials, with the 3D animation and particle effects and, yes, even the computer itself stripped away. This is game design as design itself.

Source

## How to fail, PART TWO!

Following this post of a couple of years ago, here's the second in my series
How To Write A Losing Pitch For Your Indie Game Project
I just found this taking up a little space in Google Docs. It's the original "pitch" I made for Monkey Blockade a couple of years ago.
To be honest, I don't even remember who I was pitching this to. As I recall, some mobile game website/portal/publisher put out a call for people to send in two-minute elevator pitches for original mobile games that could be developed quickly. And since I'm nothing if unable to slap together a game fast, I sent in an idea.
Needless to say, they weren't interested. Given that I can't even figure out who wanted me to pitch the idea to 'em, I'm assuming they didn't even have the courtesy of emailing me to turn me down flat.
Anyway, a couple of years later I was digging through some old stuff and found the screenshots. I still thought it was a good idea, so I spent a few weeks actually implementing it. I added some stuff (snacks that distract monkeys and changing the red circles to clanking robots), and didn't implement some stuff (the comic strip back-story), but I thought it turned out rather well.
If you wanna see the final product, go to my mobile page at m.thecodezone.com and check out the screenshots in any of the app stores.

---
Game Type: Quick Puzzle
Description: Trap the monkeys that are trying to escape by placing blocks in their way. Monkeys are tricky, though, and they find ways to get around the blocks.

Introduction screen:

Following is a mockup intro screen. Note that the screen might be implemented as a "pop up", similar to the jumping-up windows in the Code Zone Flash games. Fewer screens makes for a simpler experience. I'm also toying with the idea of eliminating as much text as possible, with the idea that less text makes for a better experience for international users. The following text might be replaced with a "slide show", not unlike a comic strip, illustrating the backstory and the gameplay.

Following accepting the start-playing screen, you see the gameplay screen.

You initially start with ten monkeys, one on the board (in a random spot, but near the middle), and nine under the "remaining" text. As monkeys escape or are captured, they move to the "escaped" or "captured" sections at the top of the screen.

To place a block, tap the screen. The block will not actually set itself until you let up with your finger, so you can make sure it's over the hex you want to use before you place it.

The "Blocks" and "Time" will accumulate throughout the game. They will likely be replaced with icons (a block and a clock).

Once all of the monkeys are either captured or escape, you get the game summary screen. Again, this may be a popup if that's easier to do, in keeping with the "one screen" motif.

Your score is a combination of captures (big points) minus a small penalty for number of blocks used and a time bonus. At this point, the user will get the opportunity to enter his score in a global table that will work a bit like the Mochi highscore table (daily, weekly, and monthly high scores).

Possible enhancements.

Since this game is a natural for making a daily puzzle, there's a possibility that I'll couple this with a daily puzzle version on thecodezone's site. If the user chooses to play the game as a daily puzzle (from the main menu), he can enter his thecodezone ID and password, and he'll be presented with the same puzzle as the Flash version and can submit his score to the site just as if he played the Flash version.

## How to fail, PART TWO!

[font=Verdana][size=2]Following this post of a couple of years ago, here's the second in my series[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]How To Write A Losing Pitch For Your Indie Game Project[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]I just found this taking up a little space in Google Docs. It's the original "pitch" I made for Monkey Blockade a couple of years ago.[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]To be honest, I don't even remember who I was pitching this to. As I recall, some mobile game website/portal/publisher put out a call for people to send in two-minute elevator pitches for original mobile games that could be developed quickly. And since I'm nothing if unable to slap together a game fast, I sent in an idea.[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]Needless to say, they weren't interested. Given that I can't even figure out who wanted me to pitch the idea to 'em, I'm assuming they didn't even have the courtesy of emailing me to turn me down flat.[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]Anyway, a couple of years later I was digging through some old stuff and found the screenshots. I still thought it was a good idea, so I spent a few weeks actually implementing it. I added some stuff (snacks that distract monkeys and changing the red circles to clanking robots), and didn't implement some stuff (the comic strip back-story), but I thought it turned out rather well.[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]If you wanna see the final product, go to my mobile page at m.thecodezone.com and check out the screenshots in any of the app stores.[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]---[/font]
[font=Verdana][size=2]
[/font]
[font=Verdana][size=2]Game Type: Quick Puzzle[/font]
[font=Verdana][size=2]Description: Trap the monkeys that are trying to escape by placing blocks in their way. Monkeys are tricky, though, and they find ways to get around the blocks.[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]Introduction screen:[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]Following is a mockup intro screen. Note that the screen might be implemented as a "pop up", similar to the jumping-up windows in the Code Zone Flash games. Fewer screens makes for a simpler experience. I'm also toying with the idea of eliminating as much text as possible, with the idea that less text makes for a better experience for international users. The following text might be replaced with a "slide show", not unlike a comic strip, illustrating the backstory and the gameplay.[/font]
[size=2]
[size=2]
[font=Verdana][size=2]Following accepting the start-playing screen, you see the gameplay screen.[/font]
[size=2]
[size=2]
[font=Verdana][size=2]You initially start with ten monkeys, one on the board (in a random spot, but near the middle), and nine under the "remaining" text. As monkeys escape or are captured, they move to the "escaped" or "captured" sections at the top of the screen.[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]To place a block, tap the screen. The block will not actually set itself until you let up with your finger, so you can make sure it's over the hex you want to use before you place it.[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]The "Blocks" and "Time" will accumulate throughout the game. They will likely be replaced with icons (a block and a clock).[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]Once all of the monkeys are either captured or escape, you get the game summary screen. Again, this may be a popup if that's easier to do, in keeping with the "one screen" motif.[/font]
[size=2]
[font=Verdana][size=2]Your score is a combination of captures (big points) minus a small penalty for number of blocks used and a time bonus. At this point, the user will get the opportunity to enter his score in a global table that will work a bit like the Mochi highscore table (daily, weekly, and monthly high scores).[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]Possible enhancements.[/font]
[font=Verdana][size=2][/font]
[font=Verdana][size=2]Since this game is a natural for making a daily puzzle, there's a possibility that I'll couple this with a daily puzzle version on thecodezone's site. If the user chooses to play the game as a daily puzzle (from the main menu), he can enter his thecodezone ID and password, and he'll be presented with the same puzzle as the Flash version and can submit his score to the site just as if he played the Flash version.[/font]

Source

## Idea to App Store in ONE week

Yeah, I noticed my last post to the blog was a quick postmortem of Marble Bump, which was a game that I intended to take from concept to app stores submit in two weeks.

Well, I decided to one-up myself, and I wanted to find something I could write and submit in ONE WEEK, mainly to get stuff in app-stores for the pending Kindle Fire and Nook Color 2 launches. So I went with one of my simplest games, Countdown Dice. It's just a cute little "push your luck" game where you roll dice to launch rockets. It's very simple and takes about two minutes to play, but it is oddly addictive once you grok the mechanism.

And not only did I get it finished and submitted in a week, I actually got it listed in an app store already!

(Countdown Dice in the Playbook store)
Yeah, it's just the Playbook store, and it's a bit of a degenerate case because the Playbook store typically approves in a shorter time than the rest (save for Android Market which has no approval process at all). Still, I'm happy. To quote the slave-driving colonel in "Bridge on The River Kwai", be happy in your work.
And once again I must plug my G+ feed, which is where I now post the bulk of my development-related info. It's at https://plus.google.com/106460508525236363626/posts
Soanyway, here are some pics of the process.

Here's the first cut at a title screen. It's not much different from it as it shipped. I added a little Matrixesque animation to the title text, and I adjusted the text and colors a bit, but this is it. The buttons are lifted directly from Dice-A-Rama

Development Tip: If something works, steal it and use it elsewhere. Quit reinventing the wheel.

Here are the graphics. The little vector rockets are lifted directly from the old 2007 AS2 game. I figure that game's been played several million times with no complaints about usability, so I wouldn't make many changes there. I did change "Turns Remaining = 5" to "Turn 1 of 5", as it seemed a little more obvious. Gets around that "do we throw the guy off the bridge at 1-2-3-GO or 1-2-3" problem.
I didn't reuse any code from the original. The logic was simple enough that I didn' bother.
Development Tip: Don't worry about making nontrivial objects reusable. While you might find yourself reusing a Pair or Dice class, you probably will just rewrite the CountdownDiceScorer class anyway, so don't kill yourself making it reusable. You've always got the code right there for copy-n-paste if there's a particularly hairy algorithm in there anyway.
Heck, I didn't even reuse the friggin' Dice class from Dice-A-Rama. It has several non-standard dice (with colored pips and face cards) that this game wouldn't need, so I just copy-n-pasted out a few lines of standard dice code.

The icon. Took me about ten minutes. I used IconWorkshop (motto: The only icon editor you will ever need. Trust me) to make the purple roundy background, and then I pasted it into Flash to add the vector rocket and dice. And then I saved it out as a 512x512 pixel PNG and used a batch file and ImageMagick to  make all the other icon sizes that the other app stores needed.
Development Tip: IconWorkshop is great. It's especially great with its free "iOS icon library" add-on that lets you drag together a classy iPhone-style icon in seconds.
ImageMagick is also great and is free. If you use a batch file or makefile or ant-file to build your app, use ImageMagick to size things in batch mode. Oh, and ImageMagick can also make .ico files with all of the sub-bitmaps embedded in it, but it's not trivial and requires an absurdly long command-line. I recommend making a batch file once you get it working so you don't have to retype it again.

The "Featured Item" image. The Playbook, Android, and Amazon app stores want a "featured" image along with your icon and screenshots. It's usually just a publicity photo kind of thing like this, and it's about twice as wide as high. And they want all kinds of sizes, from enormous (1920x1186 on Playbook) to small (290x140 on Android Market).
Again, I use Flash for this. Since it's vector-based, you can export out to arbitrarily large sizes and the edges stay nice. I generally save out to a 2048x1536 image with plenty of whitespace (purplespace in this case) near the edges. Then I can just shrink and crop to whatever the app store wants to see.
Yeah, I could probably use Illustrator or Inkscape or some other vector tool. I don't know how to use those and I'm too lazy to figure it out. If you wanna do it for free, use Inkscape.
Development Tip: To take a screenshot on an iphone, it's RoundButton+PowerButton.  To take a screenshot on a Nook Color, it's NButton + VolumeDownButton. To take a screenshot on a Playbook, press both volume buttons at the same time, although I just take Playbook screenshots from the emulator using Alt+PrtScn.

So that's just a quick overview of a couple of tricks I use to get stuff into app stores fast.

## Idea to App Store in ONE week

Yeah, I noticed my last post to the blog was a quick postmortem of Marble Bump, which was a game that I intended to take from concept to app stores submit in two weeks.

Well, I decided to one-up myself, and I wanted to find something I could write and submit in ONE WEEK, mainly to get stuff in app-stores for the pending Kindle Fire and Nook Color 2 launches. So I went with one of my simplest games, Countdown Dice. It's just a cute little "push your luck" game where you roll dice to launch rockets. It's very simple and takes about two minutes to play, but it is oddly addictive once you grok the mechanism.

And not only did I get it finished and submitted in a week, I actually got it listed in an app store already!

(Countdown Dice in the Playbook store)
Yeah, it's just the Playbook store, and it's a bit of a degenerate case because the Playbook store typically approves in a shorter time than the rest (save for Android Market which has no approval process at all). Still, I'm happy. To quote the slave-driving colonel in "Bridge on The River Kwai", be happy in your work.
And once again I must plug my G+ feed, which is where I now post the bulk of my development-related info. It's at https://plus.google.com/106460508525236363626/posts
Soanyway, here are some pics of the process.

Here's the first cut at a title screen. It's not much different from it as it shipped. I added a little Matrixesque animation to the title text, and I adjusted the text and colors a bit, but this is it. The buttons are lifted directly from Dice-A-Rama

Development Tip: If something works, steal it and use it elsewhere. Quit reinventing the wheel.

Here are the graphics. The little vector rockets are lifted directly from the old 2007 AS2 game. I figure that game's been played several million times with no complaints about usability, so I wouldn't make many changes there. I did change "Turns Remaining = 5" to "Turn 1 of 5", as it seemed a little more obvious. Gets around that "do we throw the guy off the bridge at 1-2-3-GO or 1-2-3" problem.
I didn't reuse any code from the original. The logic was simple enough that I didn' bother.
Development Tip: Don't worry about making nontrivial objects reusable. While you might find yourself reusing a Pair or Dice class, you probably will just rewrite the CountdownDiceScorer class anyway, so don't kill yourself making it reusable. You've always got the code right there for copy-n-paste if there's a particularly hairy algorithm in there anyway.
Heck, I didn't even reuse the friggin' Dice class from Dice-A-Rama. It has several non-standard dice (with colored pips and face cards) that this game wouldn't need, so I just copy-n-pasted out a few lines of standard dice code.

The icon. Took me about ten minutes. I used IconWorkshop (motto: The only icon editor you will ever need. Trust me) to make the purple roundy background, and then I pasted it into Flash to add the vector rocket and dice. And then I saved it out as a 512x512 pixel PNG and used a batch file and ImageMagick to make all the other icon sizes that the other app stores needed.
Development Tip: IconWorkshop is great. It's especially great with its free "iOS icon library" add-on that lets you drag together a classy iPhone-style icon in seconds.
ImageMagick is also great and is free. If you use a batch file or makefile or ant-file to build your app, use ImageMagick to size things in batch mode. Oh, and ImageMagick can also make .ico files with all of the sub-bitmaps embedded in it, but it's not trivial and requires an absurdly long command-line. I recommend making a batch file once you get it working so you don't have to retype it again.

The "Featured Item" image. The Playbook, Android, and Amazon app stores want a "featured" image along with your icon and screenshots. It's usually just a publicity photo kind of thing like this, and it's about twice as wide as high. And they want all kinds of sizes, from enormous (1920x1186 on Playbook) to small (290x140 on Android Market).
Again, I use Flash for this. Since it's vector-based, you can export out to arbitrarily large sizes and the edges stay nice. I generally save out to a 2048x1536 image with plenty of whitespace (purplespace in this case) near the edges. Then I can just shrink and crop to whatever the app store wants to see.
Yeah, I could probably use Illustrator or Inkscape or some other vector tool. I don't know how to use those and I'm too lazy to figure it out. If you wanna do it for free, use Inkscape.
Development Tip: To take a screenshot on an iphone, it's RoundButton+PowerButton. To take a screenshot on a Nook Color, it's NButton + VolumeDownButton. To take a screenshot on a Playbook, press both volume buttons at the same time, although I just take Playbook screenshots from the emulator using Alt+PrtScn.

So that's just a quick overview of a couple of tricks I use to get stuff into app stores fast.

Source

## Idea to app store(s) in two weeks

First off, if you don't have me circled on G+, I'm at gplus.to/johnhattan. I've been liveblogging the process there. If you don't have a G+ invite, my invite link is here. I only have 145 of my original 150 invites left, so get in now :)

I had an idea for another simple particle-collision game, and this time I decided to see how quickly I could get the game from concept to app stores. And it happened in two weeks, one week of which was waiting for approvals.

Originally I planned for it to be an atomic-particle-colliding motif, not unlike Meltdown. After some back and forth with the community, I went with the name "Particlusion" (particle+fusion). I wasn't completely in love with the name, but it worked and wasn't in use anywhere else. And I quickly mocked up a menu screen.

The original eye-searing Tron-ish main menu
I even made a cool animation for the main screen when I had a couple minutes of downtime.

Then I started on the mechanic. The mechanic was quite simple (slide objects into other objects. If one object is left, you win), and you could even build some fairly challenging random levels by following some simple rules. This is unlike something like Bulldozer (aka Sokoban), where it's nigh impossible to randomly generate a decently challenging level. There's less "depth" than Sokoban (which is a mean feat, as Sokoban's depth is itself limited), but it was intended from the onset to be something quick and cheap.
Fast-forward a couple of days, and I was looking for some inspiration for my little colliding particles. I was thinking of some little nondescript spheres like in Meltdown when I came across some old marble clipart. I pasted a couple in, and it just fit. In fact, they fit so well that I decided to change the motif to marbles. A little name-check and "Marble Bump" was born. I originally planned to have the marbles on grass with a sidewalk texture here and there, but the contrast was much better just with the cement texture, so I left it everywhere.
The rebranded main screen, four days in. Close to how the release looks

The little wrench button in the corner brought you to a very simple level editor that let you place marbles. As you placed marbles, it built a string containing the level and the solution. I eventually added a little clipboard button so you could hop back to the main menu and test a level after copying its level string to the clipboard. From there I spent a few hours drawing and testing levels until I had the 24 "canned" levels that roughly run from trivial (two marbles) to nigh-impossible (19 marbles, I think).
The level editor was just for me, so that wrench-button hides for the release version. It added all of 2K to the game, so I didn't bother cutting it out.
I also got my random level-generator working, which is what you get from the row of buttons along the bottom. I figure if I could randomly generate challenging levels, I didn't need so many "canned" ones. So there are only 24 levels, but you're not stuck once you've beaten 'em all.
After taking the weekend off to carpool the kid to summer camp, I decided my marbles needed some more personality. So I tried the most obvious thing and added little cartoon eyes to 'em. They're actually pretty simple. They have two states (normal and wide-eyed terror), and both pupils are actually a single MovieClip that I tween in whatever direction the marble's moving. If a marble is about to be hit, I switch the eyes to the wide-eyed terror state, and I tween the pupils very small (and that's why the pupils get close together when a marble is about to die. It's actually just one meta-pupil). I added three mouth positions, and I now had marbles that expressed the gamut of emotions from "I'm gonna hit you" to "oh no, I'm gonna be hit" to "Yay, I killed all my friends so I'm happy!"
And I added a random tint to the pupils, so marbles can have green, blue, or brown eyes. That's the sum-total of Marble expressions. As I learned from crafts and cartooning a long time ago, eye shape, eye placement, and pupil placement can impart a lot of personality without a lot of work.
And I put together a little video. It's very close to final form.

Same day as I posted the video, I declared the game finished. I actually had a minor button-graying bug that I have since fixed. But posting updates to app stores is a simple process, just requiring you to upload the updated game and some simple release notes. It's the initial approval that takes the time, so get on that ASAP.
As for app stores, I posted to the iOS store first because it has typically had the longest lead-time (5-7 working days in my experience). Then the Playbook store, which takes 1-2 days to approve. And finally the Android store, which has no approval process, and your game becomes available whenever Google's indexing-bot finds it. Typically an hour. Just as a lark, I signed up for the Amazon and Nook developer programs and got approved for both (because I'm a force in this industry goldurnit). Modifying the Android app for Amazon was pretty simple, just requiring you to point to a different location to download the AIR runtime. The Amazon approval time was about the same as iOS. Maybe a little longer. I didn't watch it too closely.
I still haven't submitted the game to the Nook store, mainly because I've rooted my Nook with CyanogenMod (which is really awesome and makes your Nook into a full tablet), but I'll need to revert back to stock firmware to test.
Submitting to app stores is a bunch of monkey-work. They all need a textual description of your game, which I just wrote once and cut-n-pasted. Screenshots are a pain because every store wants certain sizes, so you can't just whip up a pile of generic screenshots and upload them everywhere. Playbook is easiest because your bitmaps can be any aspect as long as no dimension is bigger than 640 pixels. Android has four sizes that they'll accept, corresponding to the most popular phones and tablets. iOS wants 'em in iPhone and iPad size, and you need to upload both. I have an iPod Touch for testing, so snapping iOS screenshots was easy (power+roundbutton snaps screens to your film-roll). I don't have an iPad, and AIR apps don't work in Apple's "not really an emulator" emulator, so I had to fake those.
You also need icons, both for development and app stores. Icon sizes are all over the place, and I recommend you grab a copy of ImageMagick right away. It's got a command-line utility called "convert" that'll convert a bitmap's size and/or format, and it does a terrific job of retaining detail and transparency. The biggest icon that everybody wants is 512x512, so I just drew a giant icon PNG and then made a batch file that would downsize that mega-icon to the half-dozen other sizes I need (480x480, 128x128, 114x114, 72x72, 57x57, 48x48, 29x29, 36x36, 32x32, 16x16). Every store wants all images in PNG, so get used to using PNG as your file format of choice. I prefer Adobe Fireworks for all my bitmaps and screenshots and such, as it's designed around PNG and works with it nicely.
The only other picture you need is a "featured" image for Android and Playbook. This is just sort of an advertising picture. You can see one as my big main title picture here. Android and Playbook want 'em in various sizes, but generally around 16x9 aspect. My best advice is to make a giant bitmap at least 1200 wide with a healthy amount of whitespace around the edge that you can crop and resize without much stretching. As you can see in my Android Market shot, there's plenty of yellow on either side of the marbles, as this particular one has around a 2/1 aspect ratio.

If you want to check out how Marble Bump looks in the four app stores, head over to my newly-updated mobile site at m.thecodezone.com and click on the four app-store buttons under the game.
And I'll make the same deal here as I made on FaceTwitterBookPlus. If you review my game, I'll reimburse you for the buck you paid for the game via Paypal :)

## Idea to app store(s) in two weeks

First off, if you don't have me circled on G+, I'm at gplus.to/johnhattan. I've been liveblogging the process there. If you don't have a G+ invite, my invite link is here. I only have 145 of my original 150 invites left, so get in now

I had an idea for another simple particle-collision game, and this time I decided to see how quickly I could get the game from concept to app stores. And it happened in two weeks, one week of which was waiting for approvals.

Originally I planned for it to be an atomic-particle-colliding motif, not unlike Meltdown. After some back and forth with the community, I went with the name "Particlusion" (particle+fusion). I wasn't completely in love with the name, but it worked and wasn't in use anywhere else. And I quickly mocked up a menu screen.

The original eye-searing Tron-ish main menu

I even made a cool animation for the main screen when I had a couple minutes of downtime.

Then I started on the mechanic. The mechanic was quite simple (slide objects into other objects. If one object is left, you win), and you could even build some fairly challenging random levels by following some simple rules. This is unlike something like Bulldozer (aka Sokoban), where it's nigh impossible to randomly generate a decently challenging level. There's less "depth" than Sokoban (which is a mean feat, as Sokoban's depth is itself limited), but it was intended from the onset to be something quick and cheap.

Fast-forward a couple of days, and I was looking for some inspiration for my little colliding particles. I was thinking of some little nondescript spheres like in Meltdown when I came across some old marble clipart. I pasted a couple in, and it just fit. In fact, they fit so well that I decided to change the motif to marbles. A little name-check and "Marble Bump" was born. I originally planned to have the marbles on grass with a sidewalk texture here and there, but the contrast was much better just with the cement texture, so I left it everywhere.

The rebranded main screen, four days in. Close to how the release looks

The little wrench button in the corner brought you to a very simple level editor that let you place marbles. As you placed marbles, it built a string containing the level and the solution. I eventually added a little clipboard button so you could hop back to the main menu and test a level after copying its level string to the clipboard. From there I spent a few hours drawing and testing levels until I had the 24 "canned" levels that roughly run from trivial (two marbles) to nigh-impossible (19 marbles, I think).

The level editor was just for me, so that wrench-button hides for the release version. It added all of 2K to the game, so I didn't bother cutting it out.

I also got my random level-generator working, which is what you get from the row of buttons along the bottom. I figure if I could randomly generate challenging levels, I didn't need so many "canned" ones. So there are only 24 levels, but you're not stuck once you've beaten 'em all.

After taking the weekend off to carpool the kid to summer camp, I decided my marbles needed some more personality. So I tried the most obvious thing and added little cartoon eyes to 'em. They're actually pretty simple. They have two states (normal and wide-eyed terror), and both pupils are actually a single MovieClip that I tween in whatever direction the marble's moving. If a marble is about to be hit, I switch the eyes to the wide-eyed terror state, and I tween the pupils very small (and that's why the pupils get close together when a marble is about to die. It's actually just one meta-pupil). I added three mouth positions, and I now had marbles that expressed the gamut of emotions from "I'm gonna hit you" to "oh no, I'm gonna be hit" to "Yay, I killed all my friends so I'm happy!"

And I added a random tint to the pupils, so marbles can have green, blue, or brown eyes. That's the sum-total of Marble expressions. As I learned from crafts and cartooning a long time ago, eye shape, eye placement, and pupil placement can impart a lot of personality without a lot of work.

And I put together a little video. It's very close to final form.

Same day as I posted the video, I declared the game finished. I actually had a minor button-graying bug that I have since fixed. But posting updates to app stores is a simple process, just requiring you to upload the updated game and some simple release notes. It's the initial approval that takes the time, so get on that ASAP.

As for app stores, I posted to the iOS store first because it has typically had the longest lead-time (5-7 working days in my experience). Then the Playbook store, which takes 1-2 days to approve. And finally the Android store, which has no approval process, and your game becomes available whenever Google's indexing-bot finds it. Typically an hour.And code-signing for iOS and Playbook are a friggin' nightmare that requires enormous amounts of trial-and-error. And even if you get it working, you will NEVER understand it. I'd detail the process, but it makes me cry whenever I do.
Just as a lark, I signed up for the Amazon and Nook developer programs and got approved for both (because I'm a force in this industry goldurnit). Modifying the Android app for Amazon was pretty simple, just requiring you to point to a different location to download the AIR runtime. The Amazon approval time was about the same as iOS. Maybe a little longer. I didn't watch it too closely.

I still haven't submitted the game to the Nook store, mainly because I've rooted my Nook with CyanogenMod (which is really awesome and makes your Nook into a full tablet), but I'll need to revert back to stock firmware to test.

Submitting to app stores is a bunch of monkey-work. They all need a textual description of your game, which I just wrote once and cut-n-pasted.
Marble Bump is an original new puzzle game. It is quite simple, but it is pretty tough to master. At first it appears simple. Just bump marbles together to shatter them, and once you are down to a single marble, you win. And the initial levels are fairly easy, but the game gets tough quickly, and the highest levels are guaranteed to bend your brain. The game comes with 24 levels of increasing difficulty. But you're not done when you have mastered all of the included levels. Marble Bump also comes with an infinite number of randomly-generated levels, so you can tease your brain whenever you want. Have fun
Screenshots are a pain because every store wants certain sizes, so you can't just whip up a pile of generic screenshots and upload them everywhere. Playbook is easiest because your bitmaps can be any aspect as long as no dimension is bigger than 640 pixels. Android has four sizes that they'll accept, corresponding to the most popular phones and tablets. iOS wants 'em in iPhone and iPad size, and you need to upload both. I have an iPod Touch for testing, so snapping iOS screenshots was easy (power+roundbutton snaps screens to your film-roll). I don't have an iPad, and AIR apps don't work in Apple's "not really an emulator" emulator, so I had to fake those.

You also need icons, both for development and app stores. Icon sizes are all over the place, and I recommend you grab a copy of ImageMagick right away. It's got a command-line utility called "convert" that'll convert a bitmap's size and/or format, and it does a terrific job of retaining detail and transparency. The biggest icon that everybody wants is 512x512, so I just drew a giant icon PNG and then made a batch file that would downsize that mega-icon to the half-dozen other sizes I need (480x480, 128x128, 114x114, 72x72, 57x57, 48x48, 29x29, 36x36, 32x32, 16x16). Every store wants all images in PNG, so get used to using PNG as your file format of choice. I prefer Adobe Fireworks for all my bitmaps and screenshots and such, as it's designed around PNG and works with it nicely.

The only other picture you need is a "featured" image for Android and Playbook. This is just sort of an advertising picture. You can see one as my big main title picture here. Android and Playbook want 'em in various sizes, but generally around 16x9 aspect. My best advice is to make a giant bitmap at least 1200 wide with a healthy amount of whitespace around the edge that you can crop and resize without much stretching. As you can see in my Android Market shot, there's plenty of yellow on either side of the marbles, as this particular one has around a 2/1 aspect ratio.

If you want to check out how Marble Bump looks in the four app stores, head over to my newly-updated mobile site at m.thecodezone.com and click on the four app-store buttons under the game.

And I'll make the same deal here as I made on FaceTwitterBookPlus. If you review my game, I'll reimburse you for the buck you paid for the game via Paypal

Source

## AS3 Controls

Still doing my mobile games here. One problem I ran into is with controls. My games aren't very control-heavy, but there are times that I do need to impart a little textual or columnar information to the user (i.e. help and high scores). And I'd really rather not roll my own. And this problem is compounded by Adobe's apparent abandonment of the control model for mobile Flash.

Mind you, the standard AS3 Flash/Flex controls render fine in mobile apps. Problem is, a lot of the controls are not at all finger-friendly. Some controls, like PushButtons, work fine. After all, clicking a button with a mouse and tapping a button with your finger is the same operation as long as you make the button large enough to accommodate a finger. Some operations though, like scrolling a text-field with a scrollbar, are frustrating. Adobe addressed this on Flex by releasing several finger-friendly controls. But unlike the previous releases of AS3 controls, they didn't keep parity with Flash. If you're using Flash with mobile, and you want controls, you're pretty-much on your own.

I have played around with a couple of the mobile-friendly Flash control sets out there, but none of 'em really set me on fire. Some looked good but looked more like Android than iOS. Some were built around an odd model that made it difficult for me to just say something easy like myTextField = new TextField().

And I understand that it'll take time. The AS3 controls that come with Flash are pretty danged robust and well documented, and you won't be able to duplicate all that functionality in the short term. But I did find this, which I think is pretty interesting.  Rather than write new controls, the author just wrote subclasses for  the touch-unfriendly controls and added touch-friendly events. So, for example, you can now have a TouchDataGrid object that's just the old standard DataGrid control, only the mouse events are overloaded so you can drag in it with your finger to scroll it around.

And that's great for me, because I don't wanna have to mess with controls. I'd much rather create a DataGrid and populate it with high score data than manage all the drawing myself. When I use standard controls, it's usually for stuff that I just want to implement and then ignore so I can work on the game. For example, Help.

Wow, a scrolling text field and an OK button. Don't wanna spend much time on that!

One thing you'll notice is the little scroll-elevator thing on the right side. On iOS and Android, that little scroll indicator only appears when things are actually scrolling. And I don't really like that. Dice-A-Rama actually got down-rated on iTunes because one reviewer stated that there are just a couple sentences of help without a detailed rundown of scoring. And that's not true. There's quite a lot of help and detailed scoring for each game, but you get the impression that there's just one screen because there's no indication that you're looking at a scrolling field and there's more to see. And I do realize that it's an OS sin to go against the One True Mobile Look, but I think it's an equal OS sin to hide from the user that there's more information to be seen. So I'll either leave the scroll indicator on or I'll add some "drag the danged screen to read more help" text.

## AS3 Controls

Still doing my mobile games here. One problem I ran into is with controls. My games aren't very control-heavy, but there are times that I do need to impart a little textual or columnar information to the user (i.e. help and high scores). And I'd really rather not roll my own. And this problem is compounded by Adobe's apparent abandonment of the control model for mobile Flash.

Mind you, the standard AS3 Flash/Flex controls render fine in mobile apps. Problem is, a lot of the controls are not at all finger-friendly. Some controls, like PushButtons, work fine. After all, clicking a button with a mouse and tapping a button with your finger is the same operation as long as you make the button large enough to accommodate a finger. Some operations though, like scrolling a text-field with a scrollbar, are frustrating. Adobe addressed this on Flex by releasing several finger-friendly controls. But unlike the previous releases of AS3 controls, they didn't keep parity with Flash. If you're using Flash with mobile, and you want controls, you're pretty-much on your own.

I have played around with a couple of the mobile-friendly Flash control sets out there, but none of 'em really set me on fire. Some looked good but looked more like Android than iOS. Some were built around an odd model that made it difficult for me to just say something easy like myTextField = new TextField().

And I understand that it'll take time. The AS3 controls that come with Flash are pretty danged robust and well documented, and you won't be able to duplicate all that functionality in the short term. But I did find this, which I think is pretty interesting. Rather than write new controls, the author just wrote subclasses for the touch-unfriendly controls and added touch-friendly events. So, for example, you can now have a TouchDataGrid object that's just the old standard DataGrid control, only the mouse events are overloaded so you can drag in it with your finger to scroll it around.

And that's great for me, because I don't wanna have to mess with controls. I'd much rather create a DataGrid and populate it with high score data than manage all the drawing myself. When I use standard controls, it's usually for stuff that I just want to implement and then ignore so I can work on the game. For example, Help.

Wow, a scrolling text field and an OK button. Don't wanna spend much time on that!

One thing you'll notice is the little scroll-elevator thing on the right side. On iOS and Android, that little scroll indicator only appears when things are actually scrolling. And I don't really like that. Dice-A-Rama actually got down-rated on iTunes because one reviewer stated that there are just a couple sentences of help without a detailed rundown of scoring. And that's not true. There's quite a lot of help and detailed scoring for each game, but you get the impression that there's just one screen because there's no indication that you're looking at a scrolling field and there's more to see. And I do realize that it's an OS sin to go against the One True Mobile Look, but I think it's an equal OS sin to hide from the user that there's more information to be seen. So I'll either leave the scroll indicator on or I'll add some "drag the danged screen to read more help" text.

Source

## Happy Birthday Gamedev!

In honor of Gamedev's 12th birthday, I'm gonna release the design document for my latest game, Dice-A-Rama. Basically it's a game I tried to write in ten days to address the lack of a Yatzy ("Yahtzee" is trademarked) game on the Playbook. Actually it ended up taking about 20 days because I was still building a lot of cross-platform stuff. On the good side, it's now available on the Playbook App Store here and on the iPhone App Store here.

The big ZYNGA logos are because it's a pad of free sticky-notes I got at a game conference a couple of years ago. Stickies and pencils are the only design tools you need.

And yeah, this is kind of a joke. But it does give you a bit of a feel for design. If you're a one-man shop and you have a simple design and you're confident in your ability to implement it, then don't spend much time on design. I wrote my first computer game almost 30 years ago, so design documents come second to getting an idea working while it's still fresh in your mind.

My bug-fixing process is the same. I am never more than two feet from a pad of stickies, and when I find ANYTHING, I quickly write it down. You'll be surprised how many ideas are lost between the time you switch from the game running on the screen back to your text editor.

BTW, "Kismet" is also trademarked, so I went with "Destino". "Kismet" is the Turkish word for "Fate", so I went with the Italian word for "Fate". Get it?

And I ended up dumping the three-column mode. Made the game too long and it also made the cells too small for dinky iPhone and Android screens.