Category: Uncategorized

  • Why I Write iPhone Apps

    Well, there’s a bunch of reasons: I like making interesting stuff, it’s great to get a bit of additional income from a hobby, and it’s very rewarding when people write to tell you they like your stuff. But in particular, why do all that on the iPhone? There are several other platforms that would enable all that.

    I think it all boils down to one thing: doing this sort of thing on the iPhone allows me to focus on the stuff I’m interested in. I mean, there are a ton of other considerations when making apps like distribution, commerce, security, etc. — these things need to be worked out, but they aren’t what I’m doing this for. Fortunately, Apple takes care of all these things for you, which means that I can concentrate on drawing the art, creating the interfaces, designing the games … the interesting creative parts.

    When I was a kid, I used to wonder about “the future” a lot. I used to think it’d be all about flying cars and fancy gadgets. Well, flying cars haven’t really made it (although there’s certainly no shortage of gadgets) but even if they had, I think the biggest impact technology had would still be the fact that it enables ordinary people like you and me to create and share their works with everyone else be it silly videos, obscure iPhone apps, or ephemeral random thoughts.

  • Nephew in Town

    Tracy’s sister’s 12 year-old son spent the past week with us and it’s been a bit challenging trying to figure out what he’d enjoy. Swimming pool? Yup. Exploratorium? Mostly. Playing Rock Band on the PS2? Yup. Doing chores for us around the house like vacuuming our living room? Not so much. Still, we have so many chores that he could help out with, I figure he’s gonna like one of them … right?

  • Fixing appdailysales.py

    As an iPhone app developer, I like to keep track of how my apps are doing on a daily basis. They’re not huge sellers or anything (usually like a couple dozen or so total sales per day) but I am curious. On Friday morning, I noticed that Apple slightly modified their iTunes site in such a way that appdailysales.py (the python script that I was using to grab my daily stats) stopped working.

    I checked for updates but didn’t see any. So I spent some time trying to see if I could fix it myself. I don’t know python that well and I know almost nothing about web protocols or forms or what not but after some searching, I found a script that mostly worked from a couple web pages on that topic. So after several hours on Saturday of experimenting, modifying, and coding I finally got it to work again! I also threw in a modification to be able to type your password on the command line invisibly.

    And then I found out that the original author had submitted an update to resolve the main issue just a few minutes after I first checked.

    Ah well, it was still an educational experience and now I know python a bit better. Also, this supports my theory that if you ignore a problem long enough, it eventually goes away. In any case, if anyone’s interested in my version, it’s here.

  • Massively Multiplayer Mayhem

    I used to play a lot of World of Warcraft. I loved just about everything about the whole “Massively Multiplayer Online Roleplaying Game” (MMORPG) genre except for some of the “massively mutliplayer” part. I like people, I really do. But man, something about the anonymity of the internet occasionally brings out the ass in people.

    This recently hit a lot closer to home with my iPhone app, Boom Dice. I just wanted to make a simple little game and I thought it would be neat to incorporate the Open Feint chat system. Unfortunately, all the chat rooms were taken up by 12 and 13 year olds (at least that’s how old they were telling each other they were) being really obnoxious. So I’m probably going to disable chat in the next version.

    But it’s gotten me thinking… I’d really like to someday create a massively multiplayer game (or at least a moderately multiplayer game). Is it possible to do that without it devolving into a giant chat room with usernames like “xxx*PenisMightier*xxx” saying stuff like “ne hot girls wanna cyber? pm me!!!!!!!!”?

  • Test Script

    I found out about a neat plugin called Scrippet from my friend Stephan’s website. (If you’re interested in independent film making, check it out!) The plugin lets you create boxes formatted to look like screenplays. Unfortunately, it doesn’t work if you’re viewing this post from an RSS reader or something like that. But if you actually come to my website, this actually looks like a script:

    [scrippet]
    INT. MACH is sitting at his desk, typing away on his laptop.

    MACH
    Wow, this is going to be awesome! I’m going to write my first script for the blog.
    (beat)
    I wonder what it will be about.

    Moments pass.

    MACH does not come up with anything awesome.

    MACH
    What would Michael Bay do?

    The room EXPLODES.

    THE END
    [/scrippet]

  • Flashback to the 80s, Part II

    I just got back from my high school reunion! It was lots of fun hanging out with old friends and meeting new ones (either significant others of classmates or classmates that I didn’t get to know as well during high school). It’s funny how familiar people are, even after two decades. It got me to thinking how much or little I might have changed. I think I look pretty different from when I was in high school, although I’m pretty much the same size. And personality-wise, I think I’m more outgoing now than I was back then. One thing that hasn’t changed, though, is that I’m still pretty goofy…

  • Flashback to the 80s

    I’m headed to my 20th year high school reunion this weekend, which made me think of Depeche Mode. I was really into them in high school so I dug up this video on YouTube. Oddly enough, I think this is the first time I’ve ever seen this video. Growing up, we didn’t have cable and hence, no MTV. Oh, but I can hear you young whippersnappers asking, “What does MTV have to do with music videos?” Well see, back in my day, MTV used to play music videos. Man, I’m old…

  • applicationWillResignActive

    When you turn off your iPhone while an app is running, that app gets sent an “applicationWillResignActive” message to tell it to stop running things like recurring timers or whatnot. I just recently noticed that a certain exploding dice game does not properly do this when I continued to hear a tick-tick-ticking even after I turned off the phone. So … umm, yeah, make sure your apps don’t do that.

  • Sunburn

    On Sunday, we met up with a bunch of friends and enjoyed a wonderful outdoor concert by the San Francisco Symphony in Dolores Park in San Francisco. The music was fantastic and the weather was great, but I did get a bit sunburned in the process. Note to self: it’s important to apply sunscreen everywhere that’s exposed, not just the places I can reach…

  • Boom Dice AI Faces

    I had one of my friends playtest the game with the new AI for Boom Dice. He liked the AI, but he got a little confused when it came time to picking the AI opponent. Originally, I was just going to have the player tap the corresponding dice type (ie., they’d tap the silver die if they wanted to play the silver opponent).

    But it gets a little confusing between the part where you select an opponent and the part where you select your own dice set. So I decided to put some little character faces on the dice when you’re selecting an opponent to differentiate it. And then I thought, “Hey, there are six sides to each die — how about putting a different expression on each one?” Of course, that’s six times the work but hey, you guys are worth it.

    I haven’t gotten very far with them, but this screenshot gives a rough idea of the direction I’m going in. Click on the thumbnail to see the full size image.