Developer Feature: Ben Goh by Nicholas Tan

In this Developer Feature series, Spiffy talks to up-and-coming developers to learn what makes them tick. For December, we have 35-year-old Ben Goh, a software engineer at Autodesk. He created Asher’s Maze for his son’s birthday, a game released exclusively on the Windows 8 and Windows Phone Store that took a year to develop.

bengoh

Describe yourself in three words.

Approachable, funny, nonsensical.

What motivated you to start building Asher’s Maze?

I tried to build many things before: MP3 player, isometric web game, UI skin engine, 3D turn-based game… but none of those got completed. I realized that they didn’t get done because of a very simple reason — I was building them for myself, but I got attracted to different technologies all the time. Obviously having a moving target did not go too well with delivering something. Until a year ago, I found the “right reason” for me to do the next project — my son Asher.

How did you come up with the idea?

Every time I start a new project, I used to explain to my wife how it is going to be the next big thing. It’s gotten to a point where my wife stops believing in all those things I said. So one day she said to me, “Since you like to write codes so much, why don’t you make a maze game for Asher, as he loves mazes so much?” That was a very simple statement to make, but it was so profound to me that it changed the direction I was heading and dictated the thing I went on to do for the following year!

How did you stay inspired throughout the development process?

If I had built this based on my own interest, I would not have lasted two months. But since I was building something for Asher, I had to complete this, period. I managed to combine my love for game programming and love for my son into fuel that drove the project forward.

What does your son think about the game?

He prefers Temple Run, hahaha. He just turned 4 last month and he’s not good at any game. Of course he would play the maze occasionally, and being a playful boy he’d intentionally go head-on with the monster and lose the game. He knew I made the game for him, and that was all I hoped for.

What’s your process for designing the user journey?

Implement an idea, try it out, refine it, and continue. I did not tell more than a few friends until the game was ready for release (I didn’t want to face the pressure if for some reason I failed to deliver). Naturally I could not get earlier feedback from others, and instinct was my only option. I played the game while developing it and found out a few shortcomings, one of which was the touch interaction. The initial implementation required too much precision which made the maze hard to navigate, so I spent quite a while to develop a predictive algorithm that allowed for more fuzzy touch gestures.

startbluemaze

How long did you take to finish development?

I started the implementation in October 2012, and finished the game shortly after Asher’s birthday in October 2013. So it took a complete year of evenings and weekends!

Why did you choose to release it on Windows 8?

I started programming on Microsoft platforms since the early Win32 time. For me, it is all about the familiarity of Microsoft platforms and the tools it offers. I’ve tried other platforms and other tools, but those just didn’t come close to what Visual Studio has to offer.

How was the process of submitting your app on the Windows App Store?

As with most things, it took quite a while at the beginning. I had to prepare payout account, tax profile and game rating certificates. But generally both submission and certification processes were quite frictionless.

What are your preferred platforms/tools of choice?

Windows 8, Windows Phone 8, DirectX C++, and Visual Studio, hands down.

What tips/tricks would you share with other aspiring game developers?

Game authoring tools like Unity3D have millions of developers, and that’s with good reason — game programming is hard. So use them for much higher productivity.

Tell us something people might be surprised to learn about you.

I choose to take a train to work, leaving the car at home so that I get at least two additional hours per day for more useful things. Sometimes I note down new ideas, other times I wrote down pseudo codes so I could more easily implement them when I get home.

Shown below are the many notes I sketched on my hardcover notebook, these definitely helped reducing the time needed before actual implementation can start.

path-finding icon-sizes divider-texture

What’s next for you?

I was tossing around the idea of making an Real-time Strategy (RTS) game I have in mind, but I guess that will have to be postponed for a while. I passed Asher’s Maze around for friends to try out, and they (most notably Zheng Hao) gave me a lot of useful feedback and great ideas. I’m planning to take some of these and run with them for some time and see where they bring me.

How can people find you if they want to learn more about yourself?

I am always happy to talk game programming, so anyone who is interested can always reach out to me on Facebook (http://fb.com/benglin) or through email at benglin@outlook.com.

If you’re interested in finding out more about Asher’s Maze, visit the links below:

Windows Store / Windows Phone Store / Asher’s Maze Facebook Page

Related Posts

Leave a Reply