What Does Plumbing Have To Do With Game Development?

Three shower handlesIn my bathroom, the shower was leaking. I had been fighting with this issue for about five years, which is almost the same amount of time that I’ve been using GameSalad. Then one day, the hot water faucet stopped working. Instead of turning off the water, the handle just went around in circles. The frustration I experienced is similar to the frustration that I’ve been having with Game Development software. It’s a matter of having good tools!

When I first attempted to fix the faucets, I couldn’t get the handles off. Even with all of my might, the thing wouldn’t budge. It wasn’t until I got a faucet puller that I could remove the handles. This strange looking contraption helped me to remove the corroded handles with ease. A better tool not only made the job easier, it helped to make the job possible.

Removing the handles helped with making the shower work a little better. This lasted for about a year or two, but the core of the problem was not resolved. Ultimately, the three stems would have to be replaced. At first, I couldn’t get those out either. I went to Lowes and Home Depot, but I couldn’t get the right tools or even the right replacement parts. I tried removing the stems with a socket wrench, but it was slightly too big. Being a teeny bit off was enough to ruin the project. I’d scream and I’d yell… arrrrgggghhhhh… but the piece wouldn’t budge. I tried using another wrench for leverage, but it just kept sliding off the circular socket wrench. This piece of metal just wasn’t designed for that. It had two slots for a screwdriver, but that didn’t create enough torque for the piece to loosen. It only helped to strip the edges of the stem.

With a significant amount of rage, I managed to get the center stem off. The hot and cold stems were still stuck. I took the loose part to a local hardware store. The problem was quickly identified. I was using the wrong tool. With the right sized wrench, I was able to properly apply leverage and easily twist the remaining stems out of the wall. Now I can enjoy hot showers without drippy faucets.

With the right tool, there was no anger or frustration. I didn’t have to waste time either. I could just get to work. After wasting so much time, the plumbing problem was resolved in minutes. Lately, this is not something I’ve been able to do with game development. I’ve been feeling so discouraged that I’m not even participating. Competition on the various app stores are at an Olympic level. Perfection is demanded. Even the slightest of issues can cause a game to fail. I’ve been fighting with development software more than making great games.

GameSalad – This software is great for making apps quickly, but the created apps collect user data and send it back to GameSalad. I don’t like “Metrics Gathering” in my apps, so I’ve stopped creating apps with this software until Metrics Gathering is removed. The GameSalad roadmap addresses this issue, but the removal of “Metric Gathering” has been stuck at the bottom of the list for quite a while.

Stencyl – This software has great flexibility. With drag-and-drop code blocks – similar to MIT Scratch – Stencyl can also be used to create apps quickly. Custom code can also be added for additional power. But unfortunately, this software feels too bleeding edge. I’ve been having way too many technical issues. My Flash games stopped working and my iOS game just crashes. Like a wrench that slips off a bolt, it’s very frustrating.

Swift – Apple talked up their new programming language at their recent World Wide Developers Conference (WWDC), but all I saw was more work for developers. I already have too many programming languages taking up space in my brain. Also, what good is a programming language that only exports to Mac or iOS? There are many other platforms. Windows, Android, Web, Linux – I can’t just ignore these platforms. I tried that with The Interactive Stencyl Textbook. Creating a Mac / iPad only ebook was detrimental to sales. (I’ve been wasting my time converting the book from .ibooks to .epub and it’s been a lousy experience. Interactive ebook authoring software is another source of frustration for me.)

Xcode – This is surprisingly tedious software from Apple. For a company that is known to make complicated things just work, I hate using their development software. Even if the Swift programming language is easier to use, it’s nowhere near the simplicity of Stencyl or GameSalad. For Android developers, I also found Eclipse to be annoying. It’s not fun to stare at thousands of lines of code. Computers are tools for humans. They should speak our language. It shouldn’t be a dizzying barrage of curly brackets, semi-colons and other rainbow colored characters.

Hype – This software is amazing for HTML5 development. Unfortunately, it’s not specifically designed for app development. I can’t just keep throwing projects in Webkits. It’s limiting. That’s another frustrating part of being a developer. There was a huge rush to kill Flash, but HTML5 wasn’t ready to fill the void. Depending on the platform or browser, certain HTML5 features might not work. While I really like Hype, most HTML5 tools are not as robust as Flash. Getting a website to work on desktop and mobile computers consumes a lot of time. It’s boring and frustrating.

I’m not a plumber, but I could fix a complicated problem with the proper tools. Just as I struggled with the wrong tools to fix a leaky shower, I’m struggling with today’s development tools. Sure, what I have is a lot better than what game developers had in the days of the Atari 2600, but I know the tools can be so much better.