When I became an Indie developer I found that I needed to get away from the computer, get outside, and enjoy my hobbies. So this time I thought I’d share a story about one of my hobbies: flying remote control (RC) helicopters (heli).
I’ve wanted to fly RC helis since I was 16 years old but could never afford them. Then the Chinese started making them and prices dropped dramatically. At the same time, the materials improved making RC Helicopters more durable and reliable. So about 3 years ago I bought my first RC heli.
I started out flying a cheap-o dual rotor heli but I can’t really call it flying, it was more like crashing. The heli would lift off and regardless of which way I pushed the rudder control the heli would spiral out of control into an epic crash tangled in my daughter’s long hair. But I was sold on RC helis at that point and wanted something that would give me a little more control. So I upgraded.
Esky HoneyBee, a single rotor electric ’300-class’ heli full of sky-ripping awesomeness. It was cheap and came ready to fly. I remember the first time I powered it up. The blades were spinning nicely, it began to lift off, and then it suddenly turned on me. It was no longer a cute placid little HoneyBee, it became a demonic wasp from hell! It looked straight at me and made a beeline for my groin! POW!
While crouching in pain I recalled the tag line at the top of each page in the HoneyBee user manual that read
Wounded, I picked up my heli and headed into the kitchen to see what’s broken and surprisingly I was the only one damaged. There was no bleeding but I had a nasty bruise. The HoneyBee (or demonic wasp from hell) sat on the table and calmly looked at me. I could hear it saying, “You’re not such a big tough-man now, are you?”
I spent another full week trying to get the heli into something that looked like a hover but all it did was crash … over and over and over again. Frustrated, I was about to drive to my local hobby store to find out what’s wrong with the heli, “Surely there is something wrong with this bird.” But then I came across Radd’s School of Rotary Flight and I was shocked to learn that the problem was probably me.
Three months later (yes, 3 months), following Radd’s approach, I was able to hold a steady hover. A year later I could (mostly) rip it around the sky. It took great patience and time to learn how the heli responds to my input. I had to master the controls before the heli would do my bidding. I also had to learn the fine art of correcting the heli when it started going out of control.
What Does This Have To Do With Game Dev?
Learning to program a computer is a lot like learning to fly an RC Helicopter, your programs crash over and over again and you’re not sure why. My TRS80 Color Computer II hung so often while running my code that I thought surely there was something wrong with the computer. But of course, it always turned out to be me and some bug I introduced.
Radd’s approach to learning is to take baby steps, make very small changes and master each little step before progressing to the next one. Do the same if you are learning to program, it will give you the skills and knowledge needed to effectively debug your programs, especially as they grow in size and complexity.
That’s me hovering a modified version of the HoneyBee.
Like learning to achieve a stable hover, programming a game brings a level of complexity that takes even more time and patience to master, but baby-steps can get you there. Once you’ve mastered the hover you can move on real-time simulations that are more akin this kind of flying:
Imagine *that* heli headed straight for *your* groin. O.O
Until next time …