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).
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.
So, in the interest of being able to refer people to the site, "the book's companion website" is right here. . .
Beginning Game Programming: A GameDev.net Collection (aka The Orange Book)
Advanced Game Programming: A GameDev.net Collection (aka The Green Book)
Design and Content Creation: A GameDev.net Collection (aka The Black Book)
Business and Production: A GameDev.net Collection (aka The Blue Book)
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.
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.
Thoughts?
Tuesday, October 27, 2009
Gamedev.net collection sample code downloads
Thursday, October 22, 2009
Zip Wars!
I promised more content in the blog, so here's some. . .
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 WinZip 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 PowerArchiver, I decided to put together a little head-to-head.
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.
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.![]()
(click to embiggen)
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.
Here's PowerArchiver opening the same file.![]()
(click to embiggen)
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.
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.
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.
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.
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.
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.
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.
Conclusion
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.
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.
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.
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.
So get one. You'll thank me for it.
Thursday, October 08, 2009
Oh many things
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.
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.
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.
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 "secrets" that gives you access to lots of tweaks, some pointless and some really handy. So that's fixed.
Finally (cover your ears, fanboys), I was able to turn off the 3D in the dock and de-centered it. I gotta agree with Tog 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.
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.
And guess what's now the leftmost icon in MacOS next to the immovable Finder icon. That's right, Firefox.
(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 here).
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.
No problems here.
Tuesday, September 08, 2009
I'm viral again!
Phase 2 of my "viral" word games is now up today. It's. . .
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.
And, like cryptotwit, it's social-enabled. You can play it at http://apps.facebook.com/hangtwit/ 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.
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.
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 john@thecodezone.com
And if you just wanna try a couple of hangtwit games, here are some ready to go.
Here is one I made up this morning. It's fairly easy.
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.
Play a random hard word. Some aren't so hard. Some are nigh impossible.
(I have a few hangman-nightmare words in that list like "strengths", which is a nine-letter word with only one vowel)
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!
Monday, August 24, 2009
of school and bribes
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.
- 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.
- Second day at school, she wrote a play. It's about vampires that make you happy when they bite you. Sounds better than "Twilight".
- Third day of school, she wrote a book with a friend. It's about superheroes.
- Fourth day, she and her friend made the book into a movie screenplay. They'll be filming as soon as they find a camera.
- 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.
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.
Next, I get free stuff.
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.
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?"
And I don't even wanna think about returning a "loaner" diaper. Yecch.
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.
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.
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 Daemon, 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.
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.
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 "Air Mouse and Air Mouse GO Plus" gizmos on my desk that'll be reviewed in a month or so. The manufacturer doesn't want 'em back when I'm done.
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 (1, 2). 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.
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.
Friday, August 14, 2009
I'm viral!
Yikes, 30 days since my last post. I guess that's more reason for you to follow me on twitter (twitter.com/johnhattan).
Anyways, the project-that-cannot-be-named is now named. And its name is cryptotwit.com. It's a game and a website and a facebook app all rolled up in one.
Basically you go to cryptotwit.com (or http://apps.facebook.com/cryptotwit/ 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.
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.
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 :)
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.
In the meantime, here are a couple of puzzles I just posted.
a 140-character twitter-length cryptotwit
a longer and hence easier-to-solve (although harder to see) cryptotwit
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.
Friday, July 10, 2009
Friday braindump
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
http://twitter.com/johnhattan
Otherwise here are the topics.
1. Shelly's got a new job.
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 >$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.
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.
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.
2. New Project
Well, this all started with the Mochiads Word Game Contest. 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.
And Shelly made the mistake of telling me that my idea was brilliant and that I should put everything on hold for it.
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.
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.
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.
3. Casual Connect is Afoot!
I'll be doing Gamedev press for Casual Connect in Seattle later this month. I have about ten requests for interviews, but only about three or four are development related.
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.
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.
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".
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.
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.