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.
6 thoughts on “Writing Lethargy Due To Overwork”
I’m a huge fan of your Darkbasic Pro Game Programming book. I’m a programmer in other languages, but having started many years ago on a DOS 6.22 computer with qbasic and then quickbasic 4.5 (for the .exe compiler), having a basic programming language that could pull off what Darkbasic did/does made me very excited. I found the book online and purchased it. Then I found your old website and of course now this one. I hope you keep it up and I hope you can find more time to write. I still have the Darkbasic book and if I ever dabble in it still, I still reference that book. It’s the first programming book I read that has an amazing final project. Keep up the good work.
Ah! Look how out of touch I am these days! And I’m not getting notifications, either. Thanks for the great comment. By the way, have you ever heard of QB64? It can compile any old BASIC code, including QB 4.5.
Love all of your coding books. Currently working on the RPG ones with VB and C#.
I have, I’m a huge fan of QB64. I actually needed to whip up a quick program at work once and it was simple, graphics were provided for me, so I threw it together in QB64 and it worked great! I really am so glad the Galleon and the others who work so hard on it have that project alive and well. It’s really funny when I find old qbasic or qb45 source code and run it and it’s so fast you can’t even tell what’s going on, but in my old 386 days it lagged a bit, lol.
Hello Jonathan. I have purchased your DarkBASIC Pro text book and have been thoroughly enjoying your instruction and text book content. Unfortunately the book was missing the companion cd and I cannot locate the content anywhere including your web site. Could you provide this content to me when you have a chance?
I am very excited to move forward on my endeavor to create a game and relive my early teenage years hidden away in my room and typing away on my Atari 800. Those were very happy and exciting times for me.
Thanks in advance.
Thanks for adding DarkBASIC companion files, Jon! I had purchased DarkBASIC on Amazon and it did not have the accompanying CD-ROM. Everyone seems excited about QB64 as well and I will check that out.