I haven’t been writing. Probably haven’t put word to paper in at least two weeks. Normally, this would have me freaking the fuck out, going to see shrinks, getting pills, doing exercises, buying books, studying courses, dissecting plot and premise and buying a flashcard system with 20-sided dice and spinners and software designed to Specifically Help You Write Your Novel in 14 seconds or less. But I haven’t even thought about it.
I have not been writing because I have been coding.
I knew I would get this horrible postpartum depression after I finished my last book. I knew nobody would buy it, no matter how hard I pimped it out. I knew I would not be able to get another project going, and I would enter the downward spiral of over-examining all of my thoughts and ideas, mixed with going to the Amazon royalty page every seven minutes to see if anyone bought the damn book. Same with the lulu royalty page, and the Google Analytics page to see the hits on this site. That’s become the ritual; it used to be that the first thing I’d check, first thing in the morning, was my bank account site, to see if various checks had cleared and I would be able to scrape together seven dollars for some TV dinners to last until payday. Lately, the glass pipe has been that site usage dashboard.
I don’t know when I decided this, but right around when I sent off the PDFs and Kindle files for the book, I decided I really wanted to write an iPhone game. I realize I’m about three years too late to the party, but I felt some sudden urge to dive into one of the game frameworks and write something crazy, or at least do what everyone does and write a tetris or asteroids or pac man clone. I know nothing about this, but I also know too much. When I worked at the big S, we spend a lot of time looking at other developer programs and SDKs and tools, and I knew a lot about what didn’t work. (Side note: there’s nothing more horrible than being locked in a conference room with a dozen middle-aged guys who know nothing about games or social networking sites, who have never played WoW or Mafia Wars and have never signed up for Facebook or twitter, and being forced to come up with million-dollar ideas for patentable games and social networking sites to be produced with no budget and no manpower.)
I downloaded GameSalad and after ten minutes decided that was a stupid system, so I hit the main vein and grabbed XCode and downloaded that giant multi-gig archive of Apple fun. Then I dove straight in without looking, immersed myself in howtos and tutorials and O’Reilly tomes and FAQs. I beat that Hello World like it owed me money and got locked into the Cocos2d framework and started that damn Pac Man clone. Then I found out about tilemaps, and realized it was absolutely imperative to start that strategy RPG for the iPad.
I haven’t checked my royalty crap or web site stats since. I used to hit facebook constantly, and now I’m barely on there, except to log in and delete a bunch of the bullshit academic lit journals I used to add in some hopes of finding readers. I’m still on the web, but instead of picking fights with idiot teabaggers, I’m looking up how to output sorted arrays of keys from an NSMutableDictionary. I have mixed feelings about this; I think my online time makes up some void that results from working from home and not being around people all day. But there’s also been more than a few times where I thought about following some link to read about the latest idiot trying to run for president or whatever, and I thought, “I could either do this, or I could try to figure out which TouchDispatcher has handlers to read multitouch input.” The latter wins every time.
I haven’t worked with C in a while. We mostly use Java at the day job, and there’s some occasional C# and C++ out there, but my usage is limited to finding some function and unfucking the doc comments so the autogenerated API help is readable. It’s been a long time since I sat down and tried to really hack out any kind of C code, but I realized that it was 20 years ago I started learning C, and it all came back fast. What was more amazing is how the Objective C stuff gave me crazy flashbacks to 1992, back when I took C490 and we worked on the NeXT. I spent most of my time in that class beating against Motif and C++ on the Sun workstations, so when I went to the NeXT and used Interface Builder, it was like showing RoboCop to a 14th century farmer. The Objective C syntax seemed really foreign to me at first, but then I started getting the :s and [s and ]s in the right places. I also ran into the usual C barrier of “is this a struct or a pointer to a struct or a pointer to a pointer to an object, and is it getting released here or do I need to retain it” stuff, and really hit the wall with it last weekend. But I think I’m past it, and making some progress.
There’s also a certain nostalgia in writing a game in general. I spent a lot of time way back when with graph paper, filling in squares to make bitmap fonts or maps of dungeons or designs of sprites. Back then, there was only 64K of memory, and stuff like pointers did not exist as far as I knew. (Yes, they did, but not to a 14-year-old in Elkhart, Indiana with no modem.) Now I’m working with a thousand times the clock speed and 4,000 times as much memory, but the core thought process still remains. I’ve got a lot more control over program structure than GOTO and GOSUB, but you still need to think about how those damn ghosts run around the maze by themselves.
There’s a small part of me wondering about when I will write again. I mean, in a practical sense, I keep thinking I need to start a new blog so when I do find out that you can’t dynamically change tiles in an empty CCTMXLayer without crashing, I can write it down and not have to re-research it a month from now. But there’s that bigger question of if I need to get back on the horse and write more books, and if it’s worth it to write books, and if anyone even reads books anymore, and if I want to write books that people want to read, and a flurry of other bullshit I don’t want to think about anymore. I still do have the occasional flashes where I see something and think it would make a great short story. But I’m waking up every morning and immediately thinking about what to code next, and that’s a good feeling.