The past two years have been filled with heavy work hours, reducing my writing output to a trickle of my previous productivity. There was a time when I was able to produce a moderate-sized chapter every 3-4 days, consistently, for months. Including R&D time spent writing code, some of which I was not quite prepared for in advance.
It seems like the programming books I worked hardest on sold the fewest copies, while those that I wrote very quickly were bestsellers. For instance, Visual Basic Game Programming for Teens, first published in Jan, 2005, was based on Visual Basic 6.0 and the DirectX type library.
I wrote that book in one month flat, including all of the design work for the sample game, artwork, etc. (The artwork was done by an artist, but I had to convert character animations into sprite sheets). ONE MONTH! Four weeks. My editor at Cengage was a bit freaked out by that because I had promised her the book by October 31, and hadn’t turned anything in by the end of September! I told her I would meet the deadline…somehow. Reason for the delay: Sams’ Black Art of Xbox Mods, which I’d spent all summer working on (including soldering iron to install mod chips into several iterations of the Xbox). It was hard work. By the time I’d finished, I was ready for a straightforward software project, so VB Game Programming for Teens was a sort of “Build Your Own RPG in VB.”
The book I worked hardest on, most time consuming, was Multi-Threaded Game Engine Design. It received a range of review scores because of unrealistic expectations on the part of readers, which may be due to an unfortunate book title. It was a good idea but how can you explore game engine design with threading without building a game engine first? No one wants to read about an existing game engine, they want to build it. Well, readers of this book didn’t so much. I don’t know what they wanted, actually, but I delivered an engine that would let you explore threading in various sections of the game loop, such as the entity manager, 2D renderer, shader renderer, audio system, input system, collision detection system, and so on. But it wasn’t deep enough for the most outspoken readers. I almost had a nervous breakdown from that book. I was dismissed from teaching at UAT on bad terms in the middle of this book, and was finishing up the final chapters on a laptop while travelling. It’s a good book. I’ll never apologize for it. That engine was solid. I used it for a ton of stuff over the years.
The easiest book was probably Video Game Programming for Kids, which sold very, very well, and the VB for Teens book sold on par. For a programming book, it’s rare to sell more than 20,000 copies. Most of them sell in the < 5,000 range. Those two sold 20,000 each. The shortest writing times, the least amount of work and stress, for the biggest return. I don’t know what to make of that. But it causes me to ponder my approach to writing fiction.
I released The Mandate of Earth in early 2015 and it quickly made it into the bestseller ranks alongside authors like Greg Bear and Orson Scott Card. Not bad for an indie with no marketing budget. But, after six months, sales dropped off completely. I’ve learned that this is fairly normal for fiction, especially in a niche market like “hard science fiction,” when sci-fi is already extremely niche. At any rate, that novel was a very long project of mine and I released it more for my own enjoyment than to make money. (It did bring in a good sum, too, while the hype lasted). I’d started that novel in 2003 during my lunch breaks at a job in Phoenix writing code for a healthcare company. 12 years later, after countless hours of revising and formatting (and learning the Kindle and paperback formatting), it was finally out in the world. I probably earned a dollar an hour on that novel, but it wasn’t about the money. That was a bonus. It sold about 1,000 copies (which is either good or bad, depending on your expectations for the indie market). I was thrilled with the sales. I would have enjoyed it if I could have retired–that’s the wish of every indie–but wasn’t expecting even 1,000. So, that was an enjoyable life achievement.
Lately, though, over the past two years, I’ve not been writing code or fiction, I’ve been driving thousands of miles per week in the family business. During that time, I’ve been taking notes. Any idea that occurs to me. The result is a document with 100 pages of story ideas. As soon as I find the time and energy, I’ll get back to writing.
And just to prove to myself that I haven’t lost my mojo, I challenged myself to write a mini-micro-short in a single evening, and pulled it off! I think it’s a pretty cool story about a time traveler who goes back to witness the death of Jesus Christ. I was tempted to post it but I’ll hold off until I figure out what I’m doing with this site, first.
Thanks for stopping by and reading (if you got this far). I would enjoy your comments if you care to share any.